icaruspcb-cli 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,12 +19,6 @@ export declare class ApiClient {
19
19
  limit: number;
20
20
  billingPeriod: string;
21
21
  }>;
22
- listMcus(): Promise<Array<{
23
- id: string;
24
- name: string;
25
- family: string;
26
- cores: number;
27
- }>>;
28
22
  listSensors(): Promise<Array<{
29
23
  id: string;
30
24
  name: string;
@@ -32,8 +26,7 @@ export declare class ApiClient {
32
26
  interface: string;
33
27
  }>>;
34
28
  submitSimulation(params: {
35
- mcu: string;
36
- firmware?: string;
29
+ firmware: string;
37
30
  sensors?: string[];
38
31
  replScript?: string;
39
32
  rescScript?: string;
@@ -49,8 +42,7 @@ export declare class ApiClient {
49
42
  }>;
50
43
  generateScripts(params: {
51
44
  prompt: string;
52
- mcuFamily: string;
53
- mcu: string;
45
+ firmware: string;
54
46
  sensors: string[];
55
47
  topologyId?: string;
56
48
  }): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IACd,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIvD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;;IAWvB,OAAO,CAAC,OAAO;YAQD,OAAO;IA0Bf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5D,QAAQ,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlF,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIvF,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI5F,gBAAgB,CAAC,MAAM,EAAE;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtD,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAII,eAAe,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIrC,WAAW,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAGjE;AAED,wBAAgB,YAAY,IAAI,SAAS,CAExC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IACd,UAAU,EAAE,MAAM;gBAAlB,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAIvD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;;IAWvB,OAAO,CAAC,OAAO;YAQD,OAAO;IAyBf,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhD,WAAW,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5D,QAAQ,IAAI,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAIlF,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI5F,gBAAgB,CAAC,MAAM,EAAE;QAC7B,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIxC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;QACtD,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAII,eAAe,CAAC,MAAM,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAIrC,WAAW,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAGjE;AAED,wBAAgB,YAAY,IAAI,SAAS,CAExC"}
@@ -40,7 +40,6 @@ class ApiClient {
40
40
  });
41
41
  if (!res.ok) {
42
42
  const text = await res.text();
43
- // Clean up raw HTML responses
44
43
  const isHtml = text.trimStart().startsWith('<') || (res.headers.get('content-type') || '').includes('text/html');
45
44
  const message = isHtml
46
45
  ? `API unavailable (HTTP ${res.status})`
@@ -68,9 +67,6 @@ class ApiClient {
68
67
  async getUsage() {
69
68
  return this.get('/usage');
70
69
  }
71
- async listMcus() {
72
- return this.get('/mcus');
73
- }
74
70
  async listSensors() {
75
71
  return this.get('/sensors');
76
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+G9D"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2F9D"}
@@ -48,32 +48,27 @@ function registerGenerateCommand(program) {
48
48
  program
49
49
  .command('generate')
50
50
  .description('Generate Renode .repl and .resc scripts')
51
+ .argument('[firmware]', 'Path to firmware .elf file')
51
52
  .option('--prompt <prompt>', 'Generation prompt describing your requirements')
52
- .option('--mcu-family <family>', 'MCU family (e.g., STM32F4, ESP32, nRF52)')
53
- .option('--mcu <mcu>', 'MCU identifier')
54
53
  .option('--sensors <list>', 'Comma-separated sensor list')
55
54
  .option('--topology-id <id>', 'Topology ID for advanced routing')
56
55
  .option('-o, --output <dir>', 'Output directory', './renode')
57
56
  .option('--json', 'Output as JSON')
58
- .action(async (opts) => {
57
+ .action(async (firmwareArg, opts) => {
59
58
  try {
60
59
  const project = (0, store_1.readProjectConfig)();
61
- // Collect required parameters
62
60
  let prompt = opts.prompt;
63
- let mcuFamily = opts.mcuFamily;
64
- let mcu = opts.mcu || project?.mcu;
61
+ let firmware = firmwareArg || project?.firmware;
65
62
  let sensors = opts.sensors?.split(',') || project?.sensors || [];
66
63
  const topologyId = opts.topologyId;
67
64
  // Interactive prompts if missing required fields
68
- if (!prompt || !mcuFamily || !mcu) {
65
+ if (!prompt || !firmware) {
69
66
  if (opts.json) {
70
67
  const missing = [];
71
68
  if (!prompt)
72
69
  missing.push('prompt');
73
- if (!mcuFamily)
74
- missing.push('mcu-family');
75
- if (!mcu)
76
- missing.push('mcu');
70
+ if (!firmware)
71
+ missing.push('firmware');
77
72
  (0, output_1.printJsonError)(`Missing required parameters: ${missing.join(', ')}`);
78
73
  process.exit(1);
79
74
  }
@@ -85,38 +80,22 @@ function registerGenerateCommand(program) {
85
80
  when: !prompt,
86
81
  validate: (v) => v.trim().length > 0 || 'Prompt is required',
87
82
  },
88
- {
89
- type: 'list',
90
- name: 'mcuFamily',
91
- message: 'Select MCU family:',
92
- when: !mcuFamily,
93
- choices: ['STM32F4', 'STM32F1', 'STM32F7', 'STM32H7', 'STM32L4', 'ESP32', 'nRF52', 'ATSAMD', 'RP2040', 'Other'],
94
- },
95
- {
96
- type: 'input',
97
- name: 'mcuFamilyCustom',
98
- message: 'Enter MCU family:',
99
- when: (a) => !mcuFamily && a.mcuFamily === 'Other',
100
- validate: (v) => v.trim().length > 0 || 'MCU family is required',
101
- },
102
83
  {
103
84
  type: 'input',
104
- name: 'mcu',
105
- message: 'Enter MCU identifier:',
106
- when: !mcu,
107
- validate: (v) => v.trim().length > 0 || 'MCU identifier is required',
85
+ name: 'firmware',
86
+ message: 'Path to firmware .elf file:',
87
+ when: !firmware,
88
+ validate: (v) => v.trim().length > 0 || 'Firmware path is required',
108
89
  },
109
90
  ]);
110
91
  prompt = prompt || answers.prompt;
111
- mcuFamily = mcuFamily || answers.mcuFamilyCustom || answers.mcuFamily;
112
- mcu = mcu || answers.mcu;
92
+ firmware = firmware || answers.firmware;
113
93
  }
114
94
  const outputDir = opts.output || project?.outputDir || './renode';
115
95
  const client = (0, client_1.createClient)();
116
96
  const result = await (0, spinner_1.withSpinner)('Generating Renode scripts...', () => client.generateScripts({
117
97
  prompt: prompt,
118
- mcuFamily: mcuFamily,
119
- mcu: mcu,
98
+ firmware: firmware,
120
99
  sensors,
121
100
  topologyId
122
101
  }));
@@ -126,16 +105,16 @@ function registerGenerateCommand(program) {
126
105
  }
127
106
  // Write files
128
107
  fs.mkdirSync(outputDir, { recursive: true });
129
- const replPath = path.join(outputDir, `${mcu.toLowerCase()}.repl`);
130
- const rescPath = path.join(outputDir, `${mcu.toLowerCase()}.resc`);
108
+ const baseName = path.basename(firmware, '.elf');
109
+ const replPath = path.join(outputDir, `${baseName}.repl`);
110
+ const rescPath = path.join(outputDir, `${baseName}.resc`);
131
111
  fs.writeFileSync(replPath, result.repl);
132
112
  fs.writeFileSync(rescPath, result.resc);
133
113
  (0, output_1.printSuccess)(`Generated ${replPath}`);
134
114
  (0, output_1.printSuccess)(`Generated ${rescPath}`);
135
115
  (0, output_1.printInfo)(`Output directory: ${path.resolve(outputDir)}`);
136
116
  (0, output_1.printInfo)(`Prompt: "${prompt}"`);
137
- (0, output_1.printInfo)(`MCU Family: ${mcuFamily}`);
138
- (0, output_1.printInfo)(`MCU: ${mcu}`);
117
+ (0, output_1.printInfo)(`Firmware: ${firmware}`);
139
118
  if (sensors.length > 0) {
140
119
  (0, output_1.printInfo)(`Sensors: ${sensors.join(', ')}`);
141
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkF1D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkD1D"}
@@ -6,13 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.registerInitCommand = registerInitCommand;
7
7
  const inquirer_1 = __importDefault(require("inquirer"));
8
8
  const store_1 = require("../config/store");
9
- const detect_1 = require("../utils/detect");
10
9
  const output_1 = require("../utils/output");
11
- const POPULAR_MCUS = [
12
- 'STM32F407VG', 'STM32F103C8', 'STM32F746ZG', 'STM32H743ZI', 'STM32L476RG',
13
- 'nRF52840', 'nRF52832', 'ESP32', 'ESP32-S3', 'RP2040',
14
- 'ATSAMD21G18', 'ATSAMD51J19', 'ATmega328P', 'LPC1768', 'EFR32MG12',
15
- ];
16
10
  const POPULAR_SENSORS = [
17
11
  'BME280', 'BMP280', 'BME680', 'SHT31', 'HDC1080',
18
12
  'MPU6050', 'LSM6DSO', 'ADXL345', 'LIS3DH', 'BNO055',
@@ -31,32 +25,11 @@ function registerInitCommand(program) {
31
25
  .option('--json', 'Output as JSON')
32
26
  .action(async (opts) => {
33
27
  try {
34
- const detected = (0, detect_1.detectMcu)();
35
- if (detected.mcu) {
36
- (0, output_1.printInfo)(`Auto-detected MCU: ${detected.mcu} (from ${detected.source})`);
37
- }
38
- if (detected.ide) {
39
- (0, output_1.printInfo)(`Detected IDE: ${detected.ide === 'vscode' ? 'VS Code' : 'STM32CubeIDE'} (${detected.ideWorkspace})`);
40
- }
41
28
  const answers = await inquirer_1.default.prompt([
42
- {
43
- type: 'list',
44
- name: 'mcu',
45
- message: 'Select your MCU:',
46
- choices: [...POPULAR_MCUS, new inquirer_1.default.Separator(), 'Other (enter manually)'],
47
- default: detected.mcu || 'STM32F407VG',
48
- },
49
- {
50
- type: 'input',
51
- name: 'mcuCustom',
52
- message: 'Enter MCU identifier:',
53
- when: (a) => a.mcu === 'Other (enter manually)',
54
- validate: (v) => v.length > 0 || 'MCU identifier required',
55
- },
56
29
  {
57
30
  type: 'checkbox',
58
31
  name: 'sensors',
59
- message: 'Select sensors to include:',
32
+ message: 'Select sensors to include (optional):',
60
33
  choices: POPULAR_SENSORS,
61
34
  },
62
35
  {
@@ -73,7 +46,6 @@ function registerInitCommand(program) {
73
46
  },
74
47
  ]);
75
48
  const config = {
76
- mcu: answers.mcuCustom || answers.mcu,
77
49
  sensors: answers.sensors,
78
50
  firmware: answers.firmware || undefined,
79
51
  outputDir: answers.outputDir,
@@ -84,18 +56,10 @@ function registerInitCommand(program) {
84
56
  }
85
57
  else {
86
58
  (0, output_1.printSuccess)('Created .icaruspcb.json');
87
- // Provide IDE-specific suggestions
88
- if (detected.ide === 'vscode') {
89
- (0, output_1.printInfo)('VS Code detected! Install the IcarusPCB extension for integrated features.');
90
- (0, output_1.printInfo)('Run: code --install-extension icaruspcb.icaruspcb-vscode');
91
- }
92
- else if (detected.ide === 'stm32cubeide') {
93
- (0, output_1.printInfo)('STM32CubeIDE detected! Consider using VS Code with IcarusPCB extension for enhanced features.');
94
- }
95
59
  (0, output_1.printInfo)('Next steps:');
96
60
  (0, output_1.printInfo)(' 1. Run `icaruspcb login` to authenticate');
97
61
  (0, output_1.printInfo)(' 2. Run `icaruspcb generate` to create Renode scripts');
98
- (0, output_1.printInfo)(' 3. Run `icaruspcb simulate` to test your configuration');
62
+ (0, output_1.printInfo)(' 3. Run `icaruspcb simulate <firmware.elf>` to run a simulation');
99
63
  }
100
64
  }
101
65
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAiBA,kDAkDC;AAlED,wDAAgC;AAChC,2CAAqD;AACrD,4CAAsE;AAEtE,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;IAChD,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IACnD,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IAC7C,QAAQ,EAAE,SAAS,EAAE,SAAS;IAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;IAC5B,SAAS,EAAE,SAAS;IACpB,QAAQ,EAAE,OAAO,EAAE,OAAO;IAC1B,QAAQ,EAAE,UAAU,EAAE,UAAU;IAChC,eAAe,EAAE,iBAAiB;CACnC,CAAC;AAEF,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,uCAAuC;oBAChD,OAAO,EAAE,eAAe;iBACzB;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,gCAAgC;oBACzC,OAAO,EAAE,EAAE;iBACZ;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,yCAAyC;oBAClD,OAAO,EAAE,UAAU;iBACpB;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC;YAEF,IAAA,0BAAkB,EAAC,MAAM,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,IAAA,qBAAY,EAAC,yBAAyB,CAAC,CAAC;gBACxC,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;gBACzB,IAAA,kBAAS,EAAC,4CAA4C,CAAC,CAAC;gBACxD,IAAA,kBAAS,EAAC,wDAAwD,CAAC,CAAC;gBACpE,IAAA,kBAAS,EAAC,kEAAkE,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwD1D"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4B1D"}
@@ -7,35 +7,7 @@ const spinner_1 = require("../utils/spinner");
7
7
  function registerListCommand(program) {
8
8
  const list = program
9
9
  .command('list')
10
- .description('List supported hardware')
11
- .action(() => {
12
- list.outputHelp();
13
- process.exit(0);
14
- });
15
- list
16
- .command('mcus')
17
- .description('List supported MCU families')
18
- .option('--json', 'Output as JSON')
19
- .action(async (opts) => {
20
- try {
21
- const client = (0, client_1.createClient)();
22
- const mcus = await (0, spinner_1.withSpinner)('Fetching MCU list...', () => client.listMcus());
23
- if (opts.json) {
24
- (0, output_1.printJson)(mcus);
25
- return;
26
- }
27
- (0, output_1.printTable)(['ID', 'Name', 'Family', 'Cores'], mcus.map(m => [m.id, m.name, m.family, String(m.cores)]));
28
- }
29
- catch (err) {
30
- if (opts.json) {
31
- (0, output_1.printJsonError)(err.message);
32
- }
33
- else {
34
- (0, output_1.printError)(err.message);
35
- }
36
- process.exit(1);
37
- }
38
- });
10
+ .description('List supported hardware');
39
11
  list
40
12
  .command('sensors')
41
13
  .description('List supported sensors')
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;AAKA,kDA4BC;AAhCD,0CAA6C;AAC7C,4CAAoF;AACpF,8CAA+C;AAE/C,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,IAAI,GAAG,OAAO;SACjB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAE1C,IAAI;SACD,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wBAAwB,CAAC;SACrC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAW,EAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,IAAA,mBAAU,EACR,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EACnC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CACtD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAA,uBAAc,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;iBAAM,CAAC;gBAAC,IAAA,mBAAU,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+E9D"}
1
+ {"version":3,"file":"simulate.d.ts","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2E9D"}
@@ -36,7 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.registerSimulateCommand = registerSimulateCommand;
37
37
  const client_1 = require("../api/client");
38
38
  const store_1 = require("../config/store");
39
- const detect_1 = require("../utils/detect");
40
39
  const fs = __importStar(require("fs"));
41
40
  const output_1 = require("../utils/output");
42
41
  const spinner_1 = require("../utils/spinner");
@@ -47,18 +46,16 @@ function registerSimulateCommand(program) {
47
46
  program
48
47
  .command('simulate')
49
48
  .description('Submit a simulation to the IcarusPCB API')
50
- .option('--mcu <mcu>', 'MCU identifier')
51
- .option('--firmware <path>', 'Path to firmware .elf file')
49
+ .argument('[firmware]', 'Path to firmware .elf file')
52
50
  .option('--sensors <list>', 'Comma-separated sensor list')
53
51
  .option('--timeout <seconds>', 'Max wait time in seconds', '300')
54
52
  .option('--json', 'Output as JSON')
55
- .action(async (opts) => {
53
+ .action(async (firmwareArg, opts) => {
56
54
  try {
57
55
  const project = (0, store_1.readProjectConfig)();
58
- const detected = (0, detect_1.detectMcu)();
59
- const mcu = opts.mcu || project?.mcu || detected.mcu;
60
- if (!mcu) {
61
- const msg = 'No MCU specified. Use --mcu, create .icaruspcb.json, or run in a project directory.';
56
+ const firmware = firmwareArg || opts.firmware || project?.firmware;
57
+ if (!firmware) {
58
+ const msg = 'No firmware file specified. Usage: icaruspcb simulate <firmware.elf>';
62
59
  if (opts.json) {
63
60
  (0, output_1.printJsonError)(msg);
64
61
  }
@@ -67,8 +64,7 @@ function registerSimulateCommand(program) {
67
64
  }
68
65
  process.exit(1);
69
66
  }
70
- const firmware = opts.firmware || project?.firmware;
71
- if (firmware && !fs.existsSync(firmware)) {
67
+ if (!fs.existsSync(firmware)) {
72
68
  const msg = `Firmware file not found: ${firmware}`;
73
69
  if (opts.json) {
74
70
  (0, output_1.printJsonError)(msg);
@@ -80,13 +76,11 @@ function registerSimulateCommand(program) {
80
76
  }
81
77
  const sensors = opts.sensors?.split(',') || project?.sensors || [];
82
78
  const client = (0, client_1.createClient)();
83
- (0, output_1.printInfo)(`MCU: ${mcu}`);
84
- if (firmware)
85
- (0, output_1.printInfo)(`Firmware: ${firmware}`);
79
+ (0, output_1.printInfo)(`Firmware: ${firmware}`);
86
80
  if (sensors.length)
87
81
  (0, output_1.printInfo)(`Sensors: ${sensors.join(', ')}`);
88
82
  const spinner = (0, spinner_1.createSpinner)('Submitting simulation...').start();
89
- const job = await client.submitSimulation({ mcu, firmware, sensors });
83
+ const job = await client.submitSimulation({ firmware, sensors });
90
84
  spinner.succeed(`Job submitted: ${job.jobId}`);
91
85
  const pollSpinner = (0, spinner_1.createSpinner)('Waiting for results...').start();
92
86
  const timeout = parseInt(opts.timeout, 10) * 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../src/commands/simulate.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ export interface IcarusConfig {
7
7
  lastLogin?: string;
8
8
  }
9
9
  export interface ProjectConfig {
10
- mcu: string;
11
10
  sensors: string[];
12
11
  firmware?: string;
13
12
  outputDir?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAGtD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5E"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAYD,wBAAgB,UAAU,IAAI,YAAY,CAOzC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAGtD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAIlC;AAED,wBAAgB,SAAS,IAAI,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAQpE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAG5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,gCAOC;AAED,kCAGC;AAED,kCAIC;AAED,8BAEC;AAED,oCAEC;AAED,sCAEC;AAED,8CAQC;AAED,gDAGC;AA3ED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAkBzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,MAAoB;IAC9C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,WAAW;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,EAAE,CAAC,SAAS,IAAI,uBAAuB,CAAC;AAC/F,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAqB,EAAE,GAAY;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/config/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,gCAOC;AAED,kCAGC;AAED,kCAIC;AAED,8BAEC;AAED,oCAEC;AAED,sCAEC;AAED,8CAQC;AAED,gDAGC;AA1ED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAiBzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,iBAAiB,CAAC;AAEvC,SAAS,eAAe;IACtB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,MAAoB;IAC9C,eAAe,EAAE,CAAC;IAClB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,WAAW;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,UAAU,EAAE,CAAC,MAAM,CAAC;AAC9D,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,UAAU,EAAE,CAAC,SAAS,IAAI,uBAAuB,CAAC;AAC/F,CAAC;AAED,SAAgB,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAqB,EAAE,GAAY;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAC/D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "icaruspcb-cli",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "CLI tool for IcarusPCB — simulate, generate, and validate embedded hardware configurations",
5
5
  "author": "IcarusPCB",
6
6
  "license": "MIT",