1 /****************************************************************************** 2 TORNADO AMC modules Software Development Kit (SDK). Rev 4A. 3 General definitions and API functions. 4 (C) MicroLAB Systems, 2015-2017 5 6 7 http://www.mlabsys.com 8 ftp://ftp.mlabsys.com 9 email: techsupport@mlabsys.com 10 11 12 Description: 13 ------------ 14 This file contains general definitions and API functions for TORNADO AMC 15 modules SDK and must be included in the user C-application for 16 TORNADO AMC modules. 17 18 19 Revision history: 20 ----------------- 21 rev.2A - 2015, initial release for TORNADO-A6678 board rev.1B; 22 rev.3A - 2016: 23 - added support for TORNADO-A6678/FMC board rev.1A; 24 rev.3B - 2017: 25 - added support for TORNADO-A6678/FMC board rev.1B; 26 rev.4A - 2017: 27 - added support for TORNADO-AZ/FMC board rev.1A; 28 29 30 Notes: 31 ------ 32 1. This C-header file is an include file for TI C6xxx C/C++ Code 33 Generation Tools, which must be invoked to compile for C66xx DSP 34 platform. 35 36 2. This file is best viewed with the TAB setting set to '4'. 37 38 39 Copyright: 40 ---------- 41 This utility is supplied free of charge as it is without any obligation 42 from MicroLAB Systems. No responsibility is assumed for any use or misuse 43 of these utilities. 44 45 ******************************************************************************/ 46 47 48 /** 49 * @file TA66XX_DSP.h 50 * 51 * @brief Main include file 52 * 53 * This file contains general definitions and API functions for TORNADO 54 * AMC modules SDK 55 * 56 */ 57 58 59 #ifndef __TA66XX_DSP_H__ // check for this file has been already included 60 #define __TA66XX_DSP_H__ 1 61 62 63 // General defs 64 #define TA66XX_ON 1 65 #define TA66XX_OFF 0 66 67 68 // Include C66xx DSP defs, macros and aux functions 69 #include "C66XX.h" 70 // Include TORNADO AMC SDK functions errors 71 #include "TASDK_ERR.h" 72 73 74 75 //============================================================================= 76 /** TORNADO AMC SDK revision ID */ 77 #define TA66XX_SDK_REVISION_ID "4A" 78 //============================================================================= 79 80 81 82 //============================================================================= 83 //============ TORNADO AMC SDK API functions ID defs ========================== 84 //============================================================================= 85 /** @addtogroup TA66XX_FUNCTIONS_ID SDK API functions ID defs 86 * @{ 87 */ 88 89 90 /**< Function name max size */ 91 #define TA66XX_FUNCTION_NAME_LEN_MAX 64 92 93 94 enum 95 { 96 TA66XX_GET_ERROR_MESSAGE_FUNCTION_ID = 0, 97 TA66XX_GET_FUNCTION_NAME_FUNCTION_ID, 98 TA66XX_BC_SET_I2C_INTERRUPT_NUMBER_FUNCTION_ID, 99 TA66XX_BC_SET_UART_INTERRUPT_NUMBER_FUNCTION_ID, 100 TA66XX_BC_INIT_FUNCTION_ID, 101 TA66XX_BC_MAP_DSP_GPIO_INTERRUPT_FUNCTION_ID, 102 TA66XX_BC_UNMAP_DSP_GPIO_INTERRUPT_FUNCTION_ID, 103 TA66XX_BC_INIT_UART_FUNCTION_ID, 104 TA66XX_BC_WRITE_EEPROM_FUNCTION_ID, 105 TA66XX_BC_READ_EEPROM_FUNCTION_ID, 106 TA66XX_BC_ERASE_EEPROM_FUNCTION_ID, 107 TA66XX_BC_GET_DEVICE_INFO_FUNCTION_ID, 108 TA66XX_BC_GET_HW_CFG_INFO_FUNCTION_ID, 109 TA66XX_BC_GET_FMC_INFO_FUNCTION_ID, 110 TA66XX_BC_GET_TEMP_STATE_FUNCTION_ID, 111 TA66XX_BC_GET_POWER_STATE_FUNCTION_ID, 112 TA66XX_BC_GET_FMC_POWER_STATE_FUNCTION_ID, 113 TA66XX_BC_GET_SFP_INFO_FUNCTION_ID, 114 TA66XX_BC_SET_FPGA_HIF_CONFIG_FUNCTION_ID, 115 TA66XX_BC_GET_FPGA_HIF_CONFIG_FUNCTION_ID, 116 TA66XX_BC_CLEAR_FPGA_CNF_FUNCTION_ID, 117 TA66XX_BC_LOAD_FPGA_CNF_FUNCTION_ID, 118 TA66XX_BC_GET_GBE_PORT_INFO_FUNCTION_ID, 119 TA66XX_BC_INIT_GBE_PORT_FUNCTION_ID, 120 TA66XX_BC_ERASE_FLASH_FUNCTION_ID, 121 TA66XX_BC_WRITE_FLASH_FUNCTION_ID, 122 TA66XX_BC_READ_FLASH_FUNCTION_ID, 123 TA66XX_SC_INIT_FLASH_RECORD_LIST_FUNCTION_ID, 124 TA66XX_SC_GET_NUMBER_OF_FLASH_RECORDS_FUNCTION_ID, 125 TA66XX_SC_GET_FLASH_RECORD_LIST_FUNCTION_ID, 126 TA66XX_SC_GET_FLASH_RECORD_INFO_FUNCTION_ID, 127 TA66XX_SC_READ_FLASH_RECORD_DATA_FUNCTION_ID, 128 TA66XX_SC_CREATE_FLASH_RECORD_FUNCTION_ID, 129 TA66XX_SC_WRITE_FLASH_RECORD_DATA_FUNCTION_ID, 130 TA66XX_SC_XCLOSE_FLASH_RECORD_FUNCTION_ID, 131 TA66XX_SC_UPDATE_FLASH_RECORD_FUNCTION_ID, 132 TA66XX_SC_DELETE_FLASH_RECORD_FUNCTION_ID, 133 TA66XX_SC_SQUEEZE_FLASH_RECORDS_FUNCTION_ID, 134 TA66XX_SC_GET_FLASH_FREE_SPACE_FUNCTION_ID, 135 TA66XX_SC_GET_BOOT_SEQ_FUNCTION_ID, 136 TA66XX_SC_DELETE_BOOT_SEQ_FUNCTION_ID, 137 TA66XX_SC_SET_BOOT_SEQ_FUNCTION_ID, 138 TA66XX_SC_LOAD_DSP_APPL_FROM_MEMORY_FUNCTION_ID, 139 TA66XX_SC_LOAD_DSP_APPL_FROM_FLASH_RECORD_FUNCTION_ID, 140 TA66XX_SC_LOAD_FPGA_CNF_FROM_FLASH_RECORD_FUNCTION_ID, 141 TA66XX_NUMBER_OF_FUNCTIONS 142 }; 143 /** @}*/ 144 //============================================================================= 145 146 147 148 #ifdef __cplusplus 149 extern "C" { 150 #endif 151 152 153 154 //============================================================================= 155 //============ General SDK API functions declarations ========================= 156 //============================================================================= 157 158 /** @addtogroup TA66XX_GENERAL TORNADO AMC SDK general API functions 159 * @{ 160 */ 161 162 /*------------ TA66XX_set_error() function -------------------------------*//** 163 * @brief Function should be used on exit from SDK API functions in 164 * order to set error code and function ID of SDK API functions 165 * 166 * @param[in] err - error code; 167 * @param[in] function_id - function ID of SDK API functions; 168 * 169 * @return Error code 170 * 171 -----------------------------------------------------------------------------*/ 172 int32_t TA66XX_set_error(int32_t err, int32_t function_id); 173 174 175 /*------------ TA66XX_get_last_error() function --------------------------*//** 176 * @brief Function returns error code of last executed API function 177 * 178 * @return Error code of last executed API function 179 * 180 -----------------------------------------------------------------------------*/ 181 int32_t TA66XX_get_last_error(void); 182 183 184 /*------------ TA66XX_get_error_flag() function --------------------------*//** 185 * @brief Function returns status of ERROR_FLAG for API functions 186 * 187 * ERROR_FLAG is set by each API function in case error has been detected. 188 * ERROR_FLAG can be reset by TA66XX_clear_error_flag() API function 189 * 190 * @param[out] error_code - pointer to a variable to receive the error code in 191 * case error has been detected. In case pointer is NULL, then 192 * no error code is returned; 193 * @param[out] error_function_id - pointer to a variable to receive ID of the 194 * first API function, which has returned with error. In case 195 * pointer is NULL, then no function ID is returned; 196 * 197 * @return Status of ERROR_FLAG: ON or OFF 198 * 199 -----------------------------------------------------------------------------*/ 200 int32_t TA66XX_get_error_flag(int32_t *error_code, int32_t *error_function_id); 201 202 203 /*------------ TA66XX_clear_error_flag() function ------------------------*//** 204 * @brief Function clear ERROR_FLAG for API functions 205 * 206 * @return Always OK 207 * 208 -----------------------------------------------------------------------------*/ 209 int32_t TA66XX_clear_error_flag(void); 210 211 212 /*------------ TA66XX_get_error_message() function -----------------------*//** 213 * @brief Function returns the text interpretation of the error code. 214 * 215 * @param[in] error - error code to be interpreted; 216 * @param[out] error_message - pointer to the returned string. In case pointer 217 * is NULL, then no text is filled in; 218 * 219 * @return Error code 220 * 221 -----------------------------------------------------------------------------*/ 222 int32_t TA66XX_get_error_message(int32_t error, char *error_message); 223 224 225 /*------------ TA66XX_get_function_name() function -----------------------*//** 226 * @brief Function returns the text interpretation of API function. 227 * 228 * @param[in] function_id - ID of the API function to be interpreted; 229 * @param[out] function_name - pointer to the returned string. In case pointer 230 * is NULL, then no text is filled in; 231 * 232 * @return Error code 233 * 234 -----------------------------------------------------------------------------*/ 235 int32_t TA66XX_get_function_name(int32_t function_id, char *function_name); 236 237 238 /** @}*/ 239 //============================================================================= 240 241 242 243 #ifdef __cplusplus 244 } 245 #endif 246 247 248 249 //============================================================================= 250 #endif /* __TA66XX_DSP_H__ */ 251 252