Queries related to dwm.h file in on-board-package examples in DWM1001

Hello,

I am trying to dig deep into on-board-package examples as given in dwm1001 software website of Decawav.
I have started with dwm-simple example. I went through dwm.h file included into it. There are many thing which is currently not clear to me. Is there any documentation available through which I can understand what every structure/variables/function does inside this dwm.h file.

For example:
Inside dwm.h file , the structures as used:

  • @brief DWM events IDs
    /
    typedef enum {
    DWM_EVT_LOC_READY = 1,
    DWM_EVT_UWBMAC_JOINED_CHANGED = 2,
    DWM_EVT_BH_INITIALIZED_CHANGED = 16,
    DWM_EVT_UWB_SCAN_READY = 32, /
    TODO /
    DWM_EVT_USR_DATA_READY = 64,
    DWM_EVT_USR_DATA_SENT = 128
    /
    new events TBD*/
    }dwm_evt_id_t;

/**@brief DWM Event header. /
typedef struct {
dwm_evt_id_t id;
void p_context;
uint16_t len; /
event data length including header
/
} dwm_evt_hdr_t;

/**@brief Common DWM Event type, wrapping the module specific event reports. */
typedef struct {
dwm_evt_hdr_t header;
union {
dwm_loc_data_t loc;
uint8_t usr_data[DWM_USR_DATA_LEN_MAX];
dwm_uwb_scan_result_t uwb_scan;
bool bh_initialized;
bool uwbmac_joined;
};
} dwm_evt_t;

I want to know what these structures meant for, what every member of dwm_evt_id_t structure is used for and when to use what.

Any kind of support would be of great help.

Thanks & Regards
Asmita