Q Mode

From STorM32-BGC Wiki
Jump to navigation Jump to search

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)