AD5384 DAC.
Fork of AD5384 by
AD5384.h
- Committer:
- NickRyder
- Date:
- 2014-10-07
- Revision:
- 3:0d930c475e72
- Parent:
- 1:d2d6341d3e97
File content as of revision 3:0d930c475e72:
#ifndef AD5384_H #define AD5384_H #include "solid_sctrl_def.h" #include "SWSPI.h" #include "getVersion.h" #define VERSION_AD5384_HDR "1.12" /* * class to set and readback the AD5384 * to minimize the access to the device there is a shadow of the DAC, GAIN and OFFSET values * v0.10 initial development to see if reading / writing is possible * v1.10 initial release versioni * v1.11 added init1 init2 */ class SWSPI; #include "mbed.h" //class DigitalOut; class AD5384 : public getVersion { SWSPI *spi; DigitalOut * cs; float vref; void set_spi_mode(); u16 calculate_dac_setting(u8 nr, float vout); u32 format_word(u8 mode, u8 ch, u8 rw, u16 data); u16 get_reg(u8 mode, u8 ch); u32 set_reg(u8 mode, u8 ch, u16 value); public: AD5384(SWSPI * spiinterface, DigitalOut * chipselect); u16 dac[40]; u16 gain[40]; u16 offset[40]; float volt[40]; u16 get_dac(u8 ch); u16 set_dac(u8 ch, u16 dac); u16 get_ch_out_reg(u8 ch) ; u16 set_volt(u8 nr, float vout); u16 set_gain(u8 ch, u16 gain); u16 get_gain(u8 ch); u16 set_offset(u8 ch, u16 gain); u16 get_offset(u8 ch); // ctnrls u32 get_ctrl(); u32 soft_clr(); u32 soft_rst(); u32 clear_code(); void init1(); void init2(); }; #endif