Skip to content

Commit a7d52a1

Browse files
committed
Extract common functionality code into base class PF1550_Io.
1 parent feb948d commit a7d52a1

File tree

7 files changed

+124
-288
lines changed

7 files changed

+124
-288
lines changed

src/PF1550.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
#include "PF1550.h"
2424

25+
#include <Wire.h>
26+
2527
#include "PF1550/PF1550_Io_C33.h"
2628
#include "PF1550/PF1550_Io_EnvieH747.h"
2729

@@ -159,9 +161,9 @@ void PF1550::configCharger(IFastCharge const i_fast_charge,
159161
******************************************************************************/
160162

161163
#ifdef ARDUINO_PORTENTA_H33
162-
static PF1550_Io_C33 io(interface::PF1550_I2C_DEFAULT_ADDR);
164+
static PF1550_Io_C33 io(&Wire3, interface::PF1550_I2C_DEFAULT_ADDR);
163165
#else
164-
static PF1550_Io_EnvieH747 io(interface::PF1550_I2C_DEFAULT_ADDR);
166+
static PF1550_Io_EnvieH747 io(&Wire1, interface::PF1550_I2C_DEFAULT_ADDR);
165167
#endif
166168

167169
PF1550 PMIC(io);

src/PF1550/PF1550_Io_C33.cpp

Lines changed: 0 additions & 128 deletions
This file was deleted.

src/PF1550/PF1550_Io_C33.h

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@
2323
INCLUDE
2424
******************************************************************************/
2525

26-
#include "Arduino.h"
2726
#include "interface/PF1550_Io.h"
2827

28+
#include "PF1550_Defines.h"
29+
2930
/******************************************************************************
3031
CLASS DECLARATION
3132
******************************************************************************/
3233

3334
class PF1550_Io_C33 : public interface::PF1550_Io
3435
{
3536
public:
36-
PF1550_Io_C33(uint8_t const i2c_addr);
37+
PF1550_Io_C33(arduino::HardwareI2C * wire, uint8_t const i2c_addr) : interface::PF1550_Io(wire, i2c_addr) { }
3738
virtual ~PF1550_Io_C33() { }
3839

39-
virtual int begin () override;
40-
virtual void readRegister (Register const reg_addr, uint8_t * data) override;
41-
virtual void writeRegister(uint8_t slave_addr, uint8_t * data, uint8_t data_len, uint8_t restart) override;
42-
virtual void setSTANDBY () override { }
43-
virtual void clrSTANDBY () override { }
44-
4540

46-
private:
41+
protected:
42+
virtual int derived_begin() override
43+
{
44+
/* Enable LED. */
45+
setBit(Register::CHARGER_LED_PWM, REG_LED_PWM_LED_EN_bp);
46+
/* Allow LED control by software. */
47+
setBit(Register::CHARGER_LED_CNFG, REG_LED_CNFG_LEDOVRD_bp);
48+
}
4749

48-
uint8_t const _i2c_addr;
49-
Stream * _debug;
5050
};
5151

5252
#endif /* PF1550_IO_C33_H_ */

src/PF1550/PF1550_Io_EnvieH747.cpp

Lines changed: 0 additions & 122 deletions
This file was deleted.

src/PF1550/PF1550_Io_EnvieH747.h

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
INCLUDE
2424
******************************************************************************/
2525

26-
#include "Arduino.h"
2726
#include "interface/PF1550_Io.h"
2827

2928
/******************************************************************************
@@ -32,23 +31,13 @@
3231

3332
class PF1550_Io_EnvieH747 : public interface::PF1550_Io
3433
{
35-
3634
public:
37-
38-
PF1550_Io_EnvieH747(uint8_t const i2c_addr);
35+
PF1550_Io_EnvieH747(arduino::HardwareI2C * wire, uint8_t const i2c_addr) : interface::PF1550_Io(wire, i2c_addr) { }
3936
virtual ~PF1550_Io_EnvieH747() { }
4037

41-
virtual int begin () override;
42-
virtual void readRegister (Register const reg_addr, uint8_t *data) override;
43-
virtual void writeRegister(uint8_t slave_addr, uint8_t *data, uint8_t data_len, uint8_t restart) override;
44-
virtual void setSTANDBY () override;
45-
virtual void clrSTANDBY () override;
46-
47-
private:
48-
49-
uint8_t const _i2c_addr;
50-
Stream* _debug;
5138

39+
protected:
40+
virtual int derived_begin() override { }
5241
};
5342

5443
#endif /* PF1550_IO_ENVIEH747_H_ */

0 commit comments

Comments
 (0)