117 lines
4.8 KiB
C
117 lines
4.8 KiB
C
/*
|
|
* Copyright (c) 2019 - 2021, Nordic Semiconductor ASA
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
* list of conditions and the following disclaimer.
|
|
*
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* 3. Neither the name of Nordic Semiconductor ASA nor the names of its
|
|
* contributors may be used to endorse or promote products derived from this
|
|
* software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
* POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*/
|
|
|
|
#ifndef NRF_802154_DEBUG_LOG_CODES_H_
|
|
#define NRF_802154_DEBUG_LOG_CODES_H_
|
|
|
|
#include "nrf_802154_sl_log.h"
|
|
|
|
/**
|
|
* @brief List of C modules in nRF 802.15.4 Driver, with theirs ID-s
|
|
*
|
|
* Range of possible values for the 802.15.4 Driver modules has been indicated
|
|
* in nrf_802154_sl_log.h (see "Distribution of IDs for Debug Logs" in there)
|
|
* Prefix "NRF_802154_DRV_MODULE_ID_" is mandatory here,
|
|
* the final part is the module name to be presented by "event_decoder" tool.
|
|
*
|
|
* @note Certain NRF_802154_DRV_MODULE_ID.. value may be shared
|
|
* between alternative implementations of module
|
|
* (e.g. random_stdlib/random_zephyr/random_newlib)
|
|
* In other cases they must be unique.
|
|
* This enum must exist in .elf file to provide metadata for decoder.html tool
|
|
* (enum is extracted from .elf in the preparatory stage before using decoder.html)
|
|
*/
|
|
typedef enum
|
|
{
|
|
NRF_802154_DRV_MODULE_ID_APPLICATION = 1U,
|
|
NRF_802154_DRV_MODULE_ID_CORE = 2U,
|
|
NRF_802154_DRV_MODULE_ID_CRITICAL_SECTION = 3U,
|
|
NRF_802154_DRV_MODULE_ID_TRX = 4U,
|
|
NRF_802154_DRV_MODULE_ID_CSMACA = 5U,
|
|
NRF_802154_DRV_MODULE_ID_DELAYED_TRX = 6U,
|
|
NRF_802154_DRV_MODULE_ID_ACK_TIMEOUT = 7U,
|
|
NRF_802154_DRV_MODULE_ID_TRX_PPI = 8U,
|
|
} nrf_802154_drv_modules_list_t;
|
|
|
|
/**
|
|
* @brief List of LOCAL EVENTS generated by module CORE
|
|
*
|
|
* To define elements of this enum, use
|
|
* - syntax: NRF_802154_LOG_LOCAL_EVENT_ID_{m}__{e} = {nID}
|
|
* or
|
|
* - macro: NRF_802154_LOG_L_EVENT_DEFINE({m},{e},{nID},{p_values})
|
|
* where:
|
|
* {m} is the name of module
|
|
* {e} is the name of local event
|
|
* {nID} is numeric ID of local event (unique in module {m})
|
|
* {p_values} further enum that defines the set of possible values of parameter for event {e}
|
|
*
|
|
* Both options (syntax/macro) are equivalent, except that using the macro causes additional
|
|
* link creation to {p_values}. See below - currently in the module CORE there is an local
|
|
* event SET_STATE, that has id 1 and possible parameter values for this event are as in
|
|
* enum radio_state_t
|
|
*/
|
|
typedef enum
|
|
{
|
|
NRF_802154_LOG_L_EVENT_DEFINE(CORE, SET_STATE, 1, radio_state_t)
|
|
} nrf_802154_drv_local_events_in_CORE_t;
|
|
|
|
/**
|
|
* @brief List of GLOBAL EVENTS generated in 802.15.4 Driver modules
|
|
*
|
|
* Range of possible values for the 802.15.4 Driver modules has been indicated
|
|
* in nrf_802154_sl_log.h (see "Distribution of IDs for Debug Logs" in there)
|
|
*/
|
|
typedef enum
|
|
{
|
|
NRF_802154_LOG_GLOBAL_EVENT_ID_RADIO_RESET = 1U
|
|
// Possible "RADIO_RESET" parameter values are : 0 (the only possible value)
|
|
} nrf_802154_drv_global_events_list_t;
|
|
|
|
/**
|
|
* @brief List of all definitions that are needed for the correct presentation of debug logs
|
|
*
|
|
* All of the 'typedefs' defined above that are not used anywhere else in the code should occur
|
|
* in the union below, to ensure that information about them will appear in the final .elf file
|
|
*/
|
|
typedef union
|
|
{
|
|
uint8_t dummy00tag;
|
|
nrf_802154_drv_modules_list_t dummy01tag;
|
|
nrf_802154_drv_global_events_list_t dummy02tag;
|
|
nrf_802154_drv_local_events_in_CORE_t dummy03tag;
|
|
} nrf_802154_drv_typedefs_to_save_in_elf_t;
|
|
|
|
#endif /* NRF_802154_DEBUG_LOG_CODES_H_ */
|