int deviceAccelerometerGetInterface(unsigned char commandHeader, DeviceInterfaceMode mode, bool fillDeviceArgumentList) { if (commandHeader == COMMAND_ACCELEROMETER_GET_SAMPLE_COUNT) { if (fillDeviceArgumentList) { setFunction("getSampleCount", 0, 1); setResultUnsignedHex4(0, "Sample count"); } return commandLengthValueForMode(mode, 0, 4); } else if (commandHeader == COMMAND_ACCELEROMETER_GET_SAMPLE_RAW_DATA) { if (fillDeviceArgumentList) { setFunction("Sample Raw Data", 0, 5); setResultUnsignedHex4(0, "X Raw Data"); setResultSeparator(1); setResultUnsignedHex4(2, "Y Raw Data"); setResultSeparator(3); setResultUnsignedHex4(4, "Z Raw Data"); } return commandLengthValueForMode(mode, 0, 14); } else if (commandHeader == COMMAND_ACCELEROMETER_GET_SAMPLE_DATA_MILLIG_G) { if (fillDeviceArgumentList) { setFunction("Sample Data MilliG", 0, 5); setResultUnsignedHex4(0, "X (mG)"); setResultSeparator(1); setResultUnsignedHex4(2, "Y (mG)"); setResultSeparator(3); setResultUnsignedHex4(4, "Z (mG)"); } return commandLengthValueForMode(mode, 0, 14); } // TRESHOLD else if (commandHeader == COMMAND_ACCELEROMETER_GET_THRESHOLD) { if (fillDeviceArgumentList) { setFunction("Get Threshold", 0, 1); setResultUnsignedHex4(0, "Threshold (milli G)"); } return commandLengthValueForMode(mode, 0, 4); } else if (commandHeader == COMMAND_ACCELEROMETER_SET_THRESHOLD) { if (fillDeviceArgumentList) { setFunction("Set Threshold", 1, 0); setArgumentUnsignedHex4(0, "Threshold (milliG)"); } return commandLengthValueForMode(mode, 4, 0); } // DEBUG else if (commandHeader == COMMAND_ACCELEROMETER_DEBUG_CONFIG) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("Debug Config"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_ACCELEROMETER_DEBUG_VALUES) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("Debug Values"); } return commandLengthValueForMode(mode, 0, 0); } return DEVICE_HEADER_NOT_HANDLED; }
int deviceStartMatchGetInterface(char commandHeader, DeviceInterfaceMode mode, bool fillDeviceArgumentList) { if (commandHeader == COMMAND_MATCH_IS_STARTED) { if (fillDeviceArgumentList) { setFunction("isStarted", 0, 1); setResultUnsignedHex2(0, "value"); } return commandLengthValueForMode(mode, 0, 2); } else if (commandHeader == COMMAND_MATCH_SET_STARTED) { if (fillDeviceArgumentList) { setFunction("setStarted", 1, 0); setArgumentUnsignedHex2(0, "value"); } return commandLengthValueForMode(mode, 2, 0); } if (commandHeader == COMMAND_STEP_BY_STEP) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("stepByStep"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_START_MATCH_GET_INITIAL_POSITION) { if (fillDeviceArgumentList) { setFunction("getInitialPosition", 1, 7); setArgumentUnsignedHex2(0, "side"); setResultUnsignedHex2(0, "side"); setResultSeparator(1); setResultUnsignedHex4(2, "x (mm)"); setResultSeparator(3); setResultUnsignedHex4(4, "y (mm)"); setResultSeparator(5); setResultUnsignedHex4(6, "angle (mm)"); } return commandLengthValueForMode(mode, 2, 17); } else if (commandHeader == COMMAND_START_MATCH_SET_INITIAL_POSITION) { if (fillDeviceArgumentList) { setFunction("setInitialPosition", 7, 0); setArgumentUnsignedHex2(0, "side"); setArgumentSeparator(1); setArgumentUnsignedHex4(2, "x (mm)"); setArgumentSeparator(3); setArgumentUnsignedHex4(4, "y (mm)"); setArgumentSeparator(5); setArgumentUnsignedHex4(6, "angle (mm)"); } return commandLengthValueForMode(mode, 17, 0); } /* if (mode == DEVICE_MODE_OUTPUT) { if (header == COMMAND_NOTIFY_MATCH_STARTED) { if (fillDeviceArgumentList) { deviceArgumentList->functionName = "notifyMatchStarted"; deviceArgumentList->size = 1; deviceArgumentList->args[0].type = DEVICE_ARG_UNSIGNED_CHAR_3; deviceArgumentList->args[0].name = "XyY"; } return commandLengthValueForMode(mode, 0, 0); } } */ return DEVICE_HEADER_NOT_HANDLED; }
int trajectoryGetInterface(unsigned char commandHeader, DeviceInterfaceMode mode, bool fillDeviceArgumentList) { if (commandHeader == COMMAND_TRAJECTORY_GET_ABSOLUTE_POSITION) { if (fillDeviceArgumentList) { setFunction(GET_ABS_POS_STRING, 0, 5); setResultFloatHex4(0, X_MM); setResultSeparator(1); setResultFloatHex4(2, Y_MM); setResultSeparator(3); setResultUnsignedHex4(4, ANGLE_1_10_DEG); } return commandLengthValueForMode(mode, 0, 14); } else if (commandHeader == COMMAND_TRAJECTORY_DEBUG_GET_ABSOLUTE_POSITION) { // Same return in case of input / output if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult(GET_DEBUG_ABS_POS_STRING); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_TRAJECTORY_DEBUG_CODERS) { // Same return in case of input / output if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("Debug Coders History"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_TRAJECTORY_SET_ABSOLUTE_POSITION) { if (fillDeviceArgumentList) { setFunction(SET_ABS_POS_STRING, 5, 0); setArgumentFloatHex6(0, X_MM); setArgumentSeparator(1); setArgumentFloatHex6(2, Y_MM); setArgumentSeparator(3); setArgumentUnsignedHex4(4, ANGLE_1_10_DEG); } return commandLengthValueForMode(mode, 18, 0); } else if (commandHeader == COMMAND_TRAJECTORY_ADJUST_X) { if (fillDeviceArgumentList) { setFunction("Adjust X", 1, 1); setArgumentFloatHex6(0, X_MM); setResultUnsignedChar1(0, "Done or not"); } return commandLengthValueForMode(mode, 6, 1); } else if (commandHeader == COMMAND_TRAJECTORY_ADJUST_Y) { if (fillDeviceArgumentList) { setFunction("Adjust Y", 1, 1); setArgumentFloatHex6(0, X_MM); setResultUnsignedChar1(0, "Done or not"); } return commandLengthValueForMode(mode, 6, 1); } // NOTIFY PARAMETERS else if (commandHeader == COMMAND_TRAJECTORY_NOTIFY_OFF) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("Notify Off"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_TRAJECTORY_NOTIFY_ON) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("Notify On"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_TRAJECTORY_NOTIFY_SET_PARAMETERS) { if (fillDeviceArgumentList) { setFunction("Notify Set Param", 3, 0); setArgumentFloatHex4(0, "Dist (mm)"); setArgumentSeparator(1); setArgumentFloatHex4(2, "Angle (deciDegree)"); } return commandLengthValueForMode(mode, 9, 0); } // NOTIFICATION if (DEVICE_MODE_NOTIFY == mode) { if (commandHeader == NOTIFY_TRAJECTORY_CHANGED) { if (fillDeviceArgumentList) { setNotification("Trajectory Changed", 7); setArgumentUnsignedHex4(0, "x(mm)"); setArgumentSeparator(1); setArgumentUnsignedHex4(2, "y(mm)"); setArgumentSeparator(3); setArgumentUnsignedHex4(4, "ang(1/10)deg"); setArgumentSeparator(5); setArgumentUnsignedChar1(6, "Trajectory Type"); } return 16; } } return DEVICE_HEADER_NOT_HANDLED; }
int deviceTimerGetInterface(unsigned char commandHeader, DeviceInterfaceMode mode, bool fillDeviceArgumentList) { if (commandHeader == COMMAND_TIMER_LIST) { if (fillDeviceArgumentList) { setFunctionNoArgumentAndNoResult("show Timer List"); } return commandLengthValueForMode(mode, 0, 0); } else if (commandHeader == COMMAND_TIMER_COUNT) { if (fillDeviceArgumentList) { setFunction("timer Count", 0, 1); setResultUnsignedHex2(0, "count"); } return commandLengthValueForMode(mode, 0, 2); } else if (commandHeader == COMMAND_TIMER_READ) { if (fillDeviceArgumentList) { setFunction("timer Read", 1, 13); setArgumentUnsignedHex2(0, "timerIndex"); setResultUnsignedHex2(0, "Index"); setResultSeparator(1); setResultUnsignedHex2(2, "Code"); setResultSeparator(3); setResultUnsignedHex4(4, "Diviser"); setResultSeparator(5); setResultUnsignedHex4(6, "InternalCounter"); setResultSeparator(7); setResultUnsignedHex6(8, "time"); setResultSeparator(9); setResultUnsignedHex6(10, "markTime"); setResultSeparator(11); setResultUnsignedChar1(12, "enabled"); } return commandLengthValueForMode(mode, 2, 31); } else if (commandHeader == COMMAND_TIMER_ENABLE_DISABLE) { if (fillDeviceArgumentList) { setFunction("timer Enable", 3, 0); setArgumentUnsignedHex2(0, "timerIndex"); setArgumentSeparator(1); setArgumentUnsignedChar1(2, "enable/disable"); } return commandLengthValueForMode(mode, 4, 0); } // Mark else if (commandHeader == COMMAND_TIMER_TIME_SINCE_LAST_MARK) { if (fillDeviceArgumentList) { setFunction("time Since Last Mark", 1, 1); setArgumentUnsignedHex2(0, "timerIndex"); setResultUnsignedHex6(0, "mark"); } return commandLengthValueForMode(mode, 2, 6); } else if (commandHeader == COMMAND_TIMER_MARK) { if (fillDeviceArgumentList) { setFunction("mark Timer !", 1, 1); setArgumentUnsignedHex2(0, "timerIndex"); setResultUnsignedHex6(0, "markTime"); } return commandLengthValueForMode(mode, 2, 6); } else if (commandHeader == COMMAND_TIMER_TIMEOUT) { if (fillDeviceArgumentList) { setFunction("timeout check", 3, 3); setArgumentUnsignedHex2(0, "timerIndex"); setArgumentSeparator(1); setArgumentUnsignedHex6(2, "time to check"); setResultUnsignedHex2(0, "timerIndex"); setResultSeparator(1); setResultUnsignedChar1(2, "timeout or not"); } return commandLengthValueForMode(mode, 9, 4); } // Demo else if (commandHeader == COMMAND_TIMER_DEMO) { if (fillDeviceArgumentList) { setFunction("Enable/Disable Timer Demo", 1, 0); setArgumentUnsignedChar1(0, "enable/disable"); } return commandLengthValueForMode(mode, 1, 0); } // wait else if (commandHeader == COMMAND_TIMER_DELAY_WAIT) { if (fillDeviceArgumentList) { setFunction("Timer Delay Wait", 1, 0); setArgumentUnsignedHex4(0, "milli Seconds"); } return commandLengthValueForMode(mode, 4, 0); } return DEVICE_HEADER_NOT_HANDLED; }