Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
AD8556.h
00001 /** 00002 * @brief AD8556: Digitally Programmable Sensor Signal Amplifier with EMI Filters 00003 * http://www.analog.com/en/specialty-amplifiers/instrumentation-amplifiers/ad8556/products/product.html 00004 * @date 05/09/2013 00005 * @author F.BLANC LAAS-CNRS 00006 * http://homepages.laas.fr/fblanc/ 00007 */ 00008 #ifndef AD8556_H 00009 00010 #define AD8556_H 00011 00012 #include "mbed.h" 00013 enum ADC_MODE { 00014 ADC_MODE_SENSE_CURENT = 0x00, 00015 ADC_MODE_SIMULATION = 0x01, 00016 ADC_MODE_FUSE = 0x02, 00017 ADC_MODE_READ = 0x03 00018 }; 00019 enum ADC_FUNCTION { 00020 ADC_Change_Sense_Current = 0x00, 00021 ADC_Simulate_Parameter_Value = 0x01, 00022 ADC_Program_Parameter_Value = 0x02, 00023 ADC_Read_Parameter_Value = 0x03 00024 }; 00025 enum ADC_PARAMETER { 00026 ADC_Second_Stage_Gain_Code = 0x00, 00027 ADC_First_Stage_Gain_Code = 0x01, 00028 ADC_Output_Offset_Code = 0x02, 00029 ADC_Other_Functions = 0x03 00030 }; 00031 /** AD8556 class. 00032 * Used for controlling a AD8556 Instrumentation Amplifiers connected via Single-wire serial interface. 00033 * 00034 */ 00035 class AD8556 00036 { 00037 protected: 00038 private: 00039 /** 00040 * @brief write_bit 00041 * 00042 * @param bit 1 or 0 00043 */ 00044 void write_bit(unsigned char bit); 00045 /** 00046 * @brief read_bit 00047 * 00048 * @return bit 1 or 0 00049 */ 00050 unsigned char read_bit(); 00051 /** 00052 * @brief trame 00053 * @param parameter 00054 * @param mode 00055 * @param data 00056 */ 00057 void trame(unsigned char parameter,unsigned char mode,unsigned char data); 00058 public: 00059 /** 00060 * @brief Constructor. 00061 * @param dig 00062 */ 00063 AD8556(PinName dig); 00064 DigitalInOut _dig; 00065 00066 /** 00067 * @brief Destructor. 00068 */ 00069 ~AD8556(); 00070 /** 00071 * @brief init 00072 * @param First_Stage_Gain_Code 00073 * @param Second_Stage_Gain_Code 00074 * @param Vdac_Code 00075 */ 00076 int init(unsigned char mode=ADC_MODE_SIMULATION, unsigned char First_Stage_Gain_Code=0, unsigned char Second_Stage_Gain_Code=0,unsigned char Vdac_Code=0x7F); 00077 /** 00078 * @brief prog_vdac 00079 * @param vdac consigne (volt) 00080 * @param vdd positive voltage supply (volt) 00081 * @param vss nagative voltage supply (volt) 00082 * @param mode 00083 */ 00084 void prog_vdac(float vdac, float vdd=5.0 ,float vss=0.0, unsigned char mode=ADC_MODE_SIMULATION); 00085 /** 00086 * @brief prog_gain 00087 * @param gain 70 to 1280 00088 00089 * @param mode 00090 */ 00091 void prog_gain(float gain=70.0, unsigned char mode=ADC_MODE_SIMULATION); 00092 00093 }; 00094 #endif
Generated on Mon Jul 18 2022 13:22:21 by
