Miabot Pro Command Summary

From Merlin Systems Wiki

Miabot Pro full command set for version 3.5 -
( see also Parameter summary )

Miabot Pro command set
   char routine name      descr
   ---- ------------      ------
{basic operations}
   [t]  test              -> robot id string, like "<test#01>"
   [Q]  version 	   -> version string, like "<Miabot Pro OS 2.3>"
(  [#]  dipSwitches       - not included at present )
   [`]  reboot            simulate power-on
   [!]  flashLeds         do led test sequence (like startup)

{speed control commands}
   [-]  setSpeed          [-<byteleft><byteright>] set wheel speeds, binary scaled
   [=]  setSpeedDec       [=<number> <number>] set wheels speeds, decimal
   [s]  stop              like [=0,0])

{wheel encoders access}
   [:]  posOut            read encoder values => "<: llllllllll:rrrrrrrrrr>" (signed long decimal)
                          [:=nn] sets repeat-rate at nn mSecs
   [;]  posSet            write encoder values [;ll,rr] (signed long decimal)

{step (fixed distance) movements}
   [^]  stepForward       step forward (v^ distance)
   [v]  stepBackward      step backward  (v^ distance)
   [<]  stepLeft          rotate left (<> distance)
   [>]  stepRight         rotate right (<> distance)
   [d]  setDist	   get/set step distances
                          [d] show v^ and <> step distances
                          [d?<num>] set - ? is one of {v^<>}
 
   [x]  setRate           get/set step speeds
                          [x] show v^ and <> step speeds
                          [x?<num>] set - ? is one of {v^<>}

   [?]  stopCheck	   step complete check -> <?=0>(stopped) -or- <?=1>(still moving)

{"bigtrack" specified-distance movements}
   [m]  rotateLeft        [m<byte>] rotate left by byte distance ([x<] speed)
   [n]  rotateright       [n<byte>] rotate right by byte distance ([x<] speed)
   [o]  forward           [o<byte>] move forward by byte distance ([xv] speed)
   [p]  backward          [p<byte>] rotate right by byte distance ([xv] speed)
  
{parameter access}
   [.] param              parameter access -
                          [.<name>] read param
                          [.<name>=<value>] write param
                          [.] show all -> ' '=next, '/'=quit, '.'=rest
                          [.=] reset all -> 'Y'=reset, other=quit

{command sequence control - see also Miabot Pro Sequences}
   [$]  clearSeq          erase stored sequence
   [~]  doSeq             start sequence running 
   [+]  addSeqCommand     [+<command...>] add next sequence command
   [w]  waitTime          [w<num>] delay before next command
(  [#]  endSeq          stop sequence - not used at present )

{radio setup - see also Miabot Pro Radio-board Controls)}
   [*]   setRadioName       [*<string>] change Bluetooth module name (normally "mid###")
   [&]   setRadioNumber     [&<string>] change Bluetooth pass-id (normally "1234")
   [#]   sendRadioCommand   [#<string>] send radio command string 
                              ( .#T and .#rs also used )
   [@]   Radcon_SetidCmd    [@xx:xx:xx:xx:xx:xx] set auto-connect id
                              ( where 'xx' are 2-digit hex byte values )
                              ( parameter setting .aEN=1 to enable use )

{voltage inputs}
   [V]   voltsSample      read expansion port voltages (with optional repeating)
                          [V] read current channel
                          [V{<num>}{=<num>}] read and set channel and/or repeat-rate :
                            <num> = 0..7(single)  -or-  '-'(all 8)
                            =<num> is rate
                            N.B. [V=0] or [V=] stops repeating  
{I2c access}
  [i]   I2C_Access        [i<XX>...] read or write bytes from I2C bus :
                            <XX> is hex byte I2C address (upper seven bits = always even value)
                            [iXX?<num>]  read a number of bytes
                            [iXX=<xx> <xx> ...]  write a number of bytes

{servo pulsewidth output}
  [P]   Servo_Access      [P<num> <num> ...] set n pulsewidth outputs 0..255 (up to .ebP)

{I2C remote serial (for MSCcam operation)}
  [T]   Serrmt_SimTx      [T <hex> <hex> ...]  send serial bytes via i2c link
  [R]   Serrmt_SimRx      [R <hex> <hex> ...]  simulate received serial data from i2c
  [X]   Serrmt_TerminalMode    switch to "terminal" mode
  [G]   Serrmt_ReadLog    output + clear event log
  [W]   Serrmt_ReadHWM    read+reset rx- and tx-buffer statistics

{sonar fast-scan command}
  [S]   Sonar_DoScan      do sonar scan (see control params .RG1-4, .rNB etc)

Version Notes

  • 2.2 first sensible release
    • version command was [?]
  • 2.3 i2c [i] and stop-check [?] commands
    • version command becomes [Q]
  • 2.4 added voltage [V]
  • 3.2 added MSCcam support [T] [R] [X] [W] [G] and servo-pulsewidth [P]
  • 3.3 added fast-sonar-read [S]
  • 3.3b added auto-connect operation [@]
  • 3.4a remove debug [\], add encoder-access [:][;]
  • 3.5 reinstate [#] radio-command