30 lines
1007 B
C
30 lines
1007 B
C
#include "nau88u10yg.h"
|
|
|
|
|
|
bool xAudioCodecReadRegister(tI2cIO *i2c, uint16_t AdrRegQwery, uint16_t *DataRegResult) {
|
|
uint8_t pack = AdrRegQwery << 1 | 0b0 << 0;
|
|
uint8_t i2cPack[2]={0};
|
|
uint16_t data = 0;
|
|
I2cWrite(i2c, NAU88U10YG_ADDRESS_WRITE, &pack, 1, NAU88U10YG_IO_TIMEOUT);
|
|
uint16_t result = I2cRead(i2c, NAU88U10YG_ADDRESS_READ, (uint8_t *) &data, 2, NAU88U10YG_IO_TIMEOUT);
|
|
i2cPack[0] = data>>8;
|
|
i2cPack[1] = data;
|
|
*DataRegResult = (uint16_t)*i2cPack;
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
bool xAudioCodecWriteRegister(tI2cIO *i2c, NAU88U10YG_RegAddrPacket packet){
|
|
uint8_t i2cPack[2]={0};
|
|
i2cPack[0] = packet.raw>>8;
|
|
i2cPack[1] = packet.raw;
|
|
return I2cWrite(i2c,NAU88U10YG_ADDRESS_WRITE,i2cPack,2,NAU88U10YG_IO_TIMEOUT);
|
|
}
|
|
|
|
bool xAudioCodecWrite_Register8b_Data8b(tI2cIO *i2c, uint8_t reg, uint8_t data){
|
|
uint8_t i2cPack[2]={0};
|
|
i2cPack[0] = reg;
|
|
i2cPack[1] = data;
|
|
return I2cWrite(i2c,NAU88U10YG_ADDRESS_WRITE,i2cPack,2,NAU88U10YG_IO_TIMEOUT)==2;
|
|
} |