diff options
Diffstat (limited to 'src/cc1111/ao_arch_funcs.h')
| -rw-r--r-- | src/cc1111/ao_arch_funcs.h | 21 | 
1 files changed, 15 insertions, 6 deletions
| diff --git a/src/cc1111/ao_arch_funcs.h b/src/cc1111/ao_arch_funcs.h index 9ad14fbb..d9f5955a 100644 --- a/src/cc1111/ao_arch_funcs.h +++ b/src/cc1111/ao_arch_funcs.h @@ -21,26 +21,27 @@  extern __xdata uint8_t	ao_spi_mutex; -#define ao_spi_get_mask(reg,mask) do {\ +#define ao_spi_get_mask(reg,mask,bus) do {		\  	ao_mutex_get(&ao_spi_mutex); \  	(reg) &= ~(mask); \  	} while (0) -#define ao_spi_put_mask(reg,mask) do { \ +#define ao_spi_put_mask(reg,mask,bus) do {		\  	(reg) |= (mask); \  	ao_mutex_put(&ao_spi_mutex); \  	} while (0) -#define ao_spi_get_bit(bit) do {\ +#define ao_spi_get_bit(bit,bus) do {    \  	ao_mutex_get(&ao_spi_mutex); \  	(bit) = 0; \  	} while (0) -#define ao_spi_put_bit(bit) do { \ +#define ao_spi_put_bit(bit,bus) do {		\  	(bit) = 1; \  	ao_mutex_put(&ao_spi_mutex); \  	} while (0) +  /*   * The SPI mutex must be held to call either of these   * functions -- this mutex covers the entire SPI operation, @@ -48,11 +49,19 @@ extern __xdata uint8_t	ao_spi_mutex;   */  void -ao_spi_send(void __xdata *block, uint16_t len) __reentrant; +ao_spi_send_bus(void __xdata *block, uint16_t len) __reentrant;  void -ao_spi_recv(void __xdata *block, uint16_t len) __reentrant; +ao_spi_recv_bus(void __xdata *block, uint16_t len) __reentrant; + +#define ao_spi_send(block, len, bus) ao_spi_send_bus(block, len) +#define ao_spi_recv(block, len, bus) ao_spi_recv_bus(block, len)  void  ao_spi_init(void); +#define ao_spi_init_cs(port, mask) do {		\ +		SPI_CS_PORT |= mask;		\ +		SPI_CS_DIR |= mask;		\ +		SPI_CS_SEL &= ~mask;		\ +	} while (0) | 
