Skip to content

Commit c5860b1

Browse files
committed
0.3.4 AD524X
1 parent a393271 commit c5860b1

File tree

17 files changed

+167
-74
lines changed

17 files changed

+167
-74
lines changed

libraries/AD524X/AD524X.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
//
22
// FILE: AD524X.cpp
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.3.3
4+
// VERSION: 0.3.4
55
// PURPOSE: I2C digital potentiometer AD5241 AD5242
66
// DATE: 2013-10-12
77
// URL: https://github.com/RobTillaart/AD524X
88
//
99
// HISTORY
1010
// 2021-10-16 0.3.2 fix build-CI, update readme.md
1111
// 2021-12-10 0.3.3 update constants, library.json, license
12-
12+
// 2022-08-13 0.3.4 fix AD524X_LIB_VERSION
13+
// minor edits,
1314

1415

1516
#include "AD524X.h"
@@ -161,7 +162,7 @@ uint8_t AD524X::midScaleReset(const uint8_t rdac)
161162
}
162163

163164

164-
// read datasheet P.15
165+
// read datasheet P.15
165166
uint8_t AD524X::shutDown()
166167
{
167168
uint8_t cmd = AD524X_SHUTDOWN; // TODO TEST & VERIFY
@@ -185,7 +186,7 @@ uint8_t AD524X::send(const uint8_t cmd, const uint8_t value)
185186
//////////////////////////////////////////////////////////////
186187
//
187188
// DERIVED CLASSES
188-
//
189+
//
189190
AD5241::AD5241(const uint8_t address, TwoWire *wire) : AD524X(address, wire)
190191
{
191192
_pmCount = 1;
@@ -197,4 +198,6 @@ AD5242::AD5242(const uint8_t address, TwoWire *wire) : AD524X(address, wire)
197198
_pmCount = 2;
198199
};
199200

201+
200202
// -- END OF FILE --
203+

libraries/AD524X/AD524X.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//
33
// FILE: AD524X.h
44
// AUTHOR: Rob Tillaart
5-
// VERSION: 0.3.3
5+
// VERSION: 0.3.4
66
// PURPOSE: I2C digital PotentioMeter AD5241 AD5242
77
// DATE: 2013-10-12
88
// URL: https://github.com/RobTillaart/AD524X
@@ -12,7 +12,7 @@
1212
#include "Wire.h"
1313

1414

15-
#define AD524X_VERSION (F("0.3.3"))
15+
#define AD524X_LIB_VERSION (F("0.3.4"))
1616

1717

1818
#define AD524X_OK 0
@@ -29,7 +29,7 @@ class AD524X
2929
#endif
3030
bool begin();
3131
bool isConnected();
32-
32+
3333
uint8_t reset(); // reset both channels to 127 and O1/O2 to LOW
3434
uint8_t zeroAll(); // set both channels to 0 and O1/O2 to LOW
3535

@@ -69,7 +69,7 @@ class AD524X
6969
//////////////////////////////////////////////////////////////
7070
//
7171
// DERIVED CLASSES
72-
//
72+
//
7373
class AD5241 : public AD524X
7474
{
7575
public:
@@ -85,3 +85,4 @@ class AD5242 : public AD524X
8585

8686

8787
// -- END OF FILE --
88+

libraries/AD524X/README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ An important property of the devices is that they defaults
2424
to their mid position at startup.
2525

2626

27+
#### Related libraries
28+
29+
This library is related to - https://github.com/RobTillaart/AD5245
30+
The AD5245 is a single port digital potentiometer.
31+
32+
2733
## I2C address
2834

2935
The AD524X has two address lines to configure the I2C address. 0x2C - 0x2F
@@ -91,5 +97,5 @@ The examples show the basic working of the functions.
9197
## Future
9298

9399
- improve error handling.
94-
- sync with AD520X library?
100+
- sync with AD520X library
95101

libraries/AD524X/examples/AD524X_followA0/AD524X_followA0.ino

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
//
22
// FILE: AD524X_followA0.ino
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.1.2
54
// PURPOSE: AD524X demo program
6-
// DATE: 2013-10-12
75
// URL: https://github.com/RobTillaart/AD524X
86
//
97

8+
109
#include "AD524X.h"
1110

1211
AD524X AD01(0x2C); // AD0 & AD1 == GND
@@ -15,11 +14,17 @@ AD524X AD01(0x2C); // AD0 & AD1 == GND
1514
void setup()
1615
{
1716
Serial.begin(115200);
17+
Serial.println();
1818
Serial.println(__FILE__);
19-
Serial.println(AD524X_VERSION);
19+
Serial.println();
20+
Serial.println(AD524X_LIB_VERSION);
2021

2122
Wire.begin();
2223
Wire.setClock(400000);
24+
25+
bool b = AD01.begin();
26+
Serial.println(b ? "true" : "false");
27+
Serial.println(AD01.isConnected());
2328
}
2429

2530

@@ -43,3 +48,4 @@ void loop()
4348

4449

4550
// -- END OF FILE --
51+

libraries/AD524X/examples/AD524X_isConnected/AD524X_isConnected.ino

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
//
22
// FILE: AD524X_isConnected.ino
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.1.0
54
// PURPOSE: AD524X demo program
6-
// DATE: 2021-01-27
75
// URL: https://github.com/RobTillaart/AD524X
86
//
97

@@ -16,14 +14,16 @@ AD524X AD01(0x2C); // AD0 & AD1 == GND
1614
void setup()
1715
{
1816
Serial.begin(115200);
17+
Serial.println();
1918
Serial.println(__FILE__);
20-
Serial.println(AD524X_VERSION);
19+
Serial.println();
20+
Serial.println(AD524X_LIB_VERSION);
2121

2222
Wire.begin();
2323
Wire.setClock(400000);
24-
24+
2525
bool b = AD01.begin();
26-
Serial.println(b?"true":"false");
26+
Serial.println(b ? "true" : "false");
2727
Serial.println(AD01.isConnected());
2828

2929
Serial.println("\nDone...");
@@ -34,4 +34,6 @@ void loop()
3434
{
3535
}
3636

37+
3738
// -- END OF FILE --
39+
Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,52 @@
11
//
22
// FILE: AD524X_midScaleReset.ino
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.1.2
54
// PURPOSE: AD524X demo program
6-
// DATE: 2013-10-12
75
// URL: https://github.com/RobTillaart/AD524X
86
//
97

8+
109
#include "AD524X.h"
1110

1211
AD524X AD01(0x2C); // AD0 & AD1 == GND
1312

13+
1414
void setup()
1515
{
1616
Serial.begin(115200);
17+
Serial.println();
1718
Serial.println(__FILE__);
18-
Serial.println(AD524X_VERSION);
19+
Serial.println();
20+
Serial.println(AD524X_LIB_VERSION);
1921

2022
Wire.begin();
2123
Wire.setClock(400000);
24+
25+
bool b = AD01.begin();
26+
Serial.println(b ? "true" : "false");
27+
Serial.println(AD01.isConnected());
2228
}
2329

30+
2431
void loop()
2532
{
2633
Serial.println(255);
2734
AD01.write(1, 255);
2835
delay(1000);
2936

30-
Serial.println("reset");
37+
Serial.println("midScaleReset(1)");
3138
AD01.midScaleReset(1);
3239
delay(1000);
3340

3441
Serial.println(0);
3542
AD01.write(1, 0);
3643
delay(1000);
3744

38-
Serial.println("reset");
45+
Serial.println("midScaleReset(1)");
3946
AD01.midScaleReset(1);
4047
delay(1000);
4148
}
4249

50+
4351
// -- END OF FILE --
52+
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,41 @@
11
//
22
// FILE: AD524X_read.ino
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.1.2
54
// PURPOSE: AD524X demo program
6-
// DATE: 2013-10-12
75
// URL: https://github.com/RobTillaart/AD524X
86
//
97

8+
109
#include "AD524X.h"
1110

1211
AD524X AD01(0x2C); // AD0 & AD1 == GND
1312

13+
1414
void setup()
1515
{
1616
Serial.begin(115200);
17+
Serial.println();
1718
Serial.println(__FILE__);
18-
Serial.println(AD524X_VERSION);
19+
Serial.println();
20+
Serial.println(AD524X_LIB_VERSION);
1921

2022
Wire.begin();
2123
Wire.setClock(400000);
24+
25+
bool b = AD01.begin();
26+
Serial.println(b ? "true" : "false");
27+
Serial.println(AD01.isConnected());
2228
}
2329

30+
2431
void loop()
2532
{
2633
for (int val = 0; val < 255; val++)
2734
{
2835
Serial.print(val);
2936
AD01.write(1, val);
3037
delay(100);
38+
3139
int x = AD01.read(1);
3240
Serial.print('\t');
3341
Serial.println(x);
@@ -36,4 +44,5 @@ void loop()
3644
delay(1000);
3745
}
3846

47+
3948
// -- END OF FILE --
Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,60 @@
11
//
22
// FILE: AD524X_readBackRegister.ino
33
// AUTHOR: Rob Tillaart
4-
// VERSION: 0.1.1
54
// PURPOSE: AD524X demo program
6-
// DATE: 2016-04-10
75
// URL: https://github.com/RobTillaart/AD524X
86
//
97

8+
109
#include "AD524X.h"
1110

1211
AD524X AD01(0x2C); // AD0 & AD1 == GND
1312

13+
1414
void setup()
1515
{
1616
Serial.begin(115200);
17+
Serial.println();
1718
Serial.println(__FILE__);
18-
Serial.println(AD524X_VERSION);
19+
Serial.println();
20+
Serial.println(AD524X_LIB_VERSION);
1921

2022
Wire.begin();
2123
Wire.setClock(400000);
24+
25+
bool b = AD01.begin();
26+
Serial.println(b ? "true" : "false");
27+
Serial.println(AD01.isConnected());
2228
}
2329

30+
2431
void loop()
2532
{
26-
for (int rdac = 0; rdac < 2; rdac++)
33+
for (int rdac = 0; rdac < 2; rdac++)
34+
{
35+
for (int val = 0; val < 255; val++)
2736
{
28-
for (int val = 0; val < 255; val++)
29-
{
30-
test(rdac, val);
31-
}
37+
test(rdac, val);
3238
}
33-
delay(1000);
39+
}
40+
delay(1000);
3441
}
3542

3643
void test(uint8_t rdac, uint8_t val)
3744
{
38-
Serial.print(val);
39-
AD01.write(rdac, val);
40-
delay(100);
41-
int x = AD01.read(rdac);
42-
int y = AD01.readBackRegister();
43-
Serial.print('\t');
44-
Serial.print(x);
45-
Serial.print('\t');
46-
Serial.println(y);
47-
delay(100);
45+
Serial.print(val);
46+
AD01.write(rdac, val);
47+
delay(100);
48+
49+
int x = AD01.read(rdac);
50+
int y = AD01.readBackRegister();
51+
Serial.print('\t');
52+
Serial.print(x);
53+
Serial.print('\t');
54+
Serial.println(y);
55+
delay(100);
4856
}
4957

58+
5059
// -- END OF FILE --
60+

0 commit comments

Comments
 (0)