Beat Küng
a556a44a57
i2c_spi_buses: print an error if a driver does not pass the I2C address
2020-03-30 15:55:24 -04:00
Beat Küng
d6bb5b3b9e
i2c spi buses: enforce drivers to set default SPI/I2C bus frequency
...
Not a lot of drivers use the global default, which is somewhat arbitrary.
2020-03-17 23:31:17 -04:00
Beat Küng
83b6f6456b
refactor I2CSPIInstance: store running instances in a global linked list
...
instead of a static per-driver array.
Reduces BSS RAM usage by a couple of 100 Bytes (linear increase with num
drivers).
Downsides:
- a bit more runtime overhead
- less isolation, locking required
- a bit more complex
2020-03-17 23:31:17 -04:00
Beat Küng
e7f04109d9
i2c spi init + custom methods: use WorkItemSingleShot
...
Use it for custom methods as well (like reset), and run by default on the
work queue, since they typically access the bus.
2020-03-17 23:31:17 -04:00
Beat Küng
134413233a
i2c spi: extend BusCLIArguments to handle common driver arguments
2020-03-17 23:31:17 -04:00
Beat Küng
f851f65f8d
i2c spi: add type to I2CSPIInstance
...
Needed to distinguish runtime instance types of the same driver (e.g.
bmi055 accel vs gyro).
2020-03-17 23:31:17 -04:00
Beat Küng
06712450a7
i2c+spi: add module base class and bus iterators
2020-03-10 10:11:43 -04:00