52 extern struct stTask __stChildTaskSPI;
53 extern uint16_t __esos_spi_u16s[2];
66 #define ESOS_TASK_WAIT_ON_AVAILABLE_SPI() \
68 ESOS_TASK_WAIT_UNTIL(ESOS_IS_SPI_AVAILABLE()); \
69 __esos_SetSystemFlag(__ESOS_SYS_SPI_IN_USE); \
83 #define ESOS_SIGNAL_AVAILABLE_SPI() __esos_ClearSystemFlag(__ESOS_SYS_SPI_IN_USE)
99 #define ESOS_IS_SPI_AVAILABLE() (__esos_IsSystemFlagClear(__ESOS_SYS_SPI_IN_USE))
116 #define ESOS_TASK_WAIT_ON_WRITE1SPI1(u16_d1 ) \
118 __esos_spi_u16s[0] = (uint16_t) (u16_d1); \
119 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, &__esos_spi_u16s[0], NULLPTR, 1 ); \
143 #define ESOS_TASK_WAIT_ON_WRITE2SPI1(u16_d1, u16_d2 ) \
145 __esos_spi_u16s[0] = (uint16_t) (u16_d1); \
146 __esos_spi_u16s[1] = (uint16_t) (u16_d2); \
147 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, &__esos_spi_u16s[0], NULLPTR, 2 ); \
166 #define ESOS_TASK_WAIT_ON_WRITENSPI1( pu16_out, u16_cnt ) \
167 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, (pu16_out), NULLPTR, (u16_cnt) )
190 #define ESOS_TASK_WAIT_ON_XFERNSPI1( pu16_out, pu16_in, u16_cnt ) \
191 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, (pu16_out), (pu16_in), (u16_cnt) )
209 #define ESOS_TASK_WAIT_ON_READ1SPI1(u16_d1 ) \
211 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, NULLPTR, &__esos_spi_u16s[0], 1 ); \
212 (u16_d1) = __esos_spi_u16s[0]; \
232 #define ESOS_TASK_WAIT_ON_READ2SPI1(u16_d1, u16_d2) \
234 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, NULLPTR, &__esos_spi_u16s[0], 2 ); \
235 (u16_d1) = __esos_spi_u16s[0]; \
236 (u16_d2) = __esos_spi_u16s[1]; \
256 #define ESOS_TASK_WAIT_ON_READNSPI1( pu16_in, u16_cnt ) \
257 ESOS_TASK_SPAWN_AND_WAIT( (ESOS_TASK_HANDLE)&__stChildTaskSPI, __esos_spi_hw_xferNSPI1, NULLPTR, (pu16_in), (u16_cnt) )
264 extern void __esos_spi_hw_config(uint32_t u32_spibps);
265 ESOS_CHILD_TASK( __esos_spi_hw_xferNSPI1, uint16_t* pu16_out, uint16_t* pu16_in, uint16_t u16_cnt);
268 #endif // end ESOS_SPI_H