From 3061ecca3d0fdfb87dabbf5f63c9e06c2a30f53a Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 23 Aug 2018 17:08:59 +0200 Subject: o Initial import. --- .../examples/ant/ant_debug/debug.h | 145 +++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ant/ant_debug/debug.h (limited to 'thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ant/ant_debug/debug.h') diff --git a/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ant/ant_debug/debug.h b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ant/ant_debug/debug.h new file mode 100644 index 0000000..b2e8d2e --- /dev/null +++ b/thirdparty/nRF5_SDK_15.0.0_a53641a/examples/ant/ant_debug/debug.h @@ -0,0 +1,145 @@ +/** + * This software is subject to the ANT+ Shared Source License + * www.thisisant.com/swlicenses + * Copyright (c) Dynastream Innovations, Inc. 2015 + * All rights reserved. + * + * 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 Dynastream nor the names of its + * contributors may be used to endorse or promote products + * derived from this software without specific prior + * written permission. + * + * The following actions are prohibited: + * 1) Redistribution of source code containing the ANT+ Network + * Key. The ANT+ Network Key is available to ANT+ Adopters. + * Please refer to http://thisisant.com to become an ANT+ + * Adopter and access the key. + * + * 2) Reverse engineering, decompilation, and/or disassembly of + * software provided in binary form under this license. + * + * 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 HEREBY + * 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; DAMAGE TO ANY DEVICE, 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. SOME STATES DO NOT ALLOW + * THE EXCLUSION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE + * ABOVE LIMITATIONS MAY NOT APPLY TO YOU. + * + */ +#ifndef ANT_DEBUG_H__ +#define ANT_DEBUG_H__ + +/** + * @file debug.h + * @brief Debug module header + * @ingroup debug + */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +// Debug field definitions +#define ANT_DEBUG_FIELD_BUTTON_A_STATUS ((uint8_t) 0) /**< Status button A. */ +#define ANT_DEBUG_FIELD_BUTTON_B_STATUS ((uint8_t) 1) /**< Status button B. */ +#define ANT_DEBUG_FIELD_BUTTON_C_STATUS ((uint8_t) 2) /**< Status button C. */ +#define ANT_DEBUG_FIELD_BUTTON_D_STATUS ((uint8_t) 3) /**< Status button D. */ +#define ANT_DEBUG_FIELD_ERR_LINE ((uint8_t) 4) /**< Error line. */ +#define ANT_DEBUG_FIELD_FILE_NAME ((uint8_t) 5) /**< File name. */ +#define ANT_DEBUG_FIELD_GPIO_REGISTER_LOW ((uint8_t) 6) /**< GPIO register low. */ +#define ANT_DEBUG_FIELD_GPIO_REGISTER_HIGH ((uint8_t) 7) /**< GPIO register high. */ + +#define ANT_DEBUG_FIELD_RX_TOTAL_CH0 ((uint8_t) 132) /**< Total Rx channel 0. */ +#define ANT_DEBUG_FIELD_TX_TOTAL_CH0 ((uint8_t) 140) /**< Total Tx channel 0. */ +#define ANT_DEBUG_FIELD_COLLISIONS_CH0 ((uint8_t) 148) /**< Total collisions channel 0.*/ + + +/**@brief Function prototype for handler of reverse direction commands on debug channel*/ +typedef void (*custom_command_handler_t)(uint8_t const * const p_command); + +/** @brief Function to initialize the debug channel. + * + * Sets up debug queue and opens channel. + * Device number will be set the lower part of the serial number + */ +void ad_init(void); + +/** + * @brief Register a callback function for custom commands sent over the debug channel. + * This allows custom commands received over the debug channel to be used by the main application. + * + * @param[in] callback The pointer to a function which will be called when a custom command is received + */ +void ad_custom_command_callback_register(custom_command_handler_t callback); + +/** + * @brief Function to set the value of a specific debug field + * + * @param[in] index Index of debug field to be set + * @param[in] value New field value + */ +void ad_debug_field_set(uint8_t index, uint16_t field_value); + +/** + * @brief Retrieve the value of a particular debug field + * + * @param[in] index Index of value to retrieve + * @param[out] p_field_value Retrieved value + */ +bool ad_debug_field_get(uint8_t index, uint16_t * p_field_value); + +/** + * @brief Adds 1 to the value of a debug field + * + * @param[in] index Index of the field to be incremented + */ +void ad_debug_field_increment(uint8_t index); + +/** + * @brief Sets the fast debug byte + * + * @param[in] fdb_value Value to assign to the fast debug byte + */ +void ad_fast_debug_byte_set(uint8_t fdb_value); + +/** + * @brief Forces debug channel to transmit to this error code, file name and line number. + * Use for assert functions only. + * + * @param[in] error_code Error code + * @param[in] error_line Line number where error occurred + * @param[in] p_file_name Pointer to char array containing file name where error occured + */ +void ad_error_page_force(uint8_t error_code, uint16_t error_line, const char * p_file_name); + + +#ifdef __cplusplus +} +#endif + +#endif // ANT_DEBUG_H__ -- cgit v1.2.3