###########################################
# Syntax Coloring Map For Dynamixel2Arduino
###########################################

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

Dynamixel2Arduino	KEYWORD1
Master	KEYWORD1
Slave	KEYWORD1
SerialPortHandler	KEYWORD1
USBSerialPortHandler	KEYWORD1

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

# Dynamxiel2Arduino Class
begin	KEYWORD2
getPortBaud	KEYWORD2
ping	KEYWORD2
scan	KEYWORD2
setModelNumber	KEYWORD2
getModelNumber	KEYWORD2
setID	KEYWORD2
setProtocol	KEYWORD2
setBaudrate	KEYWORD2
torqueOn	KEYWORD2
torqueOff	KEYWORD2
ledOn	KEYWORD2
ledOff	KEYWORD2
setOperatingMode	KEYWORD2
setGoalPosition	KEYWORD2
getPresentPosition	KEYWORD2
setGoalVelocity	KEYWORD2
getPresentVelocity	KEYWORD2
setGoalPWM	KEYWORD2
getPresentPWM	KEYWORD2
setGoalCurrent	KEYWORD2
getPresentCurrent	KEYWORD2
readControlTableItem	KEYWORD2
writeControlTableItem	KEYWORD2

# Master Class
setPacketBuffer	KEYWORD2
getPacketBuffer	KEYWORD2
getPacketBufferCapacity	KEYWORD2
setPortProtocolVersion	KEYWORD2
setPortProtocolVersionUsingIndex	KEYWORD2
getPortProtocolVersion	KEYWORD2
setPort	KEYWORD2
getPort	KEYWORD2
ping	KEYWORD2
read	KEYWORD2
write	KEYWORD2
writeNoResp	KEYWORD2
regWrite	KEYWORD2
action	KEYWORD2
factoryReset	KEYWORD2
reboot	KEYWORD2
clear	KEYWORD2
syncWrite	KEYWORD2
syncRead	KEYWORD2
bulkWrite	KEYWORD2
bulkRead	KEYWORD2
getLastStatusPacketError	KEYWORD2
getLastLibErrCode	KEYWORD2
setLastLibErrCode	KEYWORD2
txInstPacket	KEYWORD2
rxStatusPacket	KEYWORD2

# Slave Class
setPacketBuffer	KEYWORD2
getPacketBuffer	KEYWORD2
getPacketBufferCapacity	KEYWORD2
getModelNumber	KEYWORD2
setID	KEYWORD2
getID	KEYWORD2
setFirmwareVersion	KEYWORD2
getFirmwareVersion	KEYWORD2
setPort	KEYWORD2
setPortProtocolVersion	KEYWORD2
setPortProtocolVersionUsingIndex	KEYWORD2
getPortProtocolVersion	KEYWORD2
getPortProtocolVersionIndex	KEYWORD2
setWriteCallbackFunc	KEYWORD2
setReadCallbackFunc	KEYWORD2
getNumCanBeRegistered	KEYWORD2
isEnoughSpaceInControlTable	KEYWORD2
processPacket	KEYWORD2
getLastStatusPacketError	KEYWORD2
getLastLibErrCode	KEYWORD2
addControlItem	KEYWORD2
txInstPacket	KEYWORD2
rxStatusPacket	KEYWORD2

# protocol.h
begin_make_dxl_packet	KEYWORD2
add_param_to_dxl_packet	KEYWORD2
end_make_dxl_packet	KEYWORD2
begin_parse_dxl_packet	KEYWORD2
parse_dxl_packet	KEYWORD2

###########################################
# Structures (KEYWORD3)
###########################################

# Master Class
InfoFromPing_t	KEYWORD3
InfoSyncBulkBuffer_t  KEYWORD3
XELInfoSyncRead_t KEYWORD3
InfoSyncReadInst_t  KEYWORD3
XELInfoSyncWrite_t  KEYWORD3
InfoSyncWriteInst_t KEYWORD3
XELInfoBulkRead_t KEYWORD3
InfoBulkReadInst_t  KEYWORD3
XELInfoBulkWrite_t  KEYWORD3
InfoBulkWriteInst_t KEYWORD3

# protocol.h
InfoToParseDXLPacket_t	KEYWORD3
InfoToMakeDXLPacket_t	KEYWORD3
DXLLibErrorCode_t	KEYWORD3

# Master Class (deprecated)
ParamForSyncReadInst_t	KEYWORD3
ParamForSyncWriteInst_t	KEYWORD3
ParamForBulkReadInst_t	KEYWORD3
ParamForBulkWriteInst_t	KEYWORD3
RecvInfoFromPing_t	KEYWORD3
RecvInfoFromStatusInst_t	KEYWORD3

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

# Dynamixel2Arduino Class (Operting mode)
OP_POSITION	LITERAL1
OP_EXTENDED_POSITION	LITERAL1
OP_CURRENT_BASED_POSITION	LITERAL1
OP_VELOCITY	LITERAL1
OP_PWM	LITERAL1
OP_CURRENT	LITERAL1

# Dynamixel2Arduino Class (Unit)
UNIT_RAW	LITERAL1
UNIT_PERCENT	LITERAL1
UNIT_RPM	LITERAL1
UNIT_DEGREE	LITERAL1
UNIT_MILLI_AMPERE	LITERAL1

# Dynamixel2Arduino Class (Library error code)
D2A_LIB_ERROR_NULLPTR_PORT_HANDLER	LITERAL1
D2A_LIB_ERROR_NOT_SUPPORT_FUNCTION	LITERAL1
D2A_LIB_ERROR_UNKNOWN_MODEL_NUMBER	LITERAL1

# Actuator.h
MODEL_NUMBER	LITERAL1
MODEL_INFORMATION	LITERAL1
FIRMWARE_VERSION	LITERAL1
PROTOCOL_VERSION	LITERAL1
ID	LITERAL1
SECONDARY_ID	LITERAL1
BAUD_RATE	LITERAL1
DRIVE_MODE	LITERAL1
CONTROL_MODE	LITERAL1
OPERATING_MODE	LITERAL1
CW_ANGLE_LIMIT	LITERAL1
CCW_ANGLE_LIMIT	LITERAL1
TEMPERATURE_LIMIT	LITERAL1
MIN_VOLTAGE_LIMIT	LITERAL1
MAX_VOLTAGE_LIMIT	LITERAL1
PWM_LIMIT	LITERAL1
CURRENT_LIMIT	LITERAL1
VELOCITY_LIMIT	LITERAL1
MAX_POSITION_LIMIT	LITERAL1
MIN_POSITION_LIMIT	LITERAL1
ACCELERATION_LIMIT	LITERAL1
MAX_TORQUE	LITERAL1
HOMING_OFFSET	LITERAL1
MOVING_THRESHOLD	LITERAL1
MULTI_TURN_OFFSET	LITERAL1
RESOLUTION_DIVIDER	LITERAL1
EXTERNAL_PORT_MODE_1	LITERAL1
EXTERNAL_PORT_MODE_2	LITERAL1
EXTERNAL_PORT_MODE_3	LITERAL1
EXTERNAL_PORT_MODE_4	LITERAL1
STATUS_RETURN_LEVEL	LITERAL1
RETURN_DELAY_TIME	LITERAL1
ALARM_LED	LITERAL1
SHUTDOWN	LITERAL1

TORQUE_ENABLE	LITERAL1
LED	LITERAL1
LED_RED	LITERAL1
LED_GREEN	LITERAL1
LED_BLUE	LITERAL1
REGISTERED_INSTRUCTION	LITERAL1
HARDWARE_ERROR_STATUS	LITERAL1
VELOCITY_P_GAIN	LITERAL1
VELOCITY_I_GAIN	LITERAL1
POSITION_P_GAIN	LITERAL1
POSITION_I_GAIN	LITERAL1
POSITION_D_GAIN	LITERAL1
FEEDFORWARD_1ST_GAIN	LITERAL1
FEEDFORWARD_2ND_GAIN	LITERAL1
P_GAIN	LITERAL1
I_GAIN	LITERAL1
D_GAIN	LITERAL1
CW_COMPLIANCE_MARGIN	LITERAL1
CCW_COMPLIANCE_MARGIN	LITERAL1
CW_COMPLIANCE_SLOPE	LITERAL1
CCW_COMPLIANCE_SLOPE	LITERAL1
GOAL_PWM	LITERAL1
GOAL_TORQUE	LITERAL1
GOAL_CURRENT	LITERAL1
GOAL_POSITION	LITERAL1
GOAL_VELOCITY	LITERAL1
GOAL_ACCELERATION	LITERAL1
MOVING_SPEED	LITERAL1
PRESENT_PWM	LITERAL1
PRESENT_LOAD	LITERAL1
PRESENT_SPEED	LITERAL1
PRESENT_CURRENT	LITERAL1
PRESENT_POSITION	LITERAL1
PRESENT_VELOCITY	LITERAL1
PRESENT_VOLTAGE	LITERAL1
PRESENT_TEMPERATURE	LITERAL1
TORQUE_LIMIT	LITERAL1
REGISTERED	LITERAL1
MOVING	LITERAL1
LOCK	LITERAL1
PUNCH	LITERAL1
CURRENT	LITERAL1
SENSED_CURRENT	LITERAL1
REALTIME_TICK	LITERAL1
TORQUE_CTRL_MODE_ENABLE	LITERAL1
BUS_WATCHDOG	LITERAL1
PROFILE_ACCELERATION	LITERAL1
PROFILE_VELOCITY	LITERAL1
MOVING_STATUS	LITERAL1
VELOCITY_TRAJECTORY	LITERAL1
POSITION_TRAJECTORY	LITERAL1
PRESENT_INPUT_VOLTAGE	LITERAL1
EXTERNAL_PORT_DATA_1	LITERAL1
EXTERNAL_PORT_DATA_2	LITERAL1
EXTERNAL_PORT_DATA_3	LITERAL1
EXTERNAL_PORT_DATA_4	LITERAL1

# protocol.h
DXL_BROADCAST_ID	LITERAL1
