Q Mode
xQT: QMODE_NT
reads USB and executes command
disables motors
quits when command is executed and restarts STorM32 (wo initializing USB)
c: resets command processor
NTFLASH01: calls do_ntflash(NTBUS_ID_IMU1)
NTFLASH02: calls do_ntflash(NTBUS_ID_IMU2)
NTFLASH04: calls do_ntflash(NTBUS_ID_MOTORPITCH)
NTFLASH05: calls do_ntflash(NTBUS_ID_MOTORROLL)
NTFLASH06: calls do_ntflash(NTBUS_ID_MOTORYAW)
NTFLASH11: calls do_ntflash(NTBUS_ID_LOGGER)
NTFLASH12: calls do_ntflash(NTBUS_ID_IMU3)
NTQMODE01: calls do_ntqmode(NTBUS_ID_IMU1)
NTQMODE02: calls do_ntqmode(NTBUS_ID_IMU2)
NTQMODE04: calls do_ntqmode(NTBUS_ID_MOTORPITCH)
NTQMODE05: calls do_ntqmode(NTBUS_ID_MOTORROLL)
NTQMODE06: calls do_ntqmode(NTBUS_ID_MOTORYAW)
NTQMODE11: calls do_ntqmode(NTBUS_ID_LOGGER)
NTQMODE12: calls do_ntqmode(NTBUS_ID_IMU3)
NTTUNNELWTMO: calls do_nttunnel()
NTQUIT: quits
do_nttunnel()
reads USB and sends to NT bus Tx
reads NT bus Rx and sends to USB
timeouts if first char is not received within 30 secs, or if next char is not received within 2 secs
quits and restarts STorM32 (wo initializing USB) after timeout
do_ntflash()
clears NT bus
sends NT bus FLASH command for specified ID, and then configures NT bus uart to 57600 bps and 8E1
calls do_nttunnel()
restores NT bus uart configuration
do_ntqmode()
sends NT bus QMODE command for specified ID
reads USB and sends to NT bus Tx
reads NT bus Rx and sends to USB
quits upon @Q
xQS: QMODE_STORM32
reads USB and executes command
disables motors
quits when command is executed and restarts STorM32 (wo initializing USB)
c: resets command processor
FLASH: resets the STorM32 and calls the system bootloader
ESPTUNNEL: calls do_esptunnel(0)
ESPFLASH: calls do_esptunnel(1)
UART1TUNNEL: calls do_uart1tunnel(0)
OLEDFLASH: calls do_uart1tunnel(1)
UART1RXTUNNEL: calls do_uart1rxtunnel()
QUIT: quits
do_esptunnel()
if 1: sets ESP into flash mode by pulsing pins accordingly
clears usb, clears uart selected by EspUartConfiguration
reads USB and sends to uart Tx
reads uart Rx and sends to USB
timeouts if first char is not received within 30 secs, or if next char is not received within 2 secs quits and restarts STorM32 (wo initializing USB) after timeout
do_uart1tunnel()
if 1: sends 'FLASH', and then configures uart1 to 57600 bps and 8P1
clears usb, clears uart1
reads USB and sends to uart1 Tx
reads uart1 Rx and sends to USB
timeouts if first char is not received within 30 secs, or if next char is not received within 2 secs quits and restarts STorM32 (wo initializing USB) after timeout
do_uart1rxtunnel()
reads USB and echos to USB
reads uart1 Rx and sends to USB
@a: sets uart1 baudrate to 1200
@b: sets uart1 baudrate to 2400
@c: sets uart1 baudrate to 4800
@d: sets uart1 baudrate to 9600
@e: sets uart1 baudrate to 19200
@f: sets uart1 baudrate to 38400
@g: sets uart1 baudrate to 57600
@h: sets uart1 baudrate to 115200
@Q: quits and restarts STorM32 (wo initializing USB)
xQs: QMODE_STORM32 UART
reads USB and UART, and executes command
disables motors
quits when command is executed and restarts STorM32 (wo initializing USB)
c: resets command processor
FLASH: resets the STorM32 and calls the system bootloader
QUIT: quit
xQB: BlueTooth (QMODE_BT)
reads USB and sends to UART Tx and echos to USB
reads UART Rx and echos to USB
@a: sets UART baudrate to 1200
@b: sets UART baudrate to 2400
@c: sets UART baudrate to 4800
@d: sets UART baudrate to 9600
@e: sets UART baudrate to 19200
@f: sets UART baudrate to 38400
@g: sets UART baudrate to 57600
@h: sets UART baudrate to 115200
@Q: quits and restarts STorM32 (wo initializing USB)