Skip to content

Commit 509582a

Browse files
use TwoWire instance
1 parent 2b39774 commit 509582a

File tree

2 files changed

+31
-27
lines changed

2 files changed

+31
-27
lines changed

AT24C32_EEPROM/AT24C32_EEPROM.cpp

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,56 @@
1-
/* Copyright (c) 2021, Collab
1+
/* Copyright (c) 2021-2023, Collab
22
* All rights reserved
33
*/
44
#include "AT24C32_EEPROM.h"
55

6-
AT24C32_EEPROM::AT24C32_EEPROM(uint8_t eeprom_address) {
6+
AT24C32_EEPROM::AT24C32_EEPROM(uint8_t eeprom_address, TwoWire* wire) {
77
_eepromAddress = eeprom_address;
8+
_wire = wire;
89
}
910

1011
void AT24C32_EEPROM::write_byte(unsigned int eeaddress, byte data) {
1112
int rdata = data;
12-
Wire.beginTransmission(_eepromAddress);
13-
Wire.write((int)(eeaddress >> 8)); // MSB
14-
Wire.write((int)(eeaddress & 0xFF)); // LSB
15-
Wire.write(rdata);
16-
Wire.endTransmission();
13+
_wire->beginTransmission(_eepromAddress);
14+
_wire->write((int)(eeaddress >> 8)); // MSB
15+
_wire->write((int)(eeaddress & 0xFF)); // LSB
16+
_wire->write(rdata);
17+
_wire->endTransmission();
1718
}
1819

1920
void AT24C32_EEPROM::write_page(unsigned int eeaddresspage, byte* data, byte length) {
20-
Wire.beginTransmission(_eepromAddress);
21-
Wire.write((int)(eeaddresspage >> 8)); // MSB
22-
Wire.write((int)(eeaddresspage & 0xFF)); // LSB
21+
_wire->beginTransmission(_eepromAddress);
22+
_wire->write((int)(eeaddresspage >> 8)); // MSB
23+
_wire->write((int)(eeaddresspage & 0xFF)); // LSB
2324
byte c;
2425
for (c = 0; c < length; c++) {
25-
Wire.write(data[c]);
26+
_wire->write(data[c]);
2627
}
27-
Wire.endTransmission();
28+
_wire->endTransmission();
2829
}
2930

3031
byte AT24C32_EEPROM::read_byte(unsigned int eeaddress) {
3132
byte rdata = 0xFF;
32-
Wire.beginTransmission(_eepromAddress);
33-
Wire.write((int)(eeaddress >> 8)); // MSB
34-
Wire.write((int)(eeaddress & 0xFF)); // LSB
35-
Wire.endTransmission();
36-
Wire.requestFrom(_eepromAddress, 1);
37-
if (Wire.available()) {
38-
rdata = Wire.read();
33+
_wire->beginTransmission(_eepromAddress);
34+
_wire->write((int)(eeaddress >> 8)); // MSB
35+
_wire->write((int)(eeaddress & 0xFF)); // LSB
36+
_wire->endTransmission();
37+
_wire->requestFrom(_eepromAddress, 1);
38+
if (_wire->available()) {
39+
rdata = _wire->read();
3940
}
4041
return rdata;
4142
}
4243

4344
void AT24C32_EEPROM::read_buffer(unsigned int eeaddress, byte *buffer, int length) {
44-
Wire.beginTransmission(_eepromAddress);
45-
Wire.write((int)(eeaddress >> 8)); // MSB
46-
Wire.write((int)(eeaddress & 0xFF)); // LSB
47-
Wire.endTransmission();
48-
Wire.requestFrom(_eepromAddress, length);
45+
_wire->beginTransmission(_eepromAddress);
46+
_wire->write((int)(eeaddress >> 8)); // MSB
47+
_wire->write((int)(eeaddress & 0xFF)); // LSB
48+
_wire->endTransmission();
49+
_wire->requestFrom(_eepromAddress, length);
4950
int c = 0;
5051
for (c = 0; c < length; c++) {
51-
if (Wire.available()) buffer[c] = Wire.read();
52+
if (_wire->available()) {
53+
buffer[c] = _wire->read();
54+
}
5255
}
5356
}

AT24C32_EEPROM/AT24C32_EEPROM.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* Copyright (c) 2021, Collab
1+
/* Copyright (c) 2021-2023, Collab
22
* All rights reserved
33
*/
44
#ifndef AT24C32_EEPROM_h
@@ -10,14 +10,15 @@
1010
class AT24C32_EEPROM
1111
{
1212
public:
13-
AT24C32_EEPROM(uint8_t eeprom_address);
13+
AT24C32_EEPROM(uint8_t eeprom_address, TwoWire* wire);
1414
byte read_byte(unsigned int eeaddress);
1515
void write_byte(unsigned int eeaddress, byte data);
1616
void write_page(unsigned int eeaddresspage, byte* data, byte length);
1717
void read_buffer(unsigned int eeaddress, byte *buffer, int length);
1818

1919
private:
2020
uint8_t _eepromAddress;
21+
TwoWire* _wire;
2122
};
2223

2324
#endif

0 commit comments

Comments
 (0)