Hi all,
I am working on a project to passively log ECOM network traffic. To that aim I am to generate traffic from ECOM enabled devices so that traffic can be used to develop alarm rules. But I don't really know what ECOM commands are necessarily supported by a given device. So I decided to send a device a 02 'support info command' to determine which features (and therefore commands) are supported by the device.
This is the response I received from the device
( minus the 9-byte packet header ):
01 10 1f 3f 72 0e 83 70 03 00 00 ...
I am thinking this is the bitmap of supported features.
This is how I attempt to map out the support info:
Byte 00 (support info version number)
01
0000 0001
Byte 01 (length of suport info in bytes == 16)
10
0001 0000
Byte 02 (the start of the relevant bitmap of supported features data)
1f
0001 1111
Byte 03
3f
0011 1111
Byte 04
72
0111 0010
Byte 05
0e
0000 1110
Byte 06
83
1000 0011
Byte 07
70
0111 0000
Byte 08
03
0000 0011
So for example byte 2, reading right to left has 5 trues followed by 3 falses.
The 5 trues indicate that \x00 Polling, \x01 ReadVersionInfo, \x02 ReadSupportInfo, \x04 ReadDeviceInfo, \x05 PollingAll are supported.
The 3 falses indicate that \x06 WriteIO, \x07 ReadIO, and \x08 ReadBaseDef are not supported.
But how can something as basic as WriteIO & ReadIO not be supported???
Anyway, my main question is: "Is this the correct way read the bitmap of supported features?"
(more information on this project available on request)
Thanks,
- Martin