@@ -48,9 +48,8 @@ bool Mcp::mcpBegin(uint8_t _addr, uint8_t *_r)
48
48
if (_addr == MCP23017_EXT_ADDR)
49
49
second_mcp_inited = 1 ;
50
50
if (_addr == MCP23017_INT_ADDR)
51
- first_mcp_inited = 1 ;
51
+ first_mcp_inited = 1 ;
52
52
return true ;
53
-
54
53
}
55
54
56
55
/* *
@@ -63,8 +62,8 @@ bool Mcp::mcpBegin(uint8_t _addr, uint8_t *_r)
63
62
*/
64
63
void Mcp::readMCPRegisters (uint8_t _addr, uint8_t *k)
65
64
{
66
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
67
- return ;
65
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
66
+ return ;
68
67
Wire.beginTransmission (_addr);
69
68
Wire.write (0x00 );
70
69
Wire.endTransmission ();
@@ -90,8 +89,8 @@ void Mcp::readMCPRegisters(uint8_t _addr, uint8_t *k)
90
89
*/
91
90
void Mcp::readMCPRegisters (uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n)
92
91
{
93
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
94
- return ;
92
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
93
+ return ;
95
94
Wire.beginTransmission (_addr);
96
95
Wire.write (_regName);
97
96
Wire.endTransmission ();
@@ -115,8 +114,8 @@ void Mcp::readMCPRegisters(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t
115
114
*/
116
115
void Mcp::readMCPRegister (uint8_t _addr, uint8_t _regName, uint8_t *k)
117
116
{
118
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
119
- return ;
117
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
118
+ return ;
120
119
Wire.beginTransmission (_addr);
121
120
Wire.write (_regName);
122
121
Wire.endTransmission ();
@@ -135,8 +134,8 @@ void Mcp::readMCPRegister(uint8_t _addr, uint8_t _regName, uint8_t *k)
135
134
*/
136
135
void Mcp::updateAllRegisters (uint8_t _addr, uint8_t *k)
137
136
{
138
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
139
- return ;
137
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
138
+ return ;
140
139
Wire.beginTransmission (_addr);
141
140
Wire.write (0x00 );
142
141
for (int i = 0 ; i < 22 ; ++i)
@@ -158,8 +157,8 @@ void Mcp::updateAllRegisters(uint8_t _addr, uint8_t *k)
158
157
*/
159
158
void Mcp::updateRegister (uint8_t _addr, uint8_t _regName, uint8_t _d)
160
159
{
161
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
162
- return ;
160
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
161
+ return ;
163
162
Wire.beginTransmission (_addr);
164
163
Wire.write (_regName);
165
164
Wire.write (_d);
@@ -181,8 +180,8 @@ void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t _d)
181
180
*/
182
181
void Mcp::updateRegister (uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n)
183
182
{
184
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
185
- return ;
183
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
184
+ return ;
186
185
Wire.beginTransmission (_addr);
187
186
Wire.write (_regName);
188
187
for (int i = 0 ; i < _n; ++i)
@@ -213,8 +212,8 @@ void Mcp::updateRegister(uint8_t _addr, uint8_t _regName, uint8_t *k, uint8_t _n
213
212
*/
214
213
void Mcp::pinModeInternal (uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mode)
215
214
{
216
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
217
- return ;
215
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
216
+ return ;
218
217
uint8_t _port = (_pin / 8 ) & 1 ;
219
218
uint8_t _p = _pin % 8 ;
220
219
@@ -262,8 +261,8 @@ void Mcp::pinModeInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mod
262
261
*/
263
262
void Mcp::digitalWriteInternal (uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _state)
264
263
{
265
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
266
- return ;
264
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
265
+ return ;
267
266
uint8_t _port = (_pin / 8 ) & 1 ;
268
267
uint8_t _p = _pin % 8 ;
269
268
@@ -287,8 +286,8 @@ void Mcp::digitalWriteInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t
287
286
*/
288
287
uint8_t Mcp::digitalReadInternal (uint8_t _addr, uint8_t *_r, uint8_t _pin)
289
288
{
290
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
291
- return 0 ;
289
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
290
+ return 0 ;
292
291
uint8_t _port = (_pin / 8 ) & 1 ;
293
292
uint8_t _p = _pin % 8 ;
294
293
readMCPRegister (_addr, MCP23017_GPIOA + _port, _r);
@@ -316,8 +315,8 @@ uint8_t Mcp::digitalReadInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
316
315
void Mcp::setIntOutputInternal (uint8_t _addr, uint8_t *_r, uint8_t intPort, uint8_t mirroring, uint8_t openDrain,
317
316
uint8_t polarity)
318
317
{
319
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
320
- return ;
318
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
319
+ return ;
321
320
intPort &= 1 ;
322
321
mirroring &= 1 ;
323
322
openDrain &= 1 ;
@@ -342,8 +341,8 @@ void Mcp::setIntOutputInternal(uint8_t _addr, uint8_t *_r, uint8_t intPort, uint
342
341
*/
343
342
void Mcp::setIntPinInternal (uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _mode)
344
343
{
345
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
346
- return ;
344
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
345
+ return ;
347
346
uint8_t _port = (_pin / 8 ) & 1 ;
348
347
uint8_t _p = _pin % 8 ;
349
348
@@ -378,8 +377,8 @@ void Mcp::setIntPinInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin, uint8_t _m
378
377
*/
379
378
void Mcp::pinModeMCP (uint8_t _pin, uint8_t _mode)
380
379
{
381
- if ((!second_mcp_inited))
382
- return ;
380
+ if ((!second_mcp_inited))
381
+ return ;
383
382
pinModeInternal (MCP23017_EXT_ADDR, mcpRegsEx, _pin, _mode);
384
383
}
385
384
@@ -394,8 +393,8 @@ void Mcp::pinModeMCP(uint8_t _pin, uint8_t _mode)
394
393
*/
395
394
void Mcp::digitalWriteMCP (uint8_t _pin, uint8_t _state)
396
395
{
397
- if (!second_mcp_inited)
398
- return ;
396
+ if (!second_mcp_inited)
397
+ return ;
399
398
digitalWriteInternal (MCP23017_EXT_ADDR, mcpRegsEx, _pin, _state);
400
399
}
401
400
@@ -409,8 +408,8 @@ void Mcp::digitalWriteMCP(uint8_t _pin, uint8_t _state)
409
408
*/
410
409
uint8_t Mcp::digitalReadMCP (uint8_t _pin)
411
410
{
412
- if (!second_mcp_inited)
413
- return 0 ;
411
+ if (!second_mcp_inited)
412
+ return 0 ;
414
413
return digitalReadInternal (MCP23017_EXT_ADDR, mcpRegsEx, _pin);
415
414
}
416
415
@@ -430,8 +429,8 @@ uint8_t Mcp::digitalReadMCP(uint8_t _pin)
430
429
*/
431
430
void Mcp::setIntOutput (uint8_t intPort, uint8_t mirroring, uint8_t openDrain, uint8_t polarity)
432
431
{
433
- if (!second_mcp_inited)
434
- return ;
432
+ if (!second_mcp_inited)
433
+ return ;
435
434
setIntOutputInternal (MCP23017_EXT_ADDR, mcpRegsEx, intPort, mirroring, openDrain, polarity);
436
435
}
437
436
@@ -445,8 +444,8 @@ void Mcp::setIntOutput(uint8_t intPort, uint8_t mirroring, uint8_t openDrain, ui
445
444
*/
446
445
void Mcp::setIntPin (uint8_t _pin, uint8_t _mode)
447
446
{
448
- if (!second_mcp_inited)
449
- return ;
447
+ if (!second_mcp_inited)
448
+ return ;
450
449
setIntPinInternal (MCP23017_EXT_ADDR, mcpRegsEx, _pin, _mode);
451
450
}
452
451
@@ -458,8 +457,8 @@ void Mcp::setIntPin(uint8_t _pin, uint8_t _mode)
458
457
*/
459
458
void Mcp::removeIntPin (uint8_t _pin)
460
459
{
461
- if (!second_mcp_inited)
462
- return ;
460
+ if (!second_mcp_inited)
461
+ return ;
463
462
removeIntPinInternal (MCP23017_EXT_ADDR, mcpRegsEx, _pin);
464
463
}
465
464
@@ -473,8 +472,8 @@ void Mcp::removeIntPin(uint8_t _pin)
473
472
*/
474
473
uint16_t Mcp::getINT ()
475
474
{
476
- if (!second_mcp_inited)
477
- return 0 ;
475
+ if (!second_mcp_inited)
476
+ return 0 ;
478
477
return getINTInternal (MCP23017_EXT_ADDR, mcpRegsEx);
479
478
}
480
479
@@ -489,8 +488,8 @@ uint16_t Mcp::getINT()
489
488
*/
490
489
uint16_t Mcp::getINTstate ()
491
490
{
492
- if (!second_mcp_inited)
493
- return 0 ;
491
+ if (!second_mcp_inited)
492
+ return 0 ;
494
493
return getINTstateInternal (MCP23017_EXT_ADDR, mcpRegsEx);
495
494
}
496
495
@@ -504,8 +503,8 @@ uint16_t Mcp::getINTstate()
504
503
*/
505
504
void Mcp::setPorts (uint16_t _d)
506
505
{
507
- if (!second_mcp_inited)
508
- return ;
506
+ if (!second_mcp_inited)
507
+ return ;
509
508
setPortsInternal (MCP23017_EXT_ADDR, mcpRegsEx, _d);
510
509
}
511
510
@@ -518,8 +517,8 @@ void Mcp::setPorts(uint16_t _d)
518
517
*/
519
518
uint16_t Mcp::getPorts ()
520
519
{
521
- if (!second_mcp_inited)
522
- return 0 ;
520
+ if (!second_mcp_inited)
521
+ return 0 ;
523
522
return getPortsInternal (MCP23017_EXT_ADDR, mcpRegsEx);
524
523
}
525
524
@@ -535,8 +534,8 @@ uint16_t Mcp::getPorts()
535
534
*/
536
535
void Mcp::removeIntPinInternal (uint8_t _addr, uint8_t *_r, uint8_t _pin)
537
536
{
538
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
539
- return ;
537
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
538
+ return ;
540
539
uint8_t _port = (_pin / 8 ) & 1 ;
541
540
uint8_t _p = _pin % 8 ;
542
541
_r[MCP23017_GPINTENA + _port] &= ~(1 << _p);
@@ -557,8 +556,8 @@ void Mcp::removeIntPinInternal(uint8_t _addr, uint8_t *_r, uint8_t _pin)
557
556
*/
558
557
uint16_t Mcp::getINTInternal (uint8_t _addr, uint8_t *_r)
559
558
{
560
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
561
- return 0 ;
559
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
560
+ return 0 ;
562
561
readMCPRegisters (_addr, MCP23017_INTFA, _r, 2 );
563
562
return ((_r[MCP23017_INTFB] << 8 ) | _r[MCP23017_INTFA]);
564
563
}
@@ -580,8 +579,8 @@ uint16_t Mcp::getINTInternal(uint8_t _addr, uint8_t *_r)
580
579
*/
581
580
uint16_t Mcp::getINTstateInternal (uint8_t _addr, uint8_t *_r)
582
581
{
583
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
584
- return 0 ;
582
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
583
+ return 0 ;
585
584
readMCPRegisters (_addr, MCP23017_INTCAPA, _r, 2 );
586
585
return ((_r[MCP23017_INTCAPB] << 8 ) | _r[MCP23017_INTCAPA]);
587
586
}
@@ -600,8 +599,8 @@ uint16_t Mcp::getINTstateInternal(uint8_t _addr, uint8_t *_r)
600
599
*/
601
600
void Mcp::setPortsInternal (uint8_t _addr, uint8_t *_r, uint16_t _d)
602
601
{
603
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
604
- return ;
602
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
603
+ return ;
605
604
_r[MCP23017_GPIOA] = _d & 0xff ;
606
605
_r[MCP23017_GPIOB] = (_d >> 8 ) & 0xff ;
607
606
updateRegister (_addr, MCP23017_GPIOA, _r, 2 );
@@ -621,8 +620,8 @@ void Mcp::setPortsInternal(uint8_t _addr, uint8_t *_r, uint16_t _d)
621
620
*/
622
621
uint16_t Mcp::getPortsInternal (uint8_t _addr, uint8_t *_r)
623
622
{
624
- if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
625
- return 0 ;
623
+ if ((_addr == MCP23017_EXT_ADDR && !second_mcp_inited) || (_addr == MCP23017_INT_ADDR && !first_mcp_inited))
624
+ return 0 ;
626
625
readMCPRegisters (_addr, MCP23017_GPIOA, _r, 2 );
627
626
return ((_r[MCP23017_GPIOB] << 8 ) | (_r[MCP23017_GPIOA]));
628
627
}
0 commit comments