DocID024383 Rev 1 45/56
UM1619 Firmware description
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_PLM_CLOCK_GET; // Command echo
frame.data[1] = target_module.hours;
frame.data[2] = target_module.minutes;
frame.data[2] = target_module.seconds;
12) Set module general purpose outputs value
uint8_t *buffer;
buffer[0] = 14;
buffer[1] = APP_SERVICE_FRAME;
buffer[2,3] = target_module.group;
buffer[4,5,6,7] = target_module.address;
buffer[8] = SERVICE_PLM_CLOCK_SET;
buffer[9] = target_module.new_hours;
buffer[10] = target_module.new_minutes;
buffer[11] = target_module.new_seconds;
buffer[12,13] = CRC16;
13) User defined service frame
uint8_t *buffer;
buffer[0] = data_buffer_len;
buffer[1] = APP_SERVICE_FRAME;
buffer[2,3] = target_module.group;
buffer[4,5,6,7] = target_module.address;
buffer[8] = (APP_SER_CMD_t)command; // User defined comand in the range: 0x0b -> 0x7f
buffer[9,..n] = service_data[n]; // User service data (if any)
buffer[n+1,n+2] = CRC16; // CRC-16