projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add support for multiple SPI busses and sharing device drivers
[fw/altos]
/
src
/
avr
/
ao_arch_funcs.h
diff --git
a/src/avr/ao_arch_funcs.h
b/src/avr/ao_arch_funcs.h
index 9ad14fbbad0144e4b960c32be95a82244c293a67..1eeca6cc73c0f1490cc6c1240d55fdcf46df878a 100644
(file)
--- a/
src/avr/ao_arch_funcs.h
+++ b/
src/avr/ao_arch_funcs.h
@@
-21,24
+21,24
@@
extern __xdata uint8_t ao_spi_mutex;
extern __xdata uint8_t ao_spi_mutex;
-#define ao_spi_get_mask(reg,mask
) do {
\
-
ao_mutex_get(&ao_spi_mutex);
\
-
(reg) &= ~(mask);
\
+#define ao_spi_get_mask(reg,mask
,bus) do {
\
+
ao_mutex_get(&ao_spi_mutex);
\
+
(reg) &= ~(mask);
\
} while (0)
} while (0)
-#define ao_spi_put_mask(reg,mask
) do {
\
-
(reg) |= (mask);
\
-
ao_mutex_put(&ao_spi_mutex);
\
+#define ao_spi_put_mask(reg,mask
,bus) do {
\
+
(reg) |= (mask);
\
+
ao_mutex_put(&ao_spi_mutex);
\
} while (0)
} while (0)
-#define ao_spi_get_bit(bit) do {\
-
ao_mutex_get(&ao_spi_mutex);
\
-
(bit) = 0;
\
+#define ao_spi_get_bit(bit) do {
\
+
ao_mutex_get(&ao_spi_mutex);
\
+
(bit) = 0;
\
} while (0)
} while (0)
-#define ao_spi_put_bit(bit) do { \
-
(bit) = 1;
\
-
ao_mutex_put(&ao_spi_mutex);
\
+#define ao_spi_put_bit(bit) do {
\
+
(bit) = 1;
\
+
ao_mutex_put(&ao_spi_mutex);
\
} while (0)
/*
} while (0)
/*
@@
-48,11
+48,18
@@
extern __xdata uint8_t ao_spi_mutex;
*/
void
*/
void
-ao_spi_send(void __xdata *block, uint16_t len) __reentrant;
+ao_spi_send
_bus
(void __xdata *block, uint16_t len) __reentrant;
void
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);
void
ao_spi_init(void);
+#define ao_spi_init_cs(port, mask) do { \
+ SPI_CS_PORT |= (mask); \
+ SPI_CS_DIR |= (mask); \
+ } while (0)