1 | initial version |
I haven't had any luck finding a capture where a BRD
datagram also has data.
EtherCAT datagram: Cmd: 'BRD' (7), Len: 2, Adp 0x0, Ado 0x130, Cnt 0
MATE extract the cmd
fields as hex so the display filter search would be for "0x07".
MATE code to allow search for a specific cmd/data pair:
Pdu sub1_pdu Proto ecat Transport mate { Extract cmd From ecat.sub1.cmd; Extract data From ecat.sub1.data; }; Gop sub1_gop On sub1_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub2_pdu Proto ecat Transport mate { Extract cmd From ecat.sub2.cmd; Extract data From ecat.sub2.data; }; Gop sub2_gop On sub2_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub3_pdu Proto ecat Transport mate { Extract cmd From ecat.sub3.cmd; Extract data From ecat.sub3.data; }; Gop sub3_gop On sub3_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub4_pdu Proto ecat Transport mate { Extract cmd From ecat.sub4.cmd; Extract data From ecat.sub4.data; }; Gop sub4_gop On sub4_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub5_pdu Proto ecat Transport mate { Extract cmd From ecat.sub5.cmd; Extract data From ecat.sub5.data; }; Gop sub5_gop On sub5_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub6_pdu Proto ecat Transport mate { Extract cmd From ecat.sub6.cmd; Extract data From ecat.sub6.data; }; Gop sub6_gop On sub6_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub7_pdu Proto ecat Transport mate { Extract cmd From ecat.sub7.cmd; Extract data From ecat.sub7.data; }; Gop sub7_gop On sub7_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub8_pdu Proto ecat Transport mate { Extract cmd From ecat.sub8.cmd; Extract data From ecat.sub8.data; }; Gop sub8_gop On sub8_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub9_pdu Proto ecat Transport mate { Extract cmd From ecat.sub9.cmd; Extract data From ecat.sub9.data; }; Gop sub9_gop On sub9_pdu Match (cmd, data) { Start (cmd, data); }; Pdu sub10_pdu Proto ecat Transport mate { Extract cmd From ecat.sub10.cmd; Extract data From ecat.sub10.data; }; Gop sub10_gop On sub10_pdu Match (cmd, data) { Start (cmd, data); }; Gog ecat_gog { Member sub1_gop (cmd, data); Member sub2_gop (cmd, data); Member sub3_gop (cmd, data); Member sub4_gop (cmd, data); Member sub5_gop (cmd, data); Member sub6_gop (cmd, data); Member sub7_gop (cmd, data); Member sub8_gop (cmd, data); Member sub9_gop (cmd, data); Member sub10_gop (cmd, data); }; Done;
Display filter example: (mate.ecat_gog.cmd == "0x04") && (mate.ecat_gog.data == "06:00")