Library for LTC2460 ADC converter
ltc2460.cpp
- Committer:
- igbt6
- Date:
- 2015-05-11
- Revision:
- 0:7f26ce7f8ff5
File content as of revision 0:7f26ce7f8ff5:
#include "ltc2460.h" LTC2460::LTC2460(PinName csPin , PinName mosiPin, PinName misoPin, PinName sckPin,double resDividerVal ): mCSpin(csPin), mSpi(mosiPin, misoPin, sckPin){ mResDividerVal= resDividerVal ; if(!initLTC2460()){}; //while(1); //TODO handle error } bool LTC2460::initLTC2460(void){ // uint8_t data; // Setup the spi for 16 bit data // second edge capture, with a 1MHz clock rate mSpi.format(16,0); mSpi.frequency(1000000); return true; } uint16_t LTC2460::spiRead(void) { __disable_irq(); // Disable Interrupts mCSpin=0; uint16_t val = mSpi.write(0); // The written value is ignored, reg value is read mCSpin = 1; __enable_irq(); // Enable Interrupts return val; } void LTC2460::spiWrite(uint16_t value) { __disable_irq(); // Disable Interrupts mCSpin = 0; mSpi.write(value); // New value follows mCSpin= 1; __enable_irq(); // Enable Interrupts } float LTC2460::readVoltage() { uint16_t rawData=spiRead() ; float temp = (float)((1.25/0xFFFF)*rawData); float val = temp*mResDividerVal+temp; return val; }