-
Notifications
You must be signed in to change notification settings - Fork 0
/
MAX5419.cpp
65 lines (51 loc) · 1.2 KB
/
MAX5419.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*sample write sketch
#include <MAX5419.h>
#include <Wire.h>
MAX5419 D1(0x28);
void setup() {
// put your setup code here, to run once:
Wire.begin();
}
void loop() {
// put your main code here, to run repeatedly:
D1.write(254);
}
*/
#include "MAX5419.h"
#define MAX5419_VREG 0x11
#define MAX5419_NVREG 0x21
#define MAX5419_NVREGxVREG 0x61
#define MAX5419_VREGxNVREG 0x51
MAX5419::MAX5419(const uint8_t address)
{
_address = address;
}
uint8_t MAX5419::write(const uint8_t value) //Standard write command
{
uint8_t loc = MAX5419_VREG;
return send(loc, value);
}
uint8_t MAX5419::writeNonvolatile(const uint8_t value) //Write to nonvolatile memory
{
uint8_t loc = MAX5419_NVREG;
return send(loc, value);
}
uint8_t MAX5419::switchNVtoV() //Switch from NV to V
{
uint8_t loc = MAX5419_NVREGxVREG;
uint8_t value = 0x00;
return send(loc, value);
}
uint8_t MAX5419::switchVtoNV() //Switch from V to NV
{
uint8_t loc = MAX5419_VREGxNVREG;
uint8_t value = 0x00;
return send(loc, value);
}
uint8_t MAX5419::send(const uint8_t loc, const uint8_t value) //send function
{
Wire.beginTransmission(_address);
Wire.write(loc);
Wire.write(value);
return Wire.endTransmission();
}