Firmware description
UM1619
44/56
DocID024383 Rev 1
buffer[4,5,6,7] = target_module.address;
buffer[8] = SERVICE_INPUTS_GET;
buffer[9,10] = CRC16;
After a certain delay from the get command acknowledgment, the PLM module will send the following
frame:
APP_userdata_t frame;
frame.source = SOURCE_PLM / ...;
// Data source PLM, ...
frame.type = APP_SERVICE_FRAME;
frame.len = 2;
frame.error = APP_ERROR_NONE;
frame.broadcast = FALSE;
frame.group = sender.group;
// Device (the one been queried)group
frame.address = sender.address;
// Device (the one been queried)address
frame.data[0] = SERVICE_INPUTS_GET;
// Command echo
frame.data[1] = *sender.inputs_value;
// bit x = set/reset -> input x = set/reset
9) Set module general purpose outputs value
uint8_t *buffer;
buffer[0] = 12;
buffer[1] = APP_SERVICE_FRAME;
buffer[2,3] = target_module.group;
buffer[4,5,6,7] = target_module.address;
buffer[8] = SERVICE_OUTPUTS_SET;
buffer[9] = target.outputs_value;
buffer[10,11] = CRC16;
10) Get module firmware release
uint8_t *buffer;
buffer[0] = 11;
buffer[1] = APP_SERVICE_FRAME;
buffer[2,3] = target_module.group;
buffer[4,5,6,7] = target_module.address;
buffer[8] = SERVICE_FW_REL_GET;
buffer[9,10] = CRC16;
After a certain delay from the get command acknowledgment, the PLM module will send the following
frame:
APP_userdata_t frame;
frame.source = SOURCE_PLM / ...;
// Data source PLM, ...
frame.type = APP_SERVICE_FRAME;
frame.len = 5;
frame.error = APP_ERROR_NONE;
frame.broadcast = FALSE;
frame.group = sender.group;
// Device (the one been queried)group
frame.address = sender.address;
// Device (the one been queried)address
frame.data[0] = SERVICE_FW_REL_GET;
// Command echo
frame.data[1,2] = target_module.firmware_release;
// Module firmware release (x.y)
frame.data[3,4] = target_module.stack_release;
// Stack firmware release (x.y)
11) Get module time clock value
uint8_t *buffer;
buffer[0] = 11;
buffer[1] = APP_SERVICE_FRAME;
buffer[2,3] = target_module.group;
buffer[4,5,6,7] = target_module.address;
buffer[8] = SERVICE_PLM_CLOCK_GET;
buffer[9,10] = CRC16;