I'm currently using the KEIL EventRecorder to debug my firmware, and amazed how well it works, but still do have some need for a helping hand / some advice.
What I'm trying to implement is a event record of the following format: EventRecordData( ID, data, sizeof(data) )
Whereas data is a structure, defined as follows:
#define MAX_LEN 7 struct Device_Address { uint8_t mac_len; uint8_t mac[MAX_LEN]; uint16_t net; uint8_t len; uint8_t adr[MAX_LEN]; };
What I don't get, is how to handle data recorded as such. What I could extract from the official documentation is, that I'm supposed to declare an 'object' within the *.scvd XML-File to decipher the recorded data. Still, I couldn't wrap my head around, how to use such an object, to display the recorded data.
<typedef name="DEVICE_ADDRESS" size="18" info=""> <member name="mac_len" type="uint8_t" size="1" offset="0" info=""/> <member name="mac" type="uint8_t" size="7" offset="1" info=""/> <member name="net" type="uint16_t" size="2" offset="8" info=""/> <member name="len" type="uint8_t" size="1" offset="10" info=""/> <member name="adr" type="uint8_t" size="7" offset="11" info=""/> <object name="DevAddress"> <read name="DEV_ADDR" type="DEVICE_ADDRESS" symbol="DevAddr" const="0"/> <out name="DeviceAddress Viewer"> <item property="Generic"> <item property="MAC Length" value=""/> <item property="MAC" value=""/> <!-- Array of 7 --> <item property="Network" value=""/> <item property="Length" value=""/> <item property="Address" value=""/> <!-- Array of 7 --> </item> </out> </object>
In the end, my question would be, how to design the value entry of an event, to let's say display the content of the 'mac' Array defined in the structure 'DEVICE_ADDRESS'?
<event id="0xA501" level="" property="MAC-Address" value="" info=""/>