#######################################
# Syntax Coloring Map For DShotRMT
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

DShotRMT	KEYWORD1
DShotCommandManager	KEYWORD1
dshot_mode_t	KEYWORD1
dshot_packet_t	KEYWORD1
dshot_timing_t	KEYWORD1
dshot_commands_t	KEYWORD1
dshot_command_result_t	KEYWORD1
dshot_command_sequence_item_t	KEYWORD1
dshotCommands_e	KEYWORD1
dshotCommandType_e	KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################

# DShotRMT Methods
begin	KEYWORD2
setThrottle	KEYWORD2
sendThrottle	KEYWORD2
sendDShotCommand	KEYWORD2
sendCommand	KEYWORD2
getERPM	KEYWORD2
getMotorRPM	KEYWORD2
getGPIO	KEYWORD2
getDShotPacket	KEYWORD2
is_bidirectional	KEYWORD2
printDShotInfo	KEYWORD2
printCpuInfo	KEYWORD2

# DShotCommandManager Methods
sendCommand	KEYWORD2
sendCommandWithDelay	KEYWORD2
stopMotor	KEYWORD2
set3DMode	KEYWORD2
setSpinDirection	KEYWORD2
saveSettings	KEYWORD2
setExtendedTelemetry	KEYWORD2
requestESCInfo	KEYWORD2
setLED	KEYWORD2
activateBeacon	KEYWORD2
setAudioStreamMode	KEYWORD2
setSilentMode	KEYWORD2
executeSequence	KEYWORD2
executeInitSequence	KEYWORD2
executeCalibrationSequence	KEYWORD2
getCommandName	KEYWORD2
isValidCommand	KEYWORD2
printStatistics	KEYWORD2
resetStatistics	KEYWORD2
getTotalCommandCount	KEYWORD2
getFailedCommandCount	KEYWORD2
getLastExecutionTime	KEYWORD2
printMenu	KEYWORD2
handleMenuInput	KEYWORD2

#######################################
# Constants (LITERAL1)
#######################################

# DShot Modes
DSHOT_OFF	LITERAL1
DSHOT150	LITERAL1
DSHOT300	LITERAL1
DSHOT600	LITERAL1
DSHOT1200	LITERAL1

# DShot Throttle Constants
DSHOT_THROTTLE_FAILSAFE	LITERAL1
DSHOT_THROTTLE_MIN	LITERAL1
DSHOT_THROTTLE_MAX	LITERAL1

# DShot Commands
DSHOT_CMD_MOTOR_STOP	LITERAL1
DSHOT_CMD_BEACON1	LITERAL1
DSHOT_CMD_BEACON2	LITERAL1
DSHOT_CMD_BEACON3	LITERAL1
DSHOT_CMD_BEACON4	LITERAL1
DSHOT_CMD_BEACON5	LITERAL1
DSHOT_CMD_ESC_INFO	LITERAL1
DSHOT_CMD_SPIN_DIRECTION_1	LITERAL1
DSHOT_CMD_SPIN_DIRECTION_2	LITERAL1
DSHOT_CMD_3D_MODE_OFF	LITERAL1
DSHOT_CMD_3D_MODE_ON	LITERAL1
DSHOT_CMD_SETTINGS_REQUEST	LITERAL1
DSHOT_CMD_SAVE_SETTINGS	LITERAL1
DSHOT_CMD_EXTENDED_TELEMETRY_ENABLE	LITERAL1
DSHOT_CMD_EXTENDED_TELEMETRY_DISABLE	LITERAL1
DSHOT_CMD_SPIN_DIRECTION_NORMAL	LITERAL1
DSHOT_CMD_SPIN_DIRECTION_REVERSED	LITERAL1
DSHOT_CMD_LED0_ON	LITERAL1
DSHOT_CMD_LED1_ON	LITERAL1
DSHOT_CMD_LED2_ON	LITERAL1
DSHOT_CMD_LED3_ON	LITERAL1
DSHOT_CMD_LED0_OFF	LITERAL1
DSHOT_CMD_LED1_OFF	LITERAL1
DSHOT_CMD_LED2_OFF	LITERAL1
DSHOT_CMD_LED3_OFF	LITERAL1
DSHOT_CMD_AUDIO_STREAM_MODE_ON_OFF	LITERAL1
DSHOT_CMD_SILENT_MODE_ON_OFF	LITERAL1
DSHOT_CMD_MAX	LITERAL1

# DShot Command Types
DSHOT_CMD_TYPE_INLINE	LITERAL1
DSHOT_CMD_TYPE_BLOCKING	LITERAL1

# Protocol Constants
DSHOT_BITS_PER_FRAME	LITERAL1
DSHOT_SWITCH_TIME	LITERAL1
DSHOT_NULL_PACKET	LITERAL1
DSHOT_RX_TIMEOUT_MS	LITERAL1
GCR_BITS_PER_FRAME	LITERAL1

# RMT Constants
DSHOT_CLOCK_SRC_DEFAULT	LITERAL1
DSHOT_RMT_RESOLUTION	LITERAL1
RMT_BUFFER_SIZE	LITERAL1
RMT_BUFFER_SYMBOLS	LITERAL1
RMT_QUEUE_DEPTH	LITERAL1
DSHOT_PULSE_MIN	LITERAL1
DSHOT_PULSE_MAX	LITERAL1

# Status Constants
DSHOT_OK	LITERAL1
DSHOT_ERROR	LITERAL1
