Archived
1
0
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
keybrd/src/PortRead_PCA9655E.cpp

24 lines
715 B
C++
Raw Normal View History

#include "PortRead_PCA9655E.h"
2016-05-09 14:05:08 +00:00
void PortRead_PCA9655E::begin()
2016-05-09 14:05:08 +00:00
{
2016-09-03 20:25:22 +00:00
Wire.beginTransmission(port.DEVICE_ADDR);
Wire.write(port.num + 6); //configuration byte command
2016-07-15 05:15:38 +00:00
Wire.write(readPins); //0=configure as output (for LED), 1=configure as input (for read)
2016-05-09 14:05:08 +00:00
Wire.endTransmission();
}
/*
2016-07-15 05:15:38 +00:00
returns port value
2016-05-09 14:05:08 +00:00
*/
uint8_t PortRead_PCA9655E::read()
2016-05-09 14:05:08 +00:00
{
2016-09-03 20:25:22 +00:00
Wire.beginTransmission(port.DEVICE_ADDR);
Wire.write(port.num); //input byte command
2016-05-09 14:05:08 +00:00
Wire.endTransmission(false); //PCA9655E needs false to send a restart
Wire.requestFrom(port.DEVICE_ADDR, 1u); //request one byte from input port
2016-05-09 14:05:08 +00:00
return Wire.read();
2016-05-09 14:05:08 +00:00
}