void invocation(const ComType com, const uint8_t *data) { switch(((MessageHeader*)data)->fid) { case FID_GET_TEMPERATURE: case FID_SET_TEMPERATURE_CALLBACK_PERIOD: case FID_GET_TEMPERATURE_CALLBACK_PERIOD: case FID_SET_TEMPERATURE_CALLBACK_THRESHOLD: case FID_GET_TEMPERATURE_CALLBACK_THRESHOLD: case FID_SET_DEBOUNCE_PERIOD: case FID_GET_DEBOUNCE_PERIOD: { simple_invocation(com, data); break; } case FID_SET_I2C_MODE: { set_i2c_mode(com, (SetI2CMode*)data); break; } case FID_GET_I2C_MODE: { get_i2c_mode(com, (GetI2CMode*)data); break; } default: { BA->com_return_error(data, sizeof(MessageHeader), MESSAGE_ERROR_CODE_NOT_SUPPORTED, com); break; } } }
void invocation(const ComType com, const uint8_t *data) { switch(((StandardMessage*)data)->header.fid) { case FID_SET_CONFIGURATION: { set_configuration(com, (SetConfiguration*)data); return; } case FID_GET_CONFIGURATION: { get_configuration(com, (GetConfiguration*)data); return; } case FID_SET_CALIBRATION: { set_calibration(com, (SetCalibration*)data); return; } case FID_GET_CALIBRATION: { get_calibration(com, (GetCalibration*)data); return; } default: { simple_invocation(com, data); break; } } if(((StandardMessage*)data)->header.fid > FID_LAST) { BA->com_return_error(data, sizeof(MessageHeader), MESSAGE_ERROR_CODE_NOT_SUPPORTED, com); } }
void invocation(const ComType com, const uint8_t *data) { switch(((MessageHeader*)data)->fid) { case FID_GET_DISTANCE: case FID_GET_VELOCITY: case FID_SET_DISTANCE_CALLBACK_PERIOD: case FID_GET_DISTANCE_CALLBACK_PERIOD: case FID_SET_VELOCITY_CALLBACK_PERIOD: case FID_GET_VELOCITY_CALLBACK_PERIOD: case FID_SET_DISTANCE_CALLBACK_THRESHOLD: case FID_GET_DISTANCE_CALLBACK_THRESHOLD: case FID_SET_VELOCITY_CALLBACK_THRESHOLD: case FID_GET_VELOCITY_CALLBACK_THRESHOLD: case FID_SET_DEBOUNCE_PERIOD: case FID_GET_DEBOUNCE_PERIOD: { simple_invocation(com, data); break; } case FID_SET_MOVING_AVERAGE: { set_moving_average(com, (SetMovingAverage*)data); break; } case FID_GET_MOVING_AVERAGE: { get_moving_average(com, (GetMovingAverage*)data); break; } case FID_SET_MODE: { set_mode(com, (SetMode*)data); break; } case FID_GET_MODE: { get_mode(com, (GetMode*)data); break; } case FID_IS_LASER_ENABLED: { is_laser_enabled(com, (IsLaserEnabled*)data); break; } case FID_ENABLE_LASER: { BC->laser_enabled = true; break; } case FID_DISABLE_LASER: { BC->laser_enabled = false; break; } default: { BA->com_return_error(data, sizeof(MessageHeader), MESSAGE_ERROR_CODE_NOT_SUPPORTED, com); break; } } }
void invocation(const ComType com, const uint8_t *data) { switch(((MessageHeader*)data)->fid) { case FID_GET_HEART_RATE: case FID_SET_HEART_RATE_CALLBACK_PERIOD: case FID_GET_HEART_RATE_CALLBACK_PERIOD: case FID_SET_HEART_RATE_CALLBACK_THRESHOLD: case FID_GET_HEART_RATE_CALLBACK_THRESHOLD: case FID_SET_DEBOUNCE_PERIOD: case FID_GET_DEBOUNCE_PERIOD: { simple_invocation(com, data); break; } case FID_ENABLE_BEAT_CHANGED_CALLBACK: { BC->beat_state_changed_callback_enabled = 1; BA->com_return_setter(com, data); break; } case FID_DISABLE_BEAT_CHANGED_CALLBACK: { BC->beat_state_changed_callback_enabled = 0; BA->com_return_setter(com, data); break; } case FID_IS_BEAT_CHANGED_CALLBACK_ENABLED: { BeatStateChangedCallback bscc; if(BC->beat_state_changed_callback_enabled) { bscc.beat_state_changed_callback_status = 1; } else { bscc.beat_state_changed_callback_status = 0; } BA->send_blocking_with_timeout(&bscc, sizeof(BeatStateChangedCallback), *BA->com_current); break; } default: { BA->com_return_error(data, sizeof(MessageHeader), MESSAGE_ERROR_CODE_NOT_SUPPORTED, com); break; } } }
void invocation(const ComType com, const uint8_t *data) { switch(((SimpleStandardMessage*)data)->header.fid) { case FID_IS_OVER_CURRENT: { is_over_current(com, (StandardMessage*)data); return; } case FID_CALIBRATE: { calibrate(); return; } default: { simple_invocation(com, data); break; } } if(((SimpleStandardMessage*)data)->header.fid > FID_LAST) { BA->com_return_error(data, sizeof(MessageHeader), MESSAGE_ERROR_CODE_NOT_SUPPORTED, com); } }