-static bool tas5706a_send(tas_addr_t addr, const void *buf, size_t len)
-{
- bool ret = i2c_start_w(TAS_ADDR) && i2c_put(addr) && i2c_send(buf, len);
- i2c_stop();
- return ret;
-}
-
-INLINE bool tas5706a_putc(tas_addr_t addr, uint8_t ch)
-{
- return tas5706a_send(addr, &ch, sizeof(ch));
-}
-
-static bool tas5706a_recv(tas_addr_t addr, void *buf, size_t len)
-{
- bool ret = i2c_start_w(TAS_ADDR) && i2c_put(addr) && i2c_start_r(TAS_ADDR) && i2c_recv(buf, len);
- i2c_stop();
- return ret;
-}
-
-INLINE int tas5706a_getc(tas_addr_t addr)
-{
- uint8_t ch;
- if (tas5706a_recv(addr, &ch, sizeof(ch)))
- return (int)(uint8_t)ch;
- else
- return EOF;
-}