Пример #1
0
void zcl_on_off_init(zcl_on_off_attrib_list_t *attrib_list)
{
    // init the data
    attrib_list->data.on_off = false;

    // init the attribs
    zcl_set_attrib(&attrib_list->list[0], ZCL_ON_OFF_ATTRIB, ZCL_TYPE_BOOL, ZCL_ACCESS_READ_WRITE, &attrib_list->data.on_off);
    zcl_set_attrib(&attrib_list->list[1], ZCL_END_MARKER, 0, 0, NULL);
}
Пример #2
0
void zcl_id_init(zcl_id_attrib_list_t *attrib_list)
{
    // init the data values first
    attrib_list->data.id_time = 0;
     
    // init the attribute fields
    zcl_set_attrib(&attrib_list->list[0], ZCL_ID_ATTRIB, ZCL_TYPE_U16, ZCL_ACCESS_READ_WRITE, &attrib_list->data.id_time);
    zcl_set_attrib(&attrib_list->list[1], ZCL_END_MARKER, 0, 0, NULL);

    // init the timer list
    list_init(id_tmr_list);
}
Пример #3
0
void zcl_basic_init(zcl_basic_attrib_list_t *attrib_list)
{
    char *manuf_id  = ZCL_MANUF_ID,
         *model_id  = ZCL_MODEL_ID,
         *date_code = ZCL_DATE_CODE,
         *loc_desc  = ZCL_LOC_DESC;

    // init the data values first
    memset(attrib_list, 0, sizeof(zcl_basic_attrib_list_t));
    attrib_list->data.zcl_ver     = ZCL_VER_NUM;
    attrib_list->data.app_ver     = ZCL_APP_VER_NUM;
    attrib_list->data.stack_ver   = ZCL_STACK_VER_NUM;
    attrib_list->data.hw_ver      = ZCL_HW_VER_NUM;
    attrib_list->data.pwr_src     = ZCL_BASIC_PWR_ENUM_MAINS_SINGLE;
    attrib_list->data.phys_env    = ZCL_BASIC_PHYS_ENV_UNSPECD;
    attrib_list->data.dev_enb     = true;
    attrib_list->data.alarm_msk   = 0;

    // init the string data. these need special processing.
    zcl_set_string_attrib(attrib_list->data.manuf_id, (U8 *)manuf_id, ZCL_MAX_STR_SZ);
    zcl_set_string_attrib(attrib_list->data.model_id, (U8 *)model_id, ZCL_MAX_STR_SZ);
    zcl_set_string_attrib(attrib_list->data.date_code, (U8 *)date_code, ZCL_MAX_STR_SZ/2);
    zcl_set_string_attrib(attrib_list->data.loc_desc, (U8 *)loc_desc, ZCL_MAX_STR_SZ/2);

    // init the attribute fields
    zcl_set_attrib(&attrib_list->list[0],     ZCL_BASIC_VER,          ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.zcl_ver);
    zcl_set_attrib(&attrib_list->list[1],     ZCL_BASIC_APP_VER,      ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.app_ver);
    zcl_set_attrib(&attrib_list->list[2],     ZCL_BASIC_STACK_VER,    ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.stack_ver);
    zcl_set_attrib(&attrib_list->list[3],     ZCL_BASIC_HW_VER,       ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.hw_ver);
    zcl_set_attrib(&attrib_list->list[4],     ZCL_BASIC_MANUF_NAME,   ZCL_TYPE_CHAR_STRING,    ZCL_ACCESS_READ_ONLY,    attrib_list->data.manuf_id);
    zcl_set_attrib(&attrib_list->list[5],     ZCL_BASIC_MODEL_ID,     ZCL_TYPE_CHAR_STRING,    ZCL_ACCESS_READ_ONLY,    attrib_list->data.model_id);
    zcl_set_attrib(&attrib_list->list[6],     ZCL_BASIC_DATE_CODE,    ZCL_TYPE_CHAR_STRING,    ZCL_ACCESS_READ_ONLY,    attrib_list->data.date_code);
    zcl_set_attrib(&attrib_list->list[7],     ZCL_BASIC_PWR_SRC,      ZCL_TYPE_U8,             ZCL_ACCESS_READ_ONLY,   &attrib_list->data.pwr_src);
    zcl_set_attrib(&attrib_list->list[8],     ZCL_BASIC_LOC_DESC,     ZCL_TYPE_CHAR_STRING,    ZCL_ACCESS_READ_WRITE,   attrib_list->data.loc_desc);
    zcl_set_attrib(&attrib_list->list[9],     ZCL_BASIC_PHYS_ENV,     ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.phys_env);
    zcl_set_attrib(&attrib_list->list[10],    ZCL_BASIC_DEV_ENB,      ZCL_TYPE_BOOL,           ZCL_ACCESS_READ_WRITE,  &attrib_list->data.dev_enb);
    zcl_set_attrib(&attrib_list->list[11],    ZCL_BASIC_ALARM_MSK,    ZCL_TYPE_U8,             ZCL_ACCESS_READ_WRITE,  &attrib_list->data.alarm_msk);
    zcl_set_attrib(&attrib_list->list[12],    ZCL_END_MARKER,         0,                       0,                      NULL);
}