This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Usage of KEIL EventRecorder with EventRecordData() for struct data

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=""/>