Library for LTC2460 ADC converter
ltc2460.h@0:7f26ce7f8ff5, 2015-05-11 (annotated)
- Committer:
- igbt6
- Date:
- Mon May 11 09:28:24 2015 +0000
- Revision:
- 0:7f26ce7f8ff5
first version of library for LTC2460 ADC converter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
igbt6 | 0:7f26ce7f8ff5 | 1 | /* |
igbt6 | 0:7f26ce7f8ff5 | 2 | @file LTC2460.h |
igbt6 | 0:7f26ce7f8ff5 | 3 | |
igbt6 | 0:7f26ce7f8ff5 | 4 | @brief LTC2460 - Ultra-Tiny, 16-Bit ΔΣ ADCs with 10ppm/°C Max Precision Reference |
igbt6 | 0:7f26ce7f8ff5 | 5 | Breakout SPI Library |
igbt6 | 0:7f26ce7f8ff5 | 6 | |
igbt6 | 0:7f26ce7f8ff5 | 7 | @Author lukasz uszko(luszko@op.pl) |
igbt6 | 0:7f26ce7f8ff5 | 8 | |
igbt6 | 0:7f26ce7f8ff5 | 9 | Tested on FRDM-KL46Z and FRDM-KL25Z |
igbt6 | 0:7f26ce7f8ff5 | 10 | |
igbt6 | 0:7f26ce7f8ff5 | 11 | Copyright (c) 2015 lukasz uszko |
igbt6 | 0:7f26ce7f8ff5 | 12 | Released under the MIT License (see http://mbed.org/license/mit) |
igbt6 | 0:7f26ce7f8ff5 | 13 | |
igbt6 | 0:7f26ce7f8ff5 | 14 | Documentation regarding the LTC2460 might be found here: |
igbt6 | 0:7f26ce7f8ff5 | 15 | http://www.linear.com/product/LTC2460 |
igbt6 | 0:7f26ce7f8ff5 | 16 | */ |
igbt6 | 0:7f26ce7f8ff5 | 17 | |
igbt6 | 0:7f26ce7f8ff5 | 18 | |
igbt6 | 0:7f26ce7f8ff5 | 19 | |
igbt6 | 0:7f26ce7f8ff5 | 20 | #ifndef LTC2460_H |
igbt6 | 0:7f26ce7f8ff5 | 21 | #define LTC2460_H |
igbt6 | 0:7f26ce7f8ff5 | 22 | |
igbt6 | 0:7f26ce7f8ff5 | 23 | #include "mbed.h" |
igbt6 | 0:7f26ce7f8ff5 | 24 | |
igbt6 | 0:7f26ce7f8ff5 | 25 | |
igbt6 | 0:7f26ce7f8ff5 | 26 | class LTC2460{ |
igbt6 | 0:7f26ce7f8ff5 | 27 | |
igbt6 | 0:7f26ce7f8ff5 | 28 | |
igbt6 | 0:7f26ce7f8ff5 | 29 | /**********private members and methods********************************/ |
igbt6 | 0:7f26ce7f8ff5 | 30 | private: |
igbt6 | 0:7f26ce7f8ff5 | 31 | |
igbt6 | 0:7f26ce7f8ff5 | 32 | DigitalOut mCSpin; |
igbt6 | 0:7f26ce7f8ff5 | 33 | SPI mSpi; |
igbt6 | 0:7f26ce7f8ff5 | 34 | double mResDividerVal; |
igbt6 | 0:7f26ce7f8ff5 | 35 | |
igbt6 | 0:7f26ce7f8ff5 | 36 | |
igbt6 | 0:7f26ce7f8ff5 | 37 | /**********public methods********************************/ |
igbt6 | 0:7f26ce7f8ff5 | 38 | public: |
igbt6 | 0:7f26ce7f8ff5 | 39 | |
igbt6 | 0:7f26ce7f8ff5 | 40 | /** Constructor- Creates an LTC2460 instance |
igbt6 | 0:7f26ce7f8ff5 | 41 | * @param cs pin |
igbt6 | 0:7f26ce7f8ff5 | 42 | * @param mosi pin |
igbt6 | 0:7f26ce7f8ff5 | 43 | * @param miso pin |
igbt6 | 0:7f26ce7f8ff5 | 44 | * @param sck pin |
igbt6 | 0:7f26ce7f8ff5 | 45 | */ |
igbt6 | 0:7f26ce7f8ff5 | 46 | LTC2460(PinName csPin , PinName mosiPin, PinName misoPin, PinName sckPin,double resDividerVal=0 ); |
igbt6 | 0:7f26ce7f8ff5 | 47 | |
igbt6 | 0:7f26ce7f8ff5 | 48 | |
igbt6 | 0:7f26ce7f8ff5 | 49 | /** Initialization: set member values and configuration registers, ought to be invoked in the body of constructor |
igbt6 | 0:7f26ce7f8ff5 | 50 | * @returns |
igbt6 | 0:7f26ce7f8ff5 | 51 | * true on success, |
igbt6 | 0:7f26ce7f8ff5 | 52 | * false on error |
igbt6 | 0:7f26ce7f8ff5 | 53 | */ |
igbt6 | 0:7f26ce7f8ff5 | 54 | bool initLTC2460(void); |
igbt6 | 0:7f26ce7f8ff5 | 55 | |
igbt6 | 0:7f26ce7f8ff5 | 56 | |
igbt6 | 0:7f26ce7f8ff5 | 57 | /*reading , writing registers |
igbt6 | 0:7f26ce7f8ff5 | 58 | |
igbt6 | 0:7f26ce7f8ff5 | 59 | */ |
igbt6 | 0:7f26ce7f8ff5 | 60 | uint16_t spiRead(void); |
igbt6 | 0:7f26ce7f8ff5 | 61 | |
igbt6 | 0:7f26ce7f8ff5 | 62 | void spiWrite(uint16_t value); |
igbt6 | 0:7f26ce7f8ff5 | 63 | |
igbt6 | 0:7f26ce7f8ff5 | 64 | /** Read volatge real value from ADC , with . |
igbt6 | 0:7f26ce7f8ff5 | 65 | * @param resistor divider value: GND---- R1 ----- ADC-----R2--- Vmeasured --> resDividerVal = R1/R2 |
igbt6 | 0:7f26ce7f8ff5 | 66 | * @returns |
igbt6 | 0:7f26ce7f8ff5 | 67 | * value of voltage measured voltage |
igbt6 | 0:7f26ce7f8ff5 | 68 | */ |
igbt6 | 0:7f26ce7f8ff5 | 69 | float readVoltage(); |
igbt6 | 0:7f26ce7f8ff5 | 70 | |
igbt6 | 0:7f26ce7f8ff5 | 71 | |
igbt6 | 0:7f26ce7f8ff5 | 72 | |
igbt6 | 0:7f26ce7f8ff5 | 73 | }; |
igbt6 | 0:7f26ce7f8ff5 | 74 | |
igbt6 | 0:7f26ce7f8ff5 | 75 | #endif |