Help page Teensy 8: Difference between revisions

From Rsewiki
No edit summary
No edit summary
Line 3: Line 3:
==On line help page==
==On line help page==


=== Robot settings ===
==== Robot settings ====
* --        setidx N        Set ID to N (sets robot name) (id=124, part of hbt).
*             setidx N        Set ID to N (sets robot name) (id=124, part of hbt).
* --        setid string    Set device type to string (< 32 chars, is=Robobot).
*             setid string    Set device type to string (< 32 chars, is=Robobot).
* --        sethw N        Set hardware version (is = 8, part of hbt).
*             sethw N        Set hardware version (is = 8, part of hbt).
* --        stop    Stop and set manual mode
*             stop    Stop and set manual mode
* --        start  Start (activate something)
*             start  Start (activate something)
* --        off T  Turn off power (cuts power after T seconds)
*             off T  Turn off power (cuts power after T seconds)
* --        stime us        Set sample time typically around 1000 (> 20) is 1000
*             stime us        Set sample time typically around 1000 (> 20) is 1000
* --        pind pin v [p]  Set pin direction v=1 output, p=1 pull up, p=-1 pull down
*             pind pin v [p]  Set pin direction v=1 output, p=1 pull up, p=-1 pull down
* --        pinv pin v      Set pin to v [0..1]
*             pinv pin v      Set pin to v [0..1]
* --        For all subscriptions ('sub' commands) below, 'N' is the interval in ms
*             For all subscriptions ('sub' commands) below, 'N' is the interval in ms
* --        hbti and 'sub hbt N'    Get time and state 'hbt time idx revision batVolt state hw'
*             hbti and 'sub hbt N'    Get time and state 'hbt time idx revision batVolt state hw'
* --        idi and 'sub id N'      Get device type and name 'name type name'
*             idi and 'sub id N'      Get device type and name 'name type name'
* --        timei and 'sub time N'  sample timing [us] 'time CPU_clk ad_us sensor_us control_us done_us T_us load_o/o'
*             timei and 'sub time N'  sample timing [us] 'time CPU_clk ad_us sensor_us control_us done_us T_us load_o/o'
* --        pini and 'sub pin N'    Get pin value (pin is set by 'pind') 'pin pin value'
*             pini and 'sub pin N'    Get pin value (pin is set by 'pind') 'pin pin value'
* --        autoi and 'sub auto N'  Get value of auto mission  start flag 'start value' value=[0,1].
*             autoi and 'sub auto N'  Get value of auto mission  start flag 'start value' value=[0,1].
=== AD converter ===
==== AD converter ====
* --        adi and 'sub ad N'      Get raw AD values (ir1, ir2, battery, m1 current, m2 current, supply current)
*             adi and 'sub ad N'      Get raw AD values (ir1, ir2, battery, m1 current, m2 current, supply current)
* --        lsi and 'sub ls N'      Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))
*             lsi and 'sub ls N'      Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))
=== USB connection ===
==== USB connection ====  
* --        i V    Interactive: V=1: local echo (is=0) (for use with telnet)
*             i V    Interactive: V=1: local echo (is=0) (for use with telnet)
* --        nocrc V        Allow messages without CRC: V=1: allow (is=0)
*             nocrc V        Allow messages without CRC: V=1: allow (is=0)
* --        silent V        Should USB be silent, if no communication (1=auto silent) silent=1 (pt no effect)
*             silent V        Should USB be silent, if no communication (1=auto silent) silent=1 (pt no effect)
* --        usbi and 'sub usb N'    Get status for USB connection 'usb time inCnt inErr serviced/sec serviceLoopCnt/sec sendFail/sec'
*             usbi and 'sub usb N'    Get status for USB connection 'usb time inCnt inErr serviced/sec serviceLoopCnt/sec sendFail/sec'
Commands available for Robobot Dot -------
==== Commands available for Robobot Dot ====
* --        help    This help text.
*             help    This help text.
* --        veri and 'sub ver N'    get version 'version SVN_rev.x date time'
*             veri and 'sub ver N'    get version 'version SVN_rev.x date time'
AS5x47 encoder -------
==== AS5x47 encoder ====
* --        asi N  Initialize SPI channel N [0..2]
*             asi N  Initialize SPI channel N [0..2]
* --        encof o1 o2 o3  Set encoder offset (is=0, 0, 0)
*             encof o1 o2 o3  Set encoder offset (is=0, 0, 0)
* --        as16 e i R      Get register R value from interface i, disable if e=0 (use as16i to see)
*             as16 e i R      Get register R value from interface i, disable if e=0 (use as16i to see)
* --        asensi and 'sub asens N'        Get encoder status 'asenc s1 s2 s3' 1=available
*             asensi and 'sub asens N'        Get encoder status 'asenc s1 s2 s3' 1=available
* --        asenoi and 'sub aseno N'        Get encoder offset 'aseno o1 o2 o3' in degrees
*             asenoi and 'sub aseno N'        Get encoder offset 'aseno o1 o2 o3' in degrees
* --        asenpi and 'sub asenp N'        Get encoder values 'asenv p1 p2 p3' (angle in degrees)
*             asenpi and 'sub asenp N'        Get encoder values 'asenv p1 p2 p3' (angle in degrees)
* --        asenvi and 'sub asenv N'        Get encoder values 'asenv v1 v2 v3' (velocity in degrees/s)
*             asenvi and 'sub asenv N'        Get encoder values 'asenv v1 v2 v3' (velocity in degrees/s)
* --        asenei and 'sub asene N'        Get encoder error flags 'asene e1 e2 e3' (Hex, see AS5147E doc)
*             asenei and 'sub asene N'        Get encoder error flags 'asene e1 e2 e3' (Hex, see AS5147E doc)
* --        as16i and 'sub as16 N'  Get register values '#reg16 interface, reg, value'
*             as16i and 'sub as16 N'  Get register values '#reg16 interface, reg, value'
Encoder settings -------
==== Encoder settings ====
* --        enc0    Reset pose to (0,0,0)
*             enc0    Reset pose to (0,0,0)
* --        confw rl rr g t wb      Set configuration (radius gear encTick wheelbase)
*             confw rl rr g t wb      Set configuration (radius gear encTick wheelbase)
* --        encrev R        Set motortest reversed encoder (R=0 normal, R=1 reversed)
*             encrev R        Set motortest reversed encoder (R=0 normal, R=1 reversed)
* --                        Normal: motv 3 3 => left enc decrease, right enc increase.
*                             Normal: motv 3 3 => left enc decrease, right enc increase.
* --        enci and 'sub enc N'    Get encoder value 'enc M1 M2' (int32)
*             enci and 'sub enc N'    Get encoder value 'enc M1 M2' (int32)
* --        posei and 'sub pose N'  Get current pose 'pose t x y h' (sec,m,m,rad)
*             posei and 'sub pose N'  Get current pose 'pose t x y h' (sec,m,m,rad)
* --        veli and 'sub vel N'    Get velocity 'left right' (m/s)
*             veli and 'sub vel N'    Get velocity 'left right' (m/s)
* --        confi and 'sub conf N'  Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time, reversed)
*             confi and 'sub conf N'  Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time, reversed)
* --        vemi and 'sub vem N'    Get motor and wheel velocity 'left right left right' (rad/s)
*             vemi and 'sub vem N'    Get motor and wheel velocity 'left right left right' (rad/s)
* --        enei and 'sub ene N'    Get encoder error 'enc NANcount reversed M1err M2err' (int32)
*             enei and 'sub ene N'    Get encoder error 'enc NANcount reversed M1err M2err' (int32)
Line sensor -------
==== Line sensor ====
* --        lip p w h t xth wi s    Set sensor basics p=on, w=white, h=high power, t=tilt comp, xth=cross_th, wi=wide, s=swap
*             lip p w h t xth wi s    Set sensor basics p=on, w=white, h=high power, t=tilt comp, xth=cross_th, wi=wide, s=swap
* --        licw    Use current value as white
*             licw    Use current value as white
* --        licb    Use current value as black
*             licb    Use current value as black
* --        licw w w w w w w w w    Use these values as white
*             licw w w w w w w w w    Use these values as white
* --        licb b b b b b b b b    Use these values as black
*             licb b b b b b b b b    Use these values as black
* --        livi and 'sub liv N'    Get line-sensor raw AD value 'liv ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
*             livi and 'sub liv N'    Get line-sensor raw AD value 'liv ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
* --        liwi and 'sub liw N'    Get line-sensor white (AD) level 'liw w1 w2 w3 w4 w5 w6 w7 w8'
*             liwi and 'sub liw N'    Get line-sensor white (AD) level 'liw w1 w2 w3 w4 w5 w6 w7 w8'
* --        libi and 'sub lib N'    Get line-sensor black (AD) level 'lib b1 b2 b3 b4 b5 b6 b7 b8'
*             libi and 'sub lib N'    Get line-sensor black (AD) level 'lib b1 b2 b3 b4 b5 b6 b7 b8'
* --        ligi and 'sub lig N'    Get line-sensor channel gain 'lig g1 g2 g3 g4 g5 g6 g7 g8'
*             ligi and 'sub lig N'    Get line-sensor channel gain 'lig g1 g2 g3 g4 g5 g6 g7 g8'
* --        livni and 'sub livn N'  Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
*             livni and 'sub livn N'  Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
* --        lipi and 'sub lip N'    Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'
*             lipi and 'sub lip N'    Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'
IR distance -------
==== IR distance ====
* --        irc A1 B1 A2 B2 V      Set calibration values A=13cm value, B=50cm (sensor 1 and 2) V=1 in on
*             irc A1 B1 A2 B2 V      Set calibration values A=13cm value, B=50cm (sensor 1 and 2) V=1 in on
* --        iron V Turn IR sensor on or off V=1 for on (0=off)
*             iron V Turn IR sensor on or off V=1 for on (0=off)
* --        iri and 'sub ir N'      Get IR and calibration data 'ir dist1(m) dist2(m) raw1 raw2 cal1-13 cal1-50 cal2-13 cal2-50 use
*             iri and 'sub ir N'      Get IR and calibration data 'ir dist1(m) dist2(m) raw1 raw2 cal1-13 cal1-50 cal2-13 cal2-50 use
* --        irdi and 'sub ird N'    Get IR distance 'ird dist1(m) dist2(m) sensorOn
*             irdi and 'sub ird N'    Get IR distance 'ird dist1(m) dist2(m) sensorOn
IMU -------
==== IMU ====
* --        gyrocal        Set gyro calibration values (offset[3])
*             gyrocal        Set gyro calibration values (offset[3])
* --        gyroc  Start gyro calibration (finished=1)
*             gyroc  Start gyro calibration (finished=1)
* --        imuon E F M    Enable IMU (E=1), Madgwick (F=1), use magnetometer (M=1)  
*             imuon E F M    Enable IMU (E=1), Madgwick (F=1), use magnetometer (M=1)  
* --        gyroi and 'sub gyro N'  Get calibrated gyro value as 'gyro gx gy gz' (deg/s)
*             gyroi and 'sub gyro N'  Get calibrated gyro value as 'gyro gx gy gz' (deg/s)
* --        gyrooi and 'sub gyroo N'        Get gyro offset 'gyroo ox oy oz'
*             gyrooi and 'sub gyroo N'        Get gyro offset 'gyroo ox oy oz'
* --        acci and 'sub acc N'    Get accelerometer values 'acc ax ay az' (m/s^2)
*             acci and 'sub acc N'    Get accelerometer values 'acc ax ay az' (m/s^2)
* --        gyro0i and 'sub gyro0 N'        Get calibrated gyro value as 'gyro0 gx gy gz' (deg/s) averaged for subscriber
*             gyro0i and 'sub gyro0 N'        Get calibrated gyro value as 'gyro0 gx gy gz' (deg/s) averaged for subscriber
* --        acc0i and 'sub acc0 N'  Get calibrated acc  value as 'acc0 ax ay az' (m/s^2) averaged for subscriber
*             acc0i and 'sub acc0 N'  Get calibrated acc  value as 'acc0 ax ay az' (m/s^2) averaged for subscriber
logger ------
==== logger ====
* --        lognow  start logging now
*             lognow  start logging now
* --        log    Get current log, if any
*             log    Get current log, if any
* --        lfls    Set log flags - same order as lfl
*             lfls    Set log flags - same order as lfl
* --        lsts    Set log interval (for timing info only)
*             lsts    Set log interval (for timing info only)
* --        logmsg  Start log of (all) streamed messages (e.g. subscriptions)
*             logmsg  Start log of (all) streamed messages (e.g. subscriptions)
* --        lfli and 'sub lfl N'    Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
*             lfli and 'sub lfl N'    Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
* --        lsti and 'sub lst N'    Get log status 'lst interval rows rowsMax logSize'
*             lsti and 'sub lst N'    Get log status 'lst interval rows rowsMax logSize'
EE (configuration flash) --------
==== EE (configuration flash) ====
* --        eew    Save configuration to EE-Prom (flash)
*             eew    Save configuration to EE-Prom (flash)
* --        eer    Read configuration from EE-Prom
*             eer    Read configuration from EE-Prom
* --        eeusb  Get current configuration to USB
*             eeusb  Get current configuration to USB
Motor -------
==== Motor ====
* --        motr V  Set motor reversed; V=0 for small motors, V=1 for some big motors
*             motr V  Set motor reversed; V=0 for small motors, V=1 for some big motors
* --        motv m1 m2      Set motor voltage -24.0..24.0 - and enable motors
*             motv m1 m2      Set motor voltage -24.0..24.0 - and enable motors
* --        motfrq  Set motor PWM frequency [100..50000], is 68000
*             motfrq  Set motor PWM frequency [100..50000], is 68000
* --        deadband L R    Set PWM deadband ([0..100%], is left=0.0%, right=0.0%
*             deadband L R    Set PWM deadband ([0..100%], is left=0.0%, right=0.0%
* --        moti and 'sub mot N'    Get motor voltage 'mot m1(V) m2(V) vel_ref1(m/s) vel_ref2(m/s) reversed'
*             moti and 'sub mot N'    Get motor voltage 'mot m1(V) m2(V) vel_ref1(m/s) vel_ref2(m/s) reversed'
* --        motpwmi and 'sub motpwm N'      Get motor direction and PWM 'motpwm dir1 pwm1 dir2 pwm2'
*             motpwmi and 'sub motpwm N'      Get motor direction and PWM 'motpwm dir1 pwm1 dir2 pwm2'
Motor test -------
==== Motor test ====
* --        mottest C M    Start motor test C=0:CV, C=1:CCV, C=-1:stop; M is motor (0..3)
*             mottest C M    Start motor test C=0:CV, C=1:CCV, C=-1:stop; M is motor (0..3)
* --        motset Vlow Vhigh      Motortest voltage Vlow 3-6 Volt, Vhigh > VLow, samples per state (ms).
*             motset Vlow Vhigh      Motortest voltage Vlow 3-6 Volt, Vhigh > VLow, samples per state (ms).
* --        motesti and 'sub motest N'      Get estimated parameters 'motest mot[0,1] cv=0/ccv=1 Km R L B S I
*             motesti and 'sub motest N'      Get estimated parameters 'motest mot[0,1] cv=0/ccv=1 Km R L B S I
* --        motpari and 'sub motpar N'      Get test parameters 'motpars lowVolt highVolt state-time'
*             motpari and 'sub motpar N'      Get test parameters 'motpars lowVolt highVolt state-time'
Motor current -------
==== Motor current ====
* --        mcai and 'sub mca N'    Get motor current 'mca m1 m2' [Amps]
*             mcai and 'sub mca N'    Get motor current 'mca m1 m2' [Amps]
* --        mcoi and 'sub mco N'    Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'
*             mcoi and 'sub mco N'    Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'
* --        scai and 'sub sca N'    Get supply current in 'sca a n' a in amps, averaged over n samples
*             scai and 'sub sca N'    Get supply current in 'sca a n' a in amps, averaged over n samples
Servo ------
==== Servo ====
* --        svos  e p v  e p v ...  set all servos e=enable, p=position +/-1024, v=velocity -1..100,-1=max
*             svos  e p v  e p v ...  set all servos e=enable, p=position +/-1024, v=velocity -1..100,-1=max
* --        servo i p v    set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
*             servo i p v    set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
* --        svoi and 'sub svo N'    get servo configuration 'svo {enabeled pos[0...1000] vel}*5'
*             svoi and 'sub svo N'    get servo configuration 'svo {enabeled pos[0...1000] vel}*5'
Display -------
==== Display ====
* --        disp text      Set a display line text
*             disp text      Set a display line text
* --        dispon V        enable (1) or disable (0) display
*             dispon V        enable (1) or disable (0) display
* --        displayi and 'sub display N'    Get current display text
*             displayi and 'sub display N'    Get current display text
Leds -------
==== Leds ====
* --        leds N R G B    Set LED N to this value (e.g. 14 128 25 254 (LED 14 to purple)
*             leds N R G B    Set LED N to this value (e.g. 14 128 25 254 (LED 14 to purple)
* --        leda N M R G B  Set LEDs from N through M to value (e.g. 14 16 128 25 254 (LED 14,15,16 to purple)
*             leda N M R G B  Set LEDs from N through M to value (e.g. 14 16 128 25 254 (LED 14,15,16 to purple)
* --        ledsi and 'sub leds N'  get leds status 'leds N r g b r g b ...' (N=leds, r,g,b in hex)
*             ledsi and 'sub leds N'  get leds status 'leds N r g b r g b ...' (N=leds, r,g,b in hex)
*  USB host -------
==== USB host ====
* --        usbhost A      Set USB host as active or not A=1 is active
*             usbhost A      Set USB host as active or not A=1 is active
* --        joyn A  Notify on updates
*             joyn A  Notify on updates
* --        joyc A  Changes only
*             joyc A  Changes only
* --        joyaxisi and 'sub joyaxis N'    Get current joystick axis values
*             joyaxisi and 'sub joyaxis N'    Get current joystick axis values
* --        joybuti and 'sub joybut N'      Get current joystick button values
*             joybuti and 'sub joybut N'      Get current joystick button values
* --        joyi and 'sub joy N'    Get joystick message
*             joyi and 'sub joy N'    Get joystick message

Revision as of 19:15, 26 December 2024

Back to Robobot B

On line help page

Robot settings

  • setidx N Set ID to N (sets robot name) (id=124, part of hbt).
  • setid string Set device type to string (< 32 chars, is=Robobot).
  • sethw N Set hardware version (is = 8, part of hbt).
  • stop Stop and set manual mode
  • start Start (activate something)
  • off T Turn off power (cuts power after T seconds)
  • stime us Set sample time typically around 1000 (> 20) is 1000
  • pind pin v [p] Set pin direction v=1 output, p=1 pull up, p=-1 pull down
  • pinv pin v Set pin to v [0..1]
  • For all subscriptions ('sub' commands) below, 'N' is the interval in ms
  • hbti and 'sub hbt N' Get time and state 'hbt time idx revision batVolt state hw'
  • idi and 'sub id N' Get device type and name 'name type name'
  • timei and 'sub time N' sample timing [us] 'time CPU_clk ad_us sensor_us control_us done_us T_us load_o/o'
  • pini and 'sub pin N' Get pin value (pin is set by 'pind') 'pin pin value'
  • autoi and 'sub auto N' Get value of auto mission start flag 'start value' value=[0,1].

AD converter

  • adi and 'sub ad N' Get raw AD values (ir1, ir2, battery, m1 current, m2 current, supply current)
  • lsi and 'sub ls N' Get raw line sensor AD values (n1, n2, ls1 (l,h), ls2 ... ls8, ct1, ct2 (us))

USB connection

  • i V Interactive: V=1: local echo (is=0) (for use with telnet)
  • nocrc V Allow messages without CRC: V=1: allow (is=0)
  • silent V Should USB be silent, if no communication (1=auto silent) silent=1 (pt no effect)
  • usbi and 'sub usb N' Get status for USB connection 'usb time inCnt inErr serviced/sec serviceLoopCnt/sec sendFail/sec'

Commands available for Robobot Dot

  • help This help text.
  • veri and 'sub ver N' get version 'version SVN_rev.x date time'

AS5x47 encoder

  • asi N Initialize SPI channel N [0..2]
  • encof o1 o2 o3 Set encoder offset (is=0, 0, 0)
  • as16 e i R Get register R value from interface i, disable if e=0 (use as16i to see)
  • asensi and 'sub asens N' Get encoder status 'asenc s1 s2 s3' 1=available
  • asenoi and 'sub aseno N' Get encoder offset 'aseno o1 o2 o3' in degrees
  • asenpi and 'sub asenp N' Get encoder values 'asenv p1 p2 p3' (angle in degrees)
  • asenvi and 'sub asenv N' Get encoder values 'asenv v1 v2 v3' (velocity in degrees/s)
  • asenei and 'sub asene N' Get encoder error flags 'asene e1 e2 e3' (Hex, see AS5147E doc)
  • as16i and 'sub as16 N' Get register values '#reg16 interface, reg, value'

Encoder settings

  • enc0 Reset pose to (0,0,0)
  • confw rl rr g t wb Set configuration (radius gear encTick wheelbase)
  • encrev R Set motortest reversed encoder (R=0 normal, R=1 reversed)
  • Normal: motv 3 3 => left enc decrease, right enc increase.
  • enci and 'sub enc N' Get encoder value 'enc M1 M2' (int32)
  • posei and 'sub pose N' Get current pose 'pose t x y h' (sec,m,m,rad)
  • veli and 'sub vel N' Get velocity 'left right' (m/s)
  • confi and 'sub conf N' Get robot conf (radius, radius, gear, pulsPerRev, wheelbase, sample-time, reversed)
  • vemi and 'sub vem N' Get motor and wheel velocity 'left right left right' (rad/s)
  • enei and 'sub ene N' Get encoder error 'enc NANcount reversed M1err M2err' (int32)

Line sensor

  • lip p w h t xth wi s Set sensor basics p=on, w=white, h=high power, t=tilt comp, xth=cross_th, wi=wide, s=swap
  • licw Use current value as white
  • licb Use current value as black
  • licw w w w w w w w w Use these values as white
  • licb b b b b b b b b Use these values as black
  • livi and 'sub liv N' Get line-sensor raw AD value 'liv ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
  • liwi and 'sub liw N' Get line-sensor white (AD) level 'liw w1 w2 w3 w4 w5 w6 w7 w8'
  • libi and 'sub lib N' Get line-sensor black (AD) level 'lib b1 b2 b3 b4 b5 b6 b7 b8'
  • ligi and 'sub lig N' Get line-sensor channel gain 'lig g1 g2 g3 g4 g5 g6 g7 g8'
  • livni and 'sub livn N' Get line-sensor normalized value 'livn ls1 ls2 ls3 ls4 ls5 ls6 ls7 ls8'
  • lipi and 'sub lip N' Get line-sensor position 'lip on wh le leCnt re reCnt ... some more'

IR distance

  • irc A1 B1 A2 B2 V Set calibration values A=13cm value, B=50cm (sensor 1 and 2) V=1 in on
  • iron V Turn IR sensor on or off V=1 for on (0=off)
  • iri and 'sub ir N' Get IR and calibration data 'ir dist1(m) dist2(m) raw1 raw2 cal1-13 cal1-50 cal2-13 cal2-50 use
  • irdi and 'sub ird N' Get IR distance 'ird dist1(m) dist2(m) sensorOn

IMU

  • gyrocal Set gyro calibration values (offset[3])
  • gyroc Start gyro calibration (finished=1)
  • imuon E F M Enable IMU (E=1), Madgwick (F=1), use magnetometer (M=1)
  • gyroi and 'sub gyro N' Get calibrated gyro value as 'gyro gx gy gz' (deg/s)
  • gyrooi and 'sub gyroo N' Get gyro offset 'gyroo ox oy oz'
  • acci and 'sub acc N' Get accelerometer values 'acc ax ay az' (m/s^2)
  • gyro0i and 'sub gyro0 N' Get calibrated gyro value as 'gyro0 gx gy gz' (deg/s) averaged for subscriber
  • acc0i and 'sub acc0 N' Get calibrated acc value as 'acc0 ax ay az' (m/s^2) averaged for subscriber

logger

  • lognow start logging now
  • log Get current log, if any
  • lfls Set log flags - same order as lfl
  • lsts Set log interval (for timing info only)
  • logmsg Start log of (all) streamed messages (e.g. subscriptions)
  • lfli and 'sub lfl N' Get log flags 'lfl mis acc gyro mag motref motv mota enc vel turnr pose line dist batt ex chirp'
  • lsti and 'sub lst N' Get log status 'lst interval rows rowsMax logSize'

EE (configuration flash)

  • eew Save configuration to EE-Prom (flash)
  • eer Read configuration from EE-Prom
  • eeusb Get current configuration to USB

Motor

  • motr V Set motor reversed; V=0 for small motors, V=1 for some big motors
  • motv m1 m2 Set motor voltage -24.0..24.0 - and enable motors
  • motfrq Set motor PWM frequency [100..50000], is 68000
  • deadband L R Set PWM deadband ([0..100%], is left=0.0%, right=0.0%
  • moti and 'sub mot N' Get motor voltage 'mot m1(V) m2(V) vel_ref1(m/s) vel_ref2(m/s) reversed'
  • motpwmi and 'sub motpwm N' Get motor direction and PWM 'motpwm dir1 pwm1 dir2 pwm2'

Motor test

  • mottest C M Start motor test C=0:CV, C=1:CCV, C=-1:stop; M is motor (0..3)
  • motset Vlow Vhigh Motortest voltage Vlow 3-6 Volt, Vhigh > VLow, samples per state (ms).
  • motesti and 'sub motest N' Get estimated parameters 'motest mot[0,1] cv=0/ccv=1 Km R L B S I
  • motpari and 'sub motpar N' Get test parameters 'motpars lowVolt highVolt state-time'

Motor current

  • mcai and 'sub mca N' Get motor current 'mca m1 m2' [Amps]
  • mcoi and 'sub mco N' Get motor current offset (AD: 0..4096) 'mco o1 o2 ad1 ad2'
  • scai and 'sub sca N' Get supply current in 'sca a n' a in amps, averaged over n samples

Servo

  • svos e p v e p v ... set all servos e=enable, p=position +/-1024, v=velocity -1..100,-1=max
  • servo i p v set one servo i=index 1..5, pos +/-1024, v=velocity 0..4000,0=max, 1=sloooow
  • svoi and 'sub svo N' get servo configuration 'svo {enabeled pos[0...1000] vel}*5'

Display

  • disp text Set a display line text
  • dispon V enable (1) or disable (0) display
  • displayi and 'sub display N' Get current display text

Leds

  • leds N R G B Set LED N to this value (e.g. 14 128 25 254 (LED 14 to purple)
  • leda N M R G B Set LEDs from N through M to value (e.g. 14 16 128 25 254 (LED 14,15,16 to purple)
  • ledsi and 'sub leds N' get leds status 'leds N r g b r g b ...' (N=leds, r,g,b in hex)

USB host

  • usbhost A Set USB host as active or not A=1 is active
  • joyn A Notify on updates
  • joyc A Changes only
  • joyaxisi and 'sub joyaxis N' Get current joystick axis values
  • joybuti and 'sub joybut N' Get current joystick button values
  • joyi and 'sub joy N' Get joystick message