TI DAC library for DAC5578 (8bit) / DAC6578 (10bit) / DAC7578 (12bit)

Committer:
okini3939
Date:
Mon May 14 04:23:31 2018 +0000
Revision:
0:7ebbac9efdb4
1st build

Who changed what in which revision?

UserRevisionLine numberNew 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