TI DAC library for DAC5578 (8bit) / DAC6578 (10bit) / DAC7578 (12bit)
DACx578.h@0:7ebbac9efdb4, 2018-05-14 (annotated)
- Committer:
- okini3939
- Date:
- Mon May 14 04:23:31 2018 +0000
- Revision:
- 0:7ebbac9efdb4
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:7ebbac9efdb4 | 1 | /* |
okini3939 | 0:7ebbac9efdb4 | 2 | * DAC5578 (8bit) |
okini3939 | 0:7ebbac9efdb4 | 3 | * DAC6578 (10bit) |
okini3939 | 0:7ebbac9efdb4 | 4 | * DAC7578 (12bit) |
okini3939 | 0:7ebbac9efdb4 | 5 | */ |
okini3939 | 0:7ebbac9efdb4 | 6 | |
okini3939 | 0:7ebbac9efdb4 | 7 | #ifndef __DACx578_h__ |
okini3939 | 0:7ebbac9efdb4 | 8 | #define __DACx578_h__ |
okini3939 | 0:7ebbac9efdb4 | 9 | |
okini3939 | 0:7ebbac9efdb4 | 10 | #include "mbed.h" |
okini3939 | 0:7ebbac9efdb4 | 11 | |
okini3939 | 0:7ebbac9efdb4 | 12 | #define DACx578_I2C_ADDR 0x90 |
okini3939 | 0:7ebbac9efdb4 | 13 | |
okini3939 | 0:7ebbac9efdb4 | 14 | class DACx578 { |
okini3939 | 0:7ebbac9efdb4 | 15 | public: |
okini3939 | 0:7ebbac9efdb4 | 16 | enum DEVICE { |
okini3939 | 0:7ebbac9efdb4 | 17 | DAC5578 = 0, |
okini3939 | 0:7ebbac9efdb4 | 18 | DAC6578 = 2, |
okini3939 | 0:7ebbac9efdb4 | 19 | DAC7578 = 4, |
okini3939 | 0:7ebbac9efdb4 | 20 | }; |
okini3939 | 0:7ebbac9efdb4 | 21 | |
okini3939 | 0:7ebbac9efdb4 | 22 | DACx578 (PinName sda, PinName scl, int addr, enum DEVICE device = DAC5578); |
okini3939 | 0:7ebbac9efdb4 | 23 | DACx578 (I2C& i2c, int addr, enum DEVICE device = DAC5578); |
okini3939 | 0:7ebbac9efdb4 | 24 | |
okini3939 | 0:7ebbac9efdb4 | 25 | int init (); |
okini3939 | 0:7ebbac9efdb4 | 26 | int write (int channel, int value, int ldac = 0); |
okini3939 | 0:7ebbac9efdb4 | 27 | int ldacWrite (int channel, int value); |
okini3939 | 0:7ebbac9efdb4 | 28 | int update (int channel); |
okini3939 | 0:7ebbac9efdb4 | 29 | |
okini3939 | 0:7ebbac9efdb4 | 30 | protected: |
okini3939 | 0:7ebbac9efdb4 | 31 | I2C _i2c; |
okini3939 | 0:7ebbac9efdb4 | 32 | int _addr; |
okini3939 | 0:7ebbac9efdb4 | 33 | int _device; |
okini3939 | 0:7ebbac9efdb4 | 34 | }; |
okini3939 | 0:7ebbac9efdb4 | 35 | |
okini3939 | 0:7ebbac9efdb4 | 36 | #endif |