void
ao_spi_send(void *block, uint16_t len, uint8_t spi_index);
+void
+ao_spi_queue_send(void *block, uint16_t len, uint8_t spi_index,
+ void (*callback)(int spi_index));
+
void
ao_spi_send_fixed(uint8_t value, uint16_t len, uint8_t spi_index);
uint32_t ccr);
void
-ao_dma_set_isr(uint8_t index, void (*isr)(void));
+ao_dma_set_isr(uint8_t index, void (*isr)(int arg), int arg);
void
ao_dma_start(uint8_t index);
void
ao_i2c_put(uint8_t i2c_index);
-void
-ao_i2c_send(void *block, uint16_t len, uint8_t i2c_index);
+uint8_t
+ao_i2c_send(void *block, uint16_t len, uint8_t i2c_index, uint8_t stop);
-void
-ao_i2c_recv(void *block, uint16_t len, uint8_t i2c_index);
+uint8_t
+ao_i2c_recv(void *block, uint16_t len, uint8_t i2c_index, uint8_t stop);
void
ao_i2c_init(void);