samples: net: lwm2m_client: Add an example use of the validation cb
Add an example usage of the validation callback to the lwm2m_client sample. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
This commit is contained in:
parent
31e5ec79b8
commit
d9c7214fab
1 changed files with 21 additions and 0 deletions
|
@ -233,6 +233,25 @@ static int firmware_block_received_cb(uint16_t obj_inst_id,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* An example data validation callback. */
|
||||||
|
static int timer_on_off_validate_cb(uint16_t obj_inst_id, uint16_t res_id,
|
||||||
|
uint16_t res_inst_id, uint8_t *data,
|
||||||
|
uint16_t data_len, bool last_block,
|
||||||
|
size_t total_size)
|
||||||
|
{
|
||||||
|
LOG_INF("Validating On/Off data");
|
||||||
|
|
||||||
|
if (data_len != 1) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (*data > 1) {
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int timer_digital_state_cb(uint16_t obj_inst_id,
|
static int timer_digital_state_cb(uint16_t obj_inst_id,
|
||||||
uint16_t res_id, uint16_t res_inst_id,
|
uint16_t res_id, uint16_t res_inst_id,
|
||||||
uint8_t *data, uint16_t data_len,
|
uint8_t *data, uint16_t data_len,
|
||||||
|
@ -365,6 +384,8 @@ static int lwm2m_setup(void)
|
||||||
|
|
||||||
/* IPSO: Timer object */
|
/* IPSO: Timer object */
|
||||||
lwm2m_engine_create_obj_inst("3340/0");
|
lwm2m_engine_create_obj_inst("3340/0");
|
||||||
|
lwm2m_engine_register_validate_callback("3340/0/5850",
|
||||||
|
timer_on_off_validate_cb);
|
||||||
lwm2m_engine_register_post_write_callback("3340/0/5543",
|
lwm2m_engine_register_post_write_callback("3340/0/5543",
|
||||||
timer_digital_state_cb);
|
timer_digital_state_cb);
|
||||||
lwm2m_engine_set_res_data("3340/0/5750", TIMER_NAME, sizeof(TIMER_NAME),
|
lwm2m_engine_set_res_data("3340/0/5750", TIMER_NAME, sizeof(TIMER_NAME),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue