diff options
author | Paul Zander <p.j.zander@lighting.com> | 2018-03-06 20:32:35 +0100 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2018-03-07 06:03:22 +0000 |
commit | cc764b92acc65f7727fc53180a09ba2088a8751b (patch) | |
tree | 6800ea8f3c2c668a6721f6ea791825a666bc6212 | |
parent | 1b18b1dd0e171ec660ad1ce5d47bab80ddc3da86 (diff) |
Add additional dissect information in the ZCL Level Control Cluster.
Change-Id: I46f5ee8cc0aff39a01289be5f9cea86640f0a72d
Reviewed-on: https://code.wireshark.org/review/26282
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
-rw-r--r-- | epan/dissectors/packet-zbee-zcl-general.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/epan/dissectors/packet-zbee-zcl-general.c b/epan/dissectors/packet-zbee-zcl-general.c index 648f1801da..19149ca80d 100644 --- a/epan/dissectors/packet-zbee-zcl-general.c +++ b/epan/dissectors/packet-zbee-zcl-general.c @@ -4158,6 +4158,10 @@ void proto_reg_handoff_zbee_zcl_level_control(void); static int proto_zbee_zcl_level_control = -1; static int hf_zbee_zcl_level_control_attr_id = -1; +static int hf_zbee_zcl_level_control_attr_current_level = -1; +static int hf_zbee_zcl_level_control_attr_remaining_time = -1; +static int hf_zbee_zcl_level_control_attr_onoff_transmit_time = -1; +static int hf_zbee_zcl_level_control_attr_on_level = -1; static int hf_zbee_zcl_level_control_level = -1; static int hf_zbee_zcl_level_control_move_mode = -1; static int hf_zbee_zcl_level_control_rate = -1; @@ -4384,9 +4388,25 @@ dissect_zcl_level_control_attr_data(proto_tree *tree, tvbuff_t *tvb, guint *offs /* Dissect attribute data type and data */ switch ( attr_id ) { case ZBEE_ZCL_ATTR_ID_LEVEL_CONTROL_CURRENT_LEVEL: + proto_tree_add_item(tree, hf_zbee_zcl_level_control_attr_current_level, tvb, *offset, 1, ENC_NA); + *offset += 1; + break; + case ZBEE_ZCL_ATTR_ID_LEVEL_CONTROL_REMAINING_TIME: + proto_tree_add_item(tree, hf_zbee_zcl_level_control_attr_remaining_time, tvb, *offset, 2, ENC_LITTLE_ENDIAN); + *offset += 2; + break; + case ZBEE_ZCL_ATTR_ID_LEVEL_CONTROL_ONOFF_TRANSIT_TIME: + proto_tree_add_item(tree, hf_zbee_zcl_level_control_attr_onoff_transmit_time, tvb, *offset, 2, ENC_LITTLE_ENDIAN); + *offset += 2; + break; + case ZBEE_ZCL_ATTR_ID_LEVEL_CONTROL_ON_LEVEL: + proto_tree_add_item(tree, hf_zbee_zcl_level_control_attr_on_level, tvb, *offset, 1, ENC_NA); + *offset += 1; + break; + default: dissect_zcl_attr_data(tvb, tree, offset, data_type); break; @@ -4416,6 +4436,22 @@ proto_register_zbee_zcl_level_control(void) { "Attribute", "zbee_zcl_general.level_control.attr_id", FT_UINT16, BASE_HEX, VALS(zbee_zcl_level_control_attr_names), 0x00, NULL, HFILL } }, + { &hf_zbee_zcl_level_control_attr_current_level, + { "Current Level", "zbee_zcl_general.level_control.attr.current_level", FT_UINT8, BASE_DEC, NULL, + 0x00, NULL, HFILL } }, + + { &hf_zbee_zcl_level_control_attr_remaining_time, + { "Remaining Time", "zbee_zcl_general.level_control.attr.remaining_time", FT_UINT16, BASE_CUSTOM, CF_FUNC(decode_zcl_time_in_100ms), + 0x00, NULL, HFILL } }, + + { &hf_zbee_zcl_level_control_attr_onoff_transmit_time, + { "Current Level", "zbee_zcl_general.level_control.attr.onoff_transmit_time", FT_UINT16, BASE_CUSTOM, CF_FUNC(decode_zcl_time_in_100ms), + 0x00, NULL, HFILL } }, + + { &hf_zbee_zcl_level_control_attr_on_level, + { "On Level", "zbee_zcl_general.level_control.attr.on_level", FT_UINT8, BASE_DEC, NULL, + 0x00, NULL, HFILL } }, + { &hf_zbee_zcl_level_control_level, { "Level", "zbee_zcl_general.level_control.level", FT_UINT8, BASE_DEC, NULL, 0x00, NULL, HFILL } }, @@ -4437,7 +4473,7 @@ proto_register_zbee_zcl_level_control(void) 0x00, NULL, HFILL } }, { &hf_zbee_zcl_level_control_transit_time, - { "Transition Time", "zbee_zcl_general.level_control.transit_time", FT_UINT16, BASE_HEX, NULL, + { "Transition Time", "zbee_zcl_general.level_control.transit_time", FT_UINT16, BASE_CUSTOM, CF_FUNC(decode_zcl_time_in_100ms), 0x00, NULL, HFILL } }, { &hf_zbee_zcl_level_control_srv_rx_cmd_id, |