78 #ifndef USS_HAL_USS_LIB_HAL_H_ 79 #define USS_HAL_USS_LIB_HAL_H_ 95 #if ((__EVM430_ID__ == 0x43) && (defined(__AFE_EXT_3v3__) || defined(__AFE_EXT_5v0__))) 96 #define USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL true 98 #define USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL false 101 #define ENABLE_USS_LIB_BENCHMARK false 103 #define USSSWLIB_TIMER_BASE_ADDRESS (TIMER_A2_BASE) 106 #if (USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL == true) 107 #if ((__EVM430_ID__ == 0x43) && (defined(__AFE_EXT_3v3__) || defined(__AFE_EXT_5v0__))) 111 #define USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS (TIMER_A0_BASE) 113 #if(USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS == TIMER_A0_BASE) 116 #define USSSWLIB_HAL_AFE_RXEN_PORT P6OUT 117 #define USSSWLIB_HAL_AFE_RXEN_PORT_DIR P6DIR 118 #define USSSWLIB_HAL_AFE_RXEN_PIN BIT7 120 #error "Define RxEn GPIO configurations" 123 #define USSSWLIB_HAL_AFE_RXEN_PORT PxOUT 124 #define USSSWLIB_HAL_AFE_RXEN_PORT_DIR PxDIR 125 #define USSSWLIB_HAL_AFE_RXEN_PORT_SEL0 PxSEL0 126 #define USSSWLIB_HAL_AFE_RXEN_PORT_SEL1 PxSEL1 127 #define USSSWLIB_HAL_AFE_RXEN_PIN BITy 133 #define USSSWLIB_HAL_AFE_RX_SELx_PORT P3OUT 134 #define USSSWLIB_HAL_AFE_RX_SELx_PORT_DIR P3DIR 135 #define USSSWLIB_HAL_AFE_RX_SEL1_PIN BIT6 136 #define USSSWLIB_HAL_AFE_RX_SEL2_PIN BIT7 140 #define USSSWLIB_HAL_AFE_RXPWR_PORT P2OUT 141 #define USSSWLIB_HAL_AFE_RXPWR_PORT_DIR P2DIR 142 #define USSSWLIB_HAL_AFE_RXPWR_PIN BIT2 144 #if (__EVM430_VER__ == 0x20) 147 #define USSSWLIB_HAL_AFE_TXPWR_PORT P1OUT 148 #define USSSWLIB_HAL_AFE_TXPWR_PORT_DIR P1DIR 149 #define USSSWLIB_HAL_AFE_TXPWR_PIN BIT0 151 #if defined(__AFE_EXT_5v0__) 154 #define USSSWLIB_HAL_AFE_TX5VEN_PORT P1OUT 155 #define USSSWLIB_HAL_AFE_TX5VEN_PORT_DIR P1DIR 156 #define USSSWLIB_HAL_AFE_TX5VEN_PIN BIT1 158 #warning "Please confirm jumpers JP1 and JP2 are properly configured before \ 159 using EVM in 5V mode. " 164 #if ENABLE_USS_LIB_BENCHMARK 165 #warning "Benchmarking has been enabled. Make sure Benchmark pin doesn't\ 166 conflict with board configuration" 167 #define USSSWLIB_HAL_BENCHMARK_PORT P1OUT 168 #define USSSWLIB_HAL_BENCHMARK_PORT_DIR P1DIR 169 #define USSSWLIB_HAL_BENCHMARK_PIN BIT5 172 #error "USSLib HAL external circuitry control not supported or defined for EVM configuration" 173 #endif // (__EVM430_ID__ == 0x43) && (defined(__AFE_EXT_3v3__) || defined(__AFE_EXT_5v0__))) 175 #if(USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS == USSSWLIB_TIMER_BASE_ADDRESS) 176 #error "USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS cannot be the same base address\ 177 as USSSWLIB_TIMER_BASE_ADDRESS" 180 #if (USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS == TIMER_A0_BASE) 181 #define USSLIB_HAL_TIMER_RXEN_CCR0_VECTOR (TIMER0_A0_VECTOR) 182 #define USSLIB_HAL_TIMER_RXEN_CCR1_VECTOR (TIMER0_A1_VECTOR) 183 #elif (USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS==TIMER_A1_BASE) 184 #define USSLIB_HAL_TIMER_RXEN_CCR0_VECTOR (TIMER1_A0_VECTOR) 185 #define USSLIB_HAL_TIMER_RXEN_CCR1_VECTOR (TIMER1_A1_VECTOR) 186 #elif (USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS==TIMER_A2_BASE) 187 #define USSLIB_HAL_TIMER_RXEN_CCR0_VECTOR (TIMER2_A0_VECTOR) 188 #define USSLIB_HAL_TIMER_RXEN_CCR1_VECTOR (TIMER2_A1_VECTOR) 189 #elif (USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS==TIMER_A3_BASE) 190 #define USSLIB_HAL_TIMER_RXEN_CCR0_VECTOR (TIMER3_A0_VECTOR) 191 #define USSLIB_HAL_TIMER_RXEN_CCR1_VECTOR (TIMER3_A1_VECTOR) 192 #elif (USSSWLIB_HAL_RXEN_TIMER_BASE_ADDRESS==TIMER_A4_BASE) 193 #define USSLIB_HAL_TIMER_RXEN_CCR0_VECTOR (TIMER4_A0_VECTOR) 194 #define USSLIB_HAL_TIMER_RXEN_CCR1_VECTOR (TIMER4_A1_VECTOR) 196 #error INVALID_TIMER_SELECTION 199 #endif // (USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL == true) 201 #if(USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL == true) 202 #if (__EVM430_ID__ == 0x47) 203 #error "USSLib HAL external circuitry control not supported or defined for EVM configuration" 205 #endif // USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL 219 #if defined (__MSP430FR6043__) || defined (__MSP430FR60431__) || \ 220 defined (__MSP430FR6041__) || defined (__MSP430FR50431__) || \ 221 defined (__MSP430FR50431__) || defined (__MSP430FR5043__) || \ 222 defined (__MSP430FR5041__) 223 #define USS_HAL_LEA_START_ADDRESS (0x4000) 224 #elif defined (__MSP430FR6035__) || defined (__MSP430FR6037__) || \ 225 defined (__MSP430FR60371__) || defined (__MSP430FR6045__) || \ 226 defined (__MSP430FR6047__) || defined (__MSP430FR60471__) 227 #define USS_HAL_LEA_START_ADDRESS (0x2C00) 229 #error "Device not supported" 247 #if defined (__MSP430FR6035__) || defined (__MSP430FR6037__) || \ 248 defined (__MSP430FR60371__) || defined (__MSP430FR6045__) || \ 249 defined (__MSP430FR6047__) || defined (__MSP430FR60471__) 250 #define USS_HAL_LEA_START_ADDRESS (0x2C00) 257 #if (USSSWLIB_TIMER_BASE_ADDRESS==TIMER_A0_BASE) 258 #define USSLIB_HAL_TIMER_CCR0_VECTOR (TIMER0_A0_VECTOR) 259 #define USSLIB_HAL_TIMER_CCR1_VECTOR (TIMER0_A1_VECTOR) 260 #elif (USSSWLIB_TIMER_BASE_ADDRESS==TIMER_A1_BASE) 261 #define USSLIB_HAL_TIMER_CCR0_VECTOR (TIMER1_A0_VECTOR) 262 #define USSLIB_HAL_TIMER_CCR1_VECTOR (TIMER1_A1_VECTOR) 263 #elif (USSSWLIB_TIMER_BASE_ADDRESS==TIMER_A2_BASE) 264 #define USSLIB_HAL_TIMER_CCR0_VECTOR (TIMER2_A0_VECTOR) 265 #define USSLIB_HAL_TIMER_CCR1_VECTOR (TIMER2_A1_VECTOR) 266 #elif (USSSWLIB_TIMER_BASE_ADDRESS==TIMER_A3_BASE) 267 #define USSLIB_HAL_TIMER_CCR0_VECTOR (TIMER3_A0_VECTOR) 268 #define USSLIB_HAL_TIMER_CCR1_VECTOR (TIMER3_A1_VECTOR) 269 #elif (USSSWLIB_TIMER_BASE_ADDRESS==TIMER_A4_BASE) 270 #define USSLIB_HAL_TIMER_CCR0_VECTOR (TIMER4_A0_VECTOR) 271 #define USSLIB_HAL_TIMER_CCR1_VECTOR (TIMER4_A1_VECTOR) 273 #error INVALID_TIMER_SELECTION 277 #if defined(__TI_COMPILER_VERSION__) 278 #define _PRAGMA(x) _Pragma (#x) 279 #define USS_HAL_LEA_DATA(var,align) _PRAGMA(DATA_SECTION(var,".leaRAM"))\ 280 _PRAGMA(DATA_ALIGN(var,(align))) 282 #define USS_TONE_CONFIG_DATA(var) _PRAGMA(DATA_SECTION(var,".ram_thrill")) 284 #elif defined(__IAR_SYSTEMS_ICC__) 285 #define _PRAGMA(x) _Pragma (#x) 286 #define USS_HAL_LEA_DATA(var,align) _PRAGMA(location="LEARAM")\ 287 _PRAGMA(data_alignment=align) 289 #define USS_TONE_CONFIG_DATA(var) _PRAGMA(location="RAM_THRILL") 291 #elif defined(__GNUC__) 292 #define USS_HAL_LEA_DATA(var,align) __attribute__((section(".leaRAM")))\ 293 __attribute__((aligned(align))) 295 #define USS_TONE_CONFIG_DATA(var) __attribute__((section("ram_thrill"))) 297 #define USS_HAL_LEA_DATA(var,align) 346 #if(USSSWLIB_ENABLE_EXTERNAL_CIRCUITRY_CONTROL == true) 358 uint16_t RxEnTimerCounts);
void USSLIB_HAL_configureRxEnTimer(uint16_t ASQTimerCounts, uint16_t RxEnTimerCounts)
function to configure Timer used to control RxEn AFE pin state
Definition: USS_Lib_HAL.h:90
void(* USSSWLIB_SDHS_ACQDONE_callback)(void)
Contains function callback pointer for USS_SDHS_OVINLVL.
Definition: USS_Lib_HAL.c:137
void(* USSSWLIB_SDHS_WINHI_callback)(void)
Contains function callback pointer for USS_SDHS_WINHI.
Definition: USS_Lib_HAL.c:149
void(* USSSWLIB_UUPS_PREQIG_callback)(void)
Contains function callback pointer for USS UUPS PREQIG.
Definition: USS_Lib_HAL.c:117
void USSLIB_HAL_startRxEnTimer(void)
function to start Timer used to control RxEn AFE pin state
enum _USSLIB_HAL_capture_mode_ USSLIB_HAL_capture_mode
Selects the desired power mode while USS capture is done, API will remain in this mode until capture ...
volatile uint16_t USS_LEA_IFG
Definition: USS_Lib_HAL.c:487
void(* USSSWLIB_SDHS_WINLO_callback)(void)
Contains function callback pointer for USS_SDHS_WINLO.
Definition: USS_Lib_HAL.c:153
void(* USSSWLIB_SAPH_TMFTO_callback)(void)
Contains function callback pointer for USS SAPH TMFTO.
Definition: USS_Lib_HAL.c:105
Contains all USS SW Library enums, structs, macros, function and global variables definitions...
void USSLIB_HAL_configGPIOAfterCapture(void)
function to configure GPIOs after acquisition
void(* USSSWLIB_SDHS_SSTRG_callback)(void)
Contains function callback pointer for USS_SDHS_SSTRG.
Definition: USS_Lib_HAL.c:141
void(* USSSWLIB_UUPS_PTMOUT_callback)(void)
Contains function callback pointer for USS UUPS_PTMOUT.
Definition: USS_Lib_HAL.c:121
void USSLIB_HAL_initGPIO(void)
function to initialize GPIOs used by USS Library
void(* USSSWLIB_SAPH_SEQDN_callback)(void)
Contains function callback pointer for USS SAPH SEQDN.
Definition: USS_Lib_HAL.c:109
void(* USSSWLIB_HSPLL_PLLunlock_callback)(void)
Contains function callback pointer for USS HSPLL_UNLOCK.
Definition: USS_Lib_HAL.c:129
void(* USSSWLIB_SAPH_PNGDN_callback)(void)
Contains function callback pointer for USS SAPH PNGDN.
Definition: USS_Lib_HAL.c:113
void(* USSSWLIB_UUPS_STPBYDB_callback)(void)
Contains function callback pointer for USS UUPS_STPBYDB.
Definition: USS_Lib_HAL.c:125
void(* USSSWLIB_SDHS_OVF_callback)(void)
Contains function callback pointer for USS_SDHS_OVF.
Definition: USS_Lib_HAL.c:133
void(* USSSWLIB_SDHS_DTRDY_callback)(void)
Contains function callback pointer for USS_SDHS_DTRDY.
Definition: USS_Lib_HAL.c:145
void(* USSSWLIB_SAPH_DATAERR_callback)(void)
Contains function callback pointer for USS SAPH DATAERR.
Definition: USS_Lib_HAL.c:101
_USSLIB_HAL_capture_mode_
Selects the desired power mode while USS capture is done, API will remain in this mode until capture ...
Definition: USS_Lib_HAL.h:88
Definition: USS_Lib_HAL.h:91
void USSLIB_HAL_configGPIOForCapture(USSLIB_HAL_capture_mode mode)
function to configure capture gpios