nova-control-command 0.0.4 → 0.0.5

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.
package/README.md CHANGED
@@ -238,6 +238,16 @@ nova-control> exit
238
238
 
239
239
  ---
240
240
 
241
+ ## Related packages
242
+
243
+ | package | description |
244
+ | --- | --- |
245
+ | [`nova-control-browser`](../nova-control-browser/README.md) | browser ESM module — Web Serial API (Chrome / Edge 89+) |
246
+ | [`nova-control-node`](../nova-control-node/README.md) | Node.js ESM module — `serialport` package |
247
+ | [`nova-control-mcp-server`](../nova-control-mcp-server/README.md) | MCP server — lets an AI assistant control the robot |
248
+
249
+ ---
250
+
241
251
  ## License
242
252
 
243
253
  [MIT License](../../LICENSE.md) © Andreas Rozek
@@ -146,24 +146,24 @@ function S(e = !1) {
146
146
  p = n.port, m = Number(n.baud ?? "9600"), h = n.onError ?? "stop";
147
147
  })), t.command("home").description("send all servos to their home positions").action(async () => {
148
148
  await (await _()).home();
149
- }), t.command("move").description("set one or more servo positions without interrupting the others").option("--shift-to <deg>", "shift head forward (>90°) or back (<90°) — s1").option("--roll-to <deg>", "roll head clockwise (>90°) or counter-clockwise (<90°) — s2").option("--pitch-to <deg>", "pitch head up (>110°) or down (<110°) — s3").option("--rotate-to <deg>", "rotate body around Z-axis — s4").option("--lift-to <deg>", "lift head on secondary axis, range 20°–150° — s5").action(async (e) => {
149
+ }), t.command("move").description("set one or more servo positions without interrupting the others").option("--shift-to <angle>", "shift head forward (>90°) or back (<90°) — s1").option("--roll-to <angle>", "roll head clockwise (>90°) or counter-clockwise (<90°) — s2").option("--pitch-to <angle>", "pitch head up (>110°) or down (<110°) — s3").option("--rotate-to <angle>", "rotate body around Z-axis — s4").option("--lift-to <angle>", "lift head on secondary axis, range 20°–150° — s5").action(async (e) => {
150
150
  let t = {};
151
151
  if (e.shiftTo != null && (t.s1 = Number(e.shiftTo)), e.rollTo != null && (t.s2 = Number(e.rollTo)), e.pitchTo != null && (t.s3 = Number(e.pitchTo)), e.rotateTo != null && (t.s4 = Number(e.rotateTo)), e.liftTo != null && (t.s5 = Number(e.liftTo)), Object.keys(t).length === 0) throw new d("move: specify at least one servo option (--shift-to, --roll-to, --pitch-to, --rotate-to, --lift-to)", u.UsageError);
152
152
  let n = await _();
153
153
  n.State = t, await n.sendServoState();
154
- }), t.command("shift-to").description("shift head forward (>90°) or back (<90°) — s1").argument("<deg>", "target angle in degrees").action(async (e) => {
154
+ }), t.command("shift-to").description("shift head forward (>90°) or back (<90°) — s1").argument("<angle>", "target angle in degrees").action(async (e) => {
155
155
  let t = await _();
156
156
  t.State = { s1: Number(e) }, await t.sendServoState();
157
- }), t.command("roll-to").description("roll head clockwise (>90°) or counter-clockwise (<90°) — s2").argument("<deg>", "target angle in degrees").action(async (e) => {
157
+ }), t.command("roll-to").description("roll head clockwise (>90°) or counter-clockwise (<90°) — s2").argument("<angle>", "target angle in degrees").action(async (e) => {
158
158
  let t = await _();
159
159
  t.State = { s2: Number(e) }, await t.sendServoState();
160
- }), t.command("pitch-to").description("pitch head up (>110°) or down (<110°) — s3").argument("<deg>", "target angle in degrees").action(async (e) => {
160
+ }), t.command("pitch-to").description("pitch head up (>110°) or down (<110°) — s3").argument("<angle>", "target angle in degrees").action(async (e) => {
161
161
  let t = await _();
162
162
  t.State = { s3: Number(e) }, await t.sendServoState();
163
- }), t.command("rotate-to").description("rotate body around Z-axis — s4").argument("<deg>", "target angle in degrees").action(async (e) => {
163
+ }), t.command("rotate-to").description("rotate body around Z-axis — s4").argument("<angle>", "target angle in degrees").action(async (e) => {
164
164
  let t = await _();
165
165
  t.State = { s4: Number(e) }, await t.sendServoState();
166
- }), t.command("lift-to").description("lift head on secondary axis, range 20°–150° — s5").argument("<deg>", "target angle in degrees").action(async (e) => {
166
+ }), t.command("lift-to").description("lift head on secondary axis, range 20°–150° — s5").argument("<angle>", "target angle in degrees").action(async (e) => {
167
167
  let t = await _();
168
168
  t.State = { s5: Number(e) }, await t.sendServoState();
169
169
  }), t.command("wait").description("pause for <ms> milliseconds before the next command").argument("<ms>", "duration in milliseconds (non-negative number)").action(async (e) => {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nova-control-command",
3
3
  "description": "CLI for controlling a NOVA DIY Artificial Intelligence Robot by Creoqode",
4
- "version": "0.0.4",
4
+ "version": "0.0.5",
5
5
  "type": "module",
6
6
  "keywords": [
7
7
  "nova",