PicoCalc/Code/MP3Player/i2ckbd.cpp

42 lines
814 B
C++

#include "i2ckbd.h"
i2c_kbd::i2c_kbd()
:_master(I2C_KBD_MOD,I2C_KBD_SDA, I2C_KBD_SCL,0),
c(0),
_stat(0){
_master.setSpeed(I2C_KBD_SPEED);//also inited
}
i2c_kbd::~i2c_kbd() {
}
int i2c_kbd::write_i2c_kbd() {
unsigned char msg[2];
msg[0] = 0x09;
_master.i2cWrite(I2C_KBD_ADDR,msg,1);
return 0;
}
int i2c_kbd::read_i2c_kbd() {
uint16_t buff = 0;
_master.i2cRead(I2C_KBD_ADDR,(uint8_t*)&buff,2);
if(buff!=0) {
return buff;
}
return -1;
}
int i2c_kbd::I2C_Send_RegData(int i2caddr, int reg, char command) {
int retval;
unsigned char I2C_Send_Buffer[2];
I2C_Send_Buffer[0]=reg;
I2C_Send_Buffer[1]=command;
uint8_t I2C_Sendlen=2;
retval = _master.i2cWrite(i2caddr,I2C_Send_Buffer,I2C_Sendlen);
return retval;
}