diff options
author | Justin J. Novack <jnovack@gmail.com> | 2017-12-21 22:16:11 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2017-12-22 20:45:56 +0000 |
commit | 7099a833bedf89416149767bd02ac572406d00a6 (patch) | |
tree | 7141b828c78a3ac45fdb0a69554ff6353bf444aa /epan/dissectors/packet-artnet.c | |
parent | 8a961e8e157fc16a48a78ff908b006a3762b50d3 (diff) |
Added ArtTrigger dissection
The ArtTrigger packet is used to send trigger macros to the network. The
most common implementation involves a single controller broadcasting to
all other devices.
Please see page 41 of the referenced PDF for the packet definition of
the ArtTrigger OpCode.
https://www.artisticlicence.com/WebSiteMaster/User%20Guides/art-net.pdf
Change-Id: Iec2e749732e5462cf04b9c6942df7379e4247255
Reviewed-on: https://code.wireshark.org/review/24936
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-artnet.c')
-rw-r--r-- | epan/dissectors/packet-artnet.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/epan/dissectors/packet-artnet.c b/epan/dissectors/packet-artnet.c index 8e733682a7..4ba6985523 100644 --- a/epan/dissectors/packet-artnet.c +++ b/epan/dissectors/packet-artnet.c @@ -1934,6 +1934,10 @@ static int hf_artnet_time_sync = -1; /* ArtTrigger */ static int hf_artnet_trigger = -1; +static int hf_artnet_trigger_oemcode = -1; +static int hf_artnet_trigger_key = -1; +static int hf_artnet_trigger_subkey = -1; +static int hf_artnet_trigger_data = -1; /* ArtDirectory */ static int hf_artnet_directory = -1; @@ -3046,6 +3050,26 @@ dissect_artnet_time_sync(tvbuff_t *tvb _U_, guint offset, proto_tree *tree _U_) static guint dissect_artnet_trigger(tvbuff_t *tvb _U_, guint offset, proto_tree *tree _U_) { + proto_tree_add_item(tree, hf_artnet_filler, tvb, + offset, 2, ENC_NA); + offset += 2; + + proto_tree_add_item(tree, hf_artnet_trigger_oemcode, tvb, + offset, 2, ENC_BIG_ENDIAN); + offset += 2; + + proto_tree_add_item(tree, hf_artnet_trigger_key, tvb, + offset, 1, ENC_BIG_ENDIAN); + offset += 1; + + proto_tree_add_item(tree, hf_artnet_trigger_subkey, tvb, + offset, 1, ENC_BIG_ENDIAN); + offset += 1; + + proto_tree_add_item(tree, hf_artnet_trigger_data, tvb, + offset, 512, ENC_NA); + offset += 512; + return offset; } @@ -5180,6 +5204,30 @@ proto_register_artnet(void) { FT_NONE, BASE_NONE, NULL, 0, "Art-Net ArtTrigger packet", HFILL }}, + { &hf_artnet_trigger_oemcode, + { "OEM Code", + "artnet.trigger.oemcode", + FT_UINT16, BASE_HEX, 0, 0x0, + NULL, HFILL }}, + + { &hf_artnet_trigger_key, + { "Key", + "artnet.trigger.key", + FT_UINT8, BASE_HEX_DEC, 0, 0x0, + NULL, HFILL }}, + + { &hf_artnet_trigger_subkey, + { "SubKey", + "artnet.trigger.subkey", + FT_UINT8, BASE_HEX_DEC, 0, 0x0, + NULL, HFILL }}, + + { &hf_artnet_trigger_data, + { "Data", + "artnet.trigger.data", + FT_BYTES, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, + /* ArtDirectory */ { &hf_artnet_directory, { "ArtDirectory packet", |