luat_i2c_weak.c 482 B

123456789101112131415161718192021
  1. #include "luat_base.h"
  2. #include "luat_i2c.h"
  3. LUAT_WEAK int luat_i2c_write_reg(int id, int addr, int reg, void* buff, size_t len, uint8_t stop){
  4. uint8_t data[len+1];
  5. data[0]=reg;
  6. memcpy(data+1, buff, len);
  7. return luat_i2c_send(id, addr, data, len+1, stop);
  8. }
  9. LUAT_WEAK int luat_i2c_read_reg(int id, int addr, int reg, void* buff, size_t len){
  10. int ret = luat_i2c_send(id, addr, &reg, 1, 0);
  11. ret |= luat_i2c_recv(id, addr, buff, len);
  12. return ret;
  13. }