Skip to content

Commit a52fac2

Browse files
committed
MCP issue
First MCP is now excluded from check.
1 parent 86e8dc8 commit a52fac2

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

src/include/Mcp.cpp

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ bool Mcp::mcpBegin(uint8_t _addr, uint8_t *_r)
4747
updateAllRegisters(_addr, _r);
4848
if (_addr == MCP23017_EXT_ADDR)
4949
second_mcp_inited = 1;
50-
if (_addr == MCP23017_INT_ADDR)
51-
first_mcp_inited = 1;
5250
return true;
5351
}
5452

@@ -62,7 +60,7 @@ bool Mcp::mcpBegin(uint8_t _addr, uint8_t *_r)
6260
*/
6361
void Mcp::readMCPRegisters(uint8_t _addr, uint8_t *k)
6462
{
65-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
63+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
6664
return;
6765
Wire.beginTransmission(_addr);
6866
Wire.write(0x00);
@@ -89,7 +87,7 @@ void Mcp::readMCPRegisters(uint8_t _addr, uint8_t *k)
8987
*/
9088
void Mcp::readMCPRegisters(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n)
9189
{
92-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
90+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
9391
return;
9492
Wire.beginTransmission(_addr);
9593
Wire.write(_regName);
@@ -114,7 +112,7 @@ void Mcp::readMCPRegisters(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t
114112
*/
115113
void Mcp::readMCPRegister(uint8_t _addr, uint8_t _regName, uint8_t *k)
116114
{
117-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
115+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
118116
return;
119117
Wire.beginTransmission(_addr);
120118
Wire.write(_regName);
@@ -134,7 +132,7 @@ void Mcp::readMCPRegister(uint8_t _addr, uint8_t _regName, uint8_t *k)
134132
*/
135133
void Mcp::updateAllRegisters(uint8_t _addr, uint8_t *k)
136134
{
137-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
135+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
138136
return;
139137
Wire.beginTransmission(_addr);
140138
Wire.write(0x00);
@@ -157,7 +155,7 @@ void Mcp::updateAllRegisters(uint8_t _addr, uint8_t *k)
157155
*/
158156
void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t _d)
159157
{
160-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
158+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
161159
return;
162160
Wire.beginTransmission(_addr);
163161
Wire.write(_regName);
@@ -180,7 +178,7 @@ void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t _d)
180178
*/
181179
void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n)
182180
{
183-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
181+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
184182
return;
185183
Wire.beginTransmission(_addr);
186184
Wire.write(_regName);
@@ -212,7 +210,7 @@ void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n
212210
*/
213211
void Mcp::pinModeInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mode)
214212
{
215-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
213+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
216214
return;
217215
uint8_t _port = (_pin / 8) & 1;
218216
uint8_t _p = _pin % 8;
@@ -261,7 +259,7 @@ void Mcp::pinModeInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mod
261259
*/
262260
void Mcp::digitalWriteInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _state)
263261
{
264-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
262+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
265263
return;
266264
uint8_t _port = (_pin / 8) & 1;
267265
uint8_t _p = _pin % 8;
@@ -286,7 +284,7 @@ void Mcp::digitalWriteInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t
286284
*/
287285
uint8_t Mcp::digitalReadInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
288286
{
289-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
287+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
290288
return 0;
291289
uint8_t _port = (_pin / 8) & 1;
292290
uint8_t _p = _pin % 8;
@@ -315,7 +313,7 @@ uint8_t Mcp::digitalReadInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
315313
void Mcp::setIntOutputInternal(uint8_t _addr, uint8_t *_r, uint8_t intPort, uint8_t mirroring, uint8_t openDrain,
316314
uint8_t polarity)
317315
{
318-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
316+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
319317
return;
320318
intPort &= 1;
321319
mirroring &= 1;
@@ -341,7 +339,7 @@ void Mcp::setIntOutputInternal(uint8_t _addr, uint8_t *_r, uint8_t intPort, uint
341339
*/
342340
void Mcp::setIntPinInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mode)
343341
{
344-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
342+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
345343
return;
346344
uint8_t _port = (_pin / 8) & 1;
347345
uint8_t _p = _pin % 8;
@@ -534,7 +532,7 @@ uint16_t Mcp::getPorts()
534532
*/
535533
void Mcp::removeIntPinInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
536534
{
537-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
535+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
538536
return;
539537
uint8_t _port = (_pin / 8) & 1;
540538
uint8_t _p = _pin % 8;
@@ -556,7 +554,7 @@ void Mcp::removeIntPinInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
556554
*/
557555
uint16_t Mcp::getINTInternal(uint8_t _addr, uint8_t *_r)
558556
{
559-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
557+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
560558
return 0;
561559
readMCPRegisters(_addr, MCP23017_INTFA, _r, 2);
562560
return ((_r[MCP23017_INTFB] << 8) | _r[MCP23017_INTFA]);
@@ -579,7 +577,7 @@ uint16_t Mcp::getINTInternal(uint8_t _addr, uint8_t *_r)
579577
*/
580578
uint16_t Mcp::getINTstateInternal(uint8_t _addr, uint8_t *_r)
581579
{
582-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
580+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
583581
return 0;
584582
readMCPRegisters(_addr, MCP23017_INTCAPA, _r, 2);
585583
return ((_r[MCP23017_INTCAPB] << 8) | _r[MCP23017_INTCAPA]);
@@ -599,7 +597,7 @@ uint16_t Mcp::getINTstateInternal(uint8_t _addr, uint8_t *_r)
599597
*/
600598
void Mcp::setPortsInternal(uint8_t _addr, uint8_t *_r, uint16_t _d)
601599
{
602-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
600+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
603601
return;
604602
_r[MCP23017_GPIOA] = _d & 0xff;
605603
_r[MCP23017_GPIOB] = (_d >> 8) & 0xff;
@@ -620,7 +618,7 @@ void Mcp::setPortsInternal(uint8_t _addr, uint8_t *_r, uint16_t _d)
620618
*/
621619
uint16_t Mcp::getPortsInternal(uint8_t _addr, uint8_t *_r)
622620
{
623-
if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
621+
if (_addr == MCP23017_EXT_ADDR && !second_mcp_inited )
624622
return 0;
625623
readMCPRegisters(_addr, MCP23017_GPIOA, _r, 2);
626624
return ((_r[MCP23017_GPIOB] << 8) | (_r[MCP23017_GPIOA]));

src/include/Mcp.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ class Mcp
5656
uint16_t getPortsInternal(uint8_t _addr, uint8_t *_r);
5757

5858
private:
59-
bool first_mcp_inited = 0;
6059
bool second_mcp_inited = 0;
6160
void readMCPRegisters(uint8_t _addr, uint8_t *k);
6261
void readMCPRegisters(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n);

0 commit comments

Comments
 (0)