File tree Expand file tree Collapse file tree 2 files changed +16
-3
lines changed
Expand file tree Collapse file tree 2 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ void MCP3X21::init() {
4141 _i2c = &Wire;
4242}
4343
44- uint16_t MCP3X21 ::read () {
44+ uint16_t MCP3021 ::read () {
4545 _i2c->requestFrom (_address, 2U );
4646
4747 if (_i2c->available () == 2 ) {
@@ -51,6 +51,16 @@ uint16_t MCP3X21::read() {
5151 return 0xFFFF ;
5252}
5353
54+ uint16_t MCP3221::read () {
55+ _i2c->requestFrom (_address, 2U );
56+
57+ if (_i2c->available () == 2 ) {
58+ return ((_i2c->read () << 8 ) | _i2c->read ());
59+ }
60+
61+ return 0xFFFF ;
62+ }
63+
5464MCP3021::MCP3021 (uint8_t slave_adr):
5565 MCP3X21(slave_adr) {
5666}
Original file line number Diff line number Diff line change @@ -33,21 +33,24 @@ class MCP3X21 {
3333 ~MCP3X21 (void );
3434 void init (TwoWire * i2c_obj);
3535 void init ();
36- uint16_t read ();
37-
36+
3837 protected:
38+ uint16_t read ();
3939 TwoWire * _i2c;
4040 const uint8_t _address;
41+
4142};
4243
4344class MCP3021 : public MCP3X21 {
4445 public:
46+ uint16_t read ();
4547 explicit MCP3021 (uint8_t slave_adr = MCP3X21_DEFAULT_ADDRESS);
4648 uint16_t toVoltage (uint16_t data, uint32_t vref);
4749};
4850
4951class MCP3221 : public MCP3X21 {
5052 public:
53+ uint16_t read ();
5154 explicit MCP3221 (uint8_t slave_adr = MCP3X21_DEFAULT_ADDRESS);
5255 uint16_t toVoltage (uint16_t data, uint32_t vref);
5356};
You can’t perform that action at this time.
0 commit comments