Renesas PTX1xxR IoT-Reader API Version 7.3.1
Renesas Software Stack for IoT-Reader Applications
ptxHal_Ext.h
Go to the documentation of this file.
1
44#ifndef COMPS_HAL_PTXHAL_EXT_H_
45#define COMPS_HAL_PTXHAL_EXT_H_
46
47/*
48 * ####################################################################################################################
49 * INCLUDES
50 * ####################################################################################################################
51 */
52
53#include "ptx_Platform.h"
54#include "ptxHal.h"
55
56#if (defined PTX_FEATURES_TESTING)
57
58#include "ptxOsal_Ext.h"
59
60#include "ptxHal_UART.h"
61#include "ptxHal_UART_FTDI.h"
62#include "ptxHal_UART_Ext.h"
63
64#include "ptxHal_SPI.h"
65#include "ptxHal_SPI_FTDI.h"
66#include "ptxHal_SPI_AAR.h"
67#include "ptxHal_SPI_Ext.h"
68
69#include "ptxHal_I2C.h"
70#include "ptxHal_I2C_FTDI.h"
71#include "ptxHal_I2C_AAR.h"
72#include "ptxHal_I2C_Ext.h"
73
74#include "ptxHal_Gpio.h"
75
76#endif
77
78#if (defined PTX_FEATURES_HAL_SPI) || (defined PTX_FEATURES_HAL_I2C)
79#include "ptxHal_Gpio.h"
80# endif
81
82#ifdef __cplusplus
83extern "C" {
84#endif
85
86/*
87 * ####################################################################################################################
88 * DEFINES / TYPES / INTERNALS
89 * ####################################################################################################################
90 */
91
95#if (defined PTX_PLAT_MACOS)
96# define PTX_HAL_IO_DEV_LIB "libPtxIo.dylib"
97#elif (defined PTX_PLAT_LINUX)
98# define PTX_HAL_IO_DEV_LIB "libPtxIo.so"
99#elif (defined PTX_PLAT_WINDOWS)
100# define PTX_HAL_IO_DEV_LIB "libPtxIo.dll"
101#elif (defined PTX_PLAT_ANDROID)
102# define PTX_HAL_IO_DEV_LIB /* Empty */
103#elif (defined PTX_PLAT_EMBEDDED_GENERIC)
104# define PTX_HAL_IO_DEV_LIB /* Empty */
105#else
106# error Invalid Platform
107#endif
108
112typedef struct ptxHal
113{
115 uint8_t *DevName;
116 size_t DevNameLen;
119 uint32_t ComSpeedInit;
121 uint32_t CommParam;
122 uint32_t BusAddress;
124 uint32_t WriteTimeout;
125 uint32_t ReadTimeout;
127/* polyspace:begin<MISRA-C3:5.7:Not a defect:No action planned> Forward declaration. */
128/* polyspace:begin<MISRA-C3:1.3:Not a defect:No action planned> Don't spread other defs via this header. */
129#if (defined PTX_FEATURES_TESTING) || (defined PTX_FEATURES_HAL_I2C)
130 struct ptxHal_I2C *I2C;
131#endif
132#if (defined PTX_FEATURES_TESTING) || (defined PTX_FEATURES_HAL_SPI)
133 struct ptxHal_SPI *SPI;
134#endif
135#if (defined PTX_FEATURES_TESTING) || (defined PTX_FEATURES_HAL_UART)
136 struct ptxHal_UART *UART;
137#endif
138/* polyspace:end<MISRA-C3:1.3:Not a defect:No action planned> Don't spread other defs via this header. */
139/* polyspace:end<MISRA-C3:5.7:Not a defect:No action planned> Forward declaration. */
140
141 /*
142 * Functions
143 */
146 pptxHal_MockGetActiveIfType_t GetIfType;
148 /*
149 * Mock Functions - Delegate to MOCK component
150 */
151 pptxHal_MockRx_t MockRx;
152 pptxHal_MockTx_t MockTx;
153 pptxHal_MockCancel_t MockCancel;
155 /*
156 * Other Comps
157 */
158 struct ptxOsal *OS;
159 struct ptxLog *LOG;
161 struct ptxHal_Gpio *HalGpio;
163
176
177
178/*
179 * ####################################################################################################################
180 * FUNCTIONS
181 * ####################################################################################################################
182 */
183
184#if (defined PTX_FEATURES_TESTING)
185
198ptxStatus_t ptxHal_AllocOpen_Ext(ptxHal_t *halCtx, ptxHal_InitParam_t *initParam);
199
210ptxStatus_t ptxHal_CloseDeAlloc_Ext(struct ptxHal *halCtx);
211
220ptxHal_InterfaceType_t ptxHal_GetActiveIfType_Ext(struct ptxHal *halCtx);
221
233ptxStatus_t ptxHal_Cancel_Ext(struct ptxHal *halCtx);
234
246ptxStatus_t ptxHal_ClearCancel_Ext(struct ptxHal *halCtx);
247
259ptxStatus_t ptxHal_SetSpeed_Ext(struct ptxHal *halCtx, uint32_t bdSpeed);
260
272ptxStatus_t ptxHal_SetBusAddress_Ext(struct ptxHal *halCtx, uint16_t busAddress);
273
285ptxStatus_t ptxHal_SetTimeout_Ext(struct ptxHal *halCtx, uint32_t msTimeout);
286
300ptxStatus_t ptxHal_HandshakeManual_Ext(struct ptxHal *halCtx, uint8_t enableHS);
301
313ptxStatus_t ptxHal_SetFlowCtrlState_Ext(struct ptxHal *halCtx, uint8_t enableFc);
314
323ptxStatus_t ptxHal_SetI2C_NoStopFlag_Ext(struct ptxHal *halCtx);
324
333ptxStatus_t ptxHal_ClearI2C_NoStopFlag_Ext(struct ptxHal *halCtx);
334
366ptxStatus_t ptxHal_TRx_Ext(struct ptxHal *halCtx,
367 uint8_t *txBuf[], size_t txLen[], size_t numBuffers,
368 uint8_t *rxBuf, size_t *rxLen);
369
378ptxStatus_t ptxHal_WaitForInterrupt_Ext(struct ptxHal *halCtx);
379
388ptxStatus_t ptxHal_SetKeepNssActive_Ext(struct ptxHal *halCtx);
389
398ptxStatus_t ptxHal_ClearKeepNssActive_Ext(struct ptxHal *halCtx);
399
412ptxStatus_t ptxHal_GetIoLibRef(ptxHal_t *halCtx, ptxOsalLib_t **ioLibH, struct ptxIo **ioLibComp);
413#endif
414
415#ifdef __cplusplus
416}
417#endif
418
419#endif /* COMPS_HAL_PTXHAL_EXT_H_ */
420
421
uint16_t ptxStatus_t
Status Type.
Definition ptx_Status.h:82
enum ptxStatus_Comps ptxStatus_Comps_t
Component Definitions.
ptxStatus_t(* pptxHal_TRx_t)(pptxHal_t halCtx, uint8_t *txBuf[], size_t txLen[], size_t numBuffers, uint8_t *rxBuf, size_t *rxLen)
Send content of multiple buffers via the Interface, adding SOF if required, receive response.
Definition ptxHal.h:238
ptxStatus_t(* pptxHal_Cancel_t)(pptxHal_t halCtx)
Cancel any operation on the HAL.
Definition ptxHal.h:228
enum ptxHal_InterfaceType ptxHal_InterfaceType_t
struct ptxMutex * ptxMutex_t
Mutex Wrapper Structure - Forward Declaration.
Definition ptxOsal.h:95
struct ptxHal ptxHal_t
Main HAL Component structure.
struct ptxHal_SwitchInterfaceParams ptxHal_SwitchIntfParams_t
Common parameters structure for HAL switch interface.
Initialization Parameters Structure.
Definition ptxHal.h:95
Common parameters structure for HAL switch interface.
Definition ptxHal_Ext.h:168
ptxHal_InterfaceType_t intfType
Definition ptxHal_Ext.h:169
uint8_t * devSerial
Definition ptxHal_Ext.h:172
uint32_t intfSpeed
Definition ptxHal_Ext.h:174
uint32_t devSerialLen
Definition ptxHal_Ext.h:173
uint8_t * devName
Definition ptxHal_Ext.h:170
uint32_t devNameLen
Definition ptxHal_Ext.h:171
UART specific data and operational state.
Definition ptxHal_UART_Ext.h:106
Main HAL Component structure.
Definition ptxHal_Ext.h:113
uint8_t * DevName
Definition ptxHal_Ext.h:115
uint32_t ReadTimeout
Definition ptxHal_Ext.h:125
uint32_t BusAddress
Definition ptxHal_Ext.h:122
uint8_t * DevSerialNumber
Definition ptxHal_Ext.h:117
uint32_t WriteTimeout
Definition ptxHal_Ext.h:124
uint32_t ComSpeedInit
Definition ptxHal_Ext.h:119
uint32_t CommParam
Definition ptxHal_Ext.h:121
struct ptxLog * LOG
Definition ptxHal_Ext.h:159
ptxMutex_t Mutex
Definition ptxHal_Ext.h:160
struct ptxHal_Gpio * HalGpio
Definition ptxHal_Ext.h:161
ptxHal_InterfaceType_t InfType
Definition ptxHal_Ext.h:123
size_t DevSerialNumberLen
Definition ptxHal_Ext.h:118
size_t DevNameLen
Definition ptxHal_Ext.h:116
pptxHal_TRx_t TRx
Definition ptxHal_Ext.h:144
pptxHal_MockGetActiveIfType_t GetIfType
Definition ptxHal_Ext.h:146
ptxStatus_Comps_t CompId
Definition ptxHal_Ext.h:114
pptxHal_Cancel_t Cancel
Definition ptxHal_Ext.h:145
struct ptxOsal * OS
Definition ptxHal_Ext.h:158
uint8_t UseHWFlowControl
Definition ptxHal_Ext.h:120
Logger Component Structure.
Definition ptxLog.h:208