45#ifndef IPSO_CONTROL_TEMPLATE_H_
46#define IPSO_CONTROL_TEMPLATE_H_
50typedef struct ipso_control ipso_control_t;
52#define IPSO_CONTROL_USE_DIMMER 0x01
54typedef lwm2m_status_t (*ipso_control_set_value_t)(ipso_control_t *control,
59 lwm2m_object_instance_t reg_object;
63 uint64_t last_on_time;
64 ipso_control_set_value_t set_value;
67#define IPSO_CONTROL(name, oid, iid, setv) \
68 static ipso_control_t name = { \
69 .reg_object.object_id = oid, \
70 .reg_object.instance_id = iid, \
74int ipso_control_add(ipso_control_t *control);
75int ipso_control_remove(ipso_control_t *control);
78ipso_control_get_object_id(
const ipso_control_t *control)
80 return control->reg_object.object_id;
84ipso_control_get_instance_id(
const ipso_control_t *control)
86 return control->reg_object.instance_id;
90ipso_control_is_on(
const ipso_control_t *control)
92 return (control->value & 0x80) != 0;
96ipso_control_get_value(
const ipso_control_t *control)
98 return (control->value & 0x80) != 0 ? (control->value & 0x7f) : 0;
101lwm2m_status_t ipso_control_set_on(ipso_control_t *control, uint8_t onoroff);
103lwm2m_status_t ipso_control_set_value(ipso_control_t *control, uint8_t dimm_value);
Header file for the Contiki OMA LWM2M engine.