there is one thing that bothers me, the whole API depends on:
#define BMA2x2_BUS_READ_FUNC(dev_addr, reg_addr, reg_data, r_len) bus_read(dev_addr, reg_addr, reg_data, r_len)
and it's the function which must be implemented by the user as it's specific for every MCU.
I use I2C to read every byte in ISR and store it one at a time in a buffer. Reading data in that way does not allow me to use the BMA2x2 driver as is.
My questions are:
Does the BMA2x2_BUS_READ_FUNC function is meant to be synchronous(it looks so)?
Does it have to block the whole program and wait for every byte from a bus (I2C/SPI) with busy waiting and is the whole API designed this way?
Is there a way to use this API easily with interrupts?
Solved! Go to Solution.