Skip to content

Commit 21eff27

Browse files
author
fm
committed
PbHUB: add constructor with IIC addr
1 parent 5dccedb commit 21eff27

File tree

2 files changed

+28
-15
lines changed

2 files changed

+28
-15
lines changed

examples/Unit/PbHUB/porthub.cpp

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ PortHub::PortHub(){
55

66
}
77

8+
PortHub::PortHub(uint8_t iic_addr){
9+
_iic_addr = iic_addr;
10+
}
11+
812
void PortHub::begin(){
913
Wire.begin();
1014
}
@@ -13,13 +17,13 @@ void PortHub::begin(){
1317

1418
uint16_t PortHub::hub_a_read_value(uint8_t reg){
1519

16-
Wire.beginTransmission(IIC_ADDR);
20+
Wire.beginTransmission(_iic_addr);
1721
Wire.write(reg | 0x06);
1822
Wire.endTransmission();
1923

2024
uint8_t RegValue_L,RegValue_H;
2125

22-
Wire.requestFrom(IIC_ADDR,2);
26+
Wire.requestFrom(_iic_addr,2);
2327
while(Wire.available()){
2428
RegValue_L = Wire.read();
2529
RegValue_H = Wire.read();
@@ -31,13 +35,13 @@ uint16_t PortHub::hub_a_read_value(uint8_t reg){
3135

3236
uint8_t PortHub::hub_d_read_value_A(uint8_t reg){
3337

34-
Wire.beginTransmission(IIC_ADDR);
38+
Wire.beginTransmission(_iic_addr);
3539
Wire.write(reg | 0x04);
3640
Wire.endTransmission();
3741

3842
uint8_t RegValue;
3943

40-
Wire.requestFrom(IIC_ADDR,1);
44+
Wire.requestFrom(_iic_addr,1);
4145
while(Wire.available()){
4246
RegValue = Wire.read();
4347
}
@@ -46,13 +50,13 @@ uint8_t PortHub::hub_d_read_value_A(uint8_t reg){
4650

4751
uint8_t PortHub::hub_d_read_value_B(uint8_t reg){
4852

49-
Wire.beginTransmission(IIC_ADDR);
53+
Wire.beginTransmission(_iic_addr);
5054
Wire.write(reg | 0x05);
5155
Wire.endTransmission();
5256

5357
uint8_t RegValue;
5458

55-
Wire.requestFrom(IIC_ADDR,1);
59+
Wire.requestFrom(_iic_addr,1);
5660
while(Wire.available()){
5761
RegValue = Wire.read();
5862
}
@@ -62,15 +66,15 @@ uint8_t PortHub::hub_d_read_value_B(uint8_t reg){
6266

6367
void PortHub::hub_d_wire_value_A(uint8_t reg,uint16_t level){
6468

65-
Wire.beginTransmission(IIC_ADDR);
69+
Wire.beginTransmission(_iic_addr);
6670
Wire.write(reg | 0x00);
6771
Wire.write(level & 0xff);
6872
Wire.endTransmission();
6973
}
7074

7175
void PortHub::hub_d_wire_value_B(uint8_t reg,uint16_t level){
7276

73-
Wire.beginTransmission(IIC_ADDR);
77+
Wire.beginTransmission(_iic_addr);
7478
Wire.write(reg | 0x01);
7579
Wire.write(level & 0xff);
7680
Wire.endTransmission();
@@ -80,15 +84,15 @@ void PortHub::hub_d_wire_value_B(uint8_t reg,uint16_t level){
8084

8185
void PortHub::hub_a_wire_value_A(uint8_t reg,uint16_t duty){
8286

83-
Wire.beginTransmission(IIC_ADDR);
87+
Wire.beginTransmission(_iic_addr);
8488
Wire.write(reg | 0x02);
8589
Wire.write(duty & 0xff);
8690
Wire.endTransmission();
8791
}
8892

8993
void PortHub::hub_a_wire_value_B(uint8_t reg,uint16_t duty){
9094

91-
Wire.beginTransmission(IIC_ADDR);
95+
Wire.beginTransmission(_iic_addr);
9296
Wire.write(reg | 0x03);
9397
Wire.write(duty & 0xff);
9498
Wire.endTransmission();
@@ -99,7 +103,7 @@ void PortHub::hub_a_wire_value_B(uint8_t reg,uint16_t duty){
99103

100104

101105
void PortHub::hub_wire_length(uint8_t reg,uint16_t length){
102-
Wire.beginTransmission(IIC_ADDR);
106+
Wire.beginTransmission(_iic_addr);
103107
Wire.write(reg | 0x08);
104108
Wire.write(length & 0xff);
105109
Wire.write(length>>8);
@@ -109,7 +113,7 @@ void PortHub::hub_wire_length(uint8_t reg,uint16_t length){
109113

110114
void PortHub::hub_wire_index_color(uint8_t reg,uint16_t num,uint8_t r,int8_t g,uint8_t b){
111115

112-
Wire.beginTransmission(IIC_ADDR);
116+
Wire.beginTransmission(_iic_addr);
113117
Wire.write(reg | 0x09);
114118
Wire.write(num & 0xff);
115119
Wire.write(num>>8);
@@ -122,7 +126,7 @@ void PortHub::hub_wire_index_color(uint8_t reg,uint16_t num,uint8_t r,int8_t g,u
122126

123127
void PortHub::hub_wire_fill_color(uint8_t reg,uint16_t first, uint16_t count, uint8_t r,int8_t g,uint8_t b){
124128

125-
Wire.beginTransmission(IIC_ADDR);
129+
Wire.beginTransmission(_iic_addr);
126130
Wire.write(reg | 0x0a);
127131
Wire.write(first & 0xff);
128132
Wire.write(first>>8);
@@ -139,7 +143,7 @@ void PortHub::hub_wire_fill_color(uint8_t reg,uint16_t first, uint16_t count, ui
139143

140144
void PortHub::hub_wire_setBrightness(uint8_t reg,uint8_t brightness){
141145

142-
Wire.beginTransmission(IIC_ADDR);
146+
Wire.beginTransmission(_iic_addr);
143147
Wire.write(reg | 0x0b);
144148
Wire.write(brightness & 0xff);
145149
Wire.endTransmission();

examples/Unit/PbHUB/porthub.h

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44
#include <Wire.h>
55

66

7-
#define IIC_ADDR 0x61
7+
#define IIC_ADDR1 0x61
8+
#define IIC_ADDR2 0x62
9+
#define IIC_ADDR3 0x63
10+
#define IIC_ADDR4 0x64
11+
#define IIC_ADDR5 0x65
12+
#define IIC_ADDR6 0x66
13+
#define IIC_ADDR7 0x67
14+
#define IIC_ADDR8 0x68
815
#define HUB1_ADDR 0x40
916
#define HUB2_ADDR 0x50
1017
#define HUB3_ADDR 0x60
@@ -18,6 +25,7 @@ class PortHub {
1825

1926
public:
2027
PortHub();
28+
PortHub(uint8_t iic_addr);
2129
void begin();
2230

2331
uint16_t hub_a_read_value(uint8_t reg);
@@ -41,6 +49,7 @@ class PortHub {
4149
public:
4250

4351
private:
52+
uint8_t _iic_addr = IIC_ADDR1;
4453

4554
private:
4655

0 commit comments

Comments
 (0)