Hi,
some suggestions and/or questions regarding the API.
I2C:
- shutdown function of I2C master versus slave is inconsistent (different parameters, instance vs. pointer)
- signature of I2C Slave init function is not consistent to example (function pointers are missing in signature
- type definition of i2c_master_t and i2c_device_t missing in the document
- Which information is stored in this structs?
- Why are they located outside the i2c module? They may be manipulated.
- How would a example look for a more complex i2c operation like reading an EEPROM, as in this case the master has to send some bytes with address information and then read some bytes from the slave?
- How do you prevent the concurrent usage from different drivers which use the i2c module (like eeprom or port expander)?
UART:
- Does the UART also have it's own return types?
PIT:
- How would a one-shot timer be realized using this API? Calling stop from callback function?
- How is concurrent usage of timers prevented? The API is missing return values.