80 lines
1.9 KiB
C++
80 lines
1.9 KiB
C++
//
|
|
// LTC2439.hpp
|
|
// libLTC
|
|
//
|
|
// Created by Tim THUREL on 04/03/2020.
|
|
// Copyright © 2020 Tim THUREL. All rights reserved.
|
|
//
|
|
|
|
|
|
|
|
|
|
/*! \mainpage Guide de démarrage
|
|
*
|
|
* \section intro_sec Introduction
|
|
*
|
|
* Cette librairie sert à dialoguer avec un LTC2439. Elle donne la valeur binaire renvoyer par l'ADC attention cette valeur peut être negative si Vcom > Vref-
|
|
*
|
|
* Elle fonctionne sur arduino, attention de bien utiliser une arduino en 3.3V car le LTC2439 ne fonctionne qu'en 3.3V
|
|
*
|
|
* Cette librairie à été testé sur un ATmega328P
|
|
*/
|
|
|
|
#ifndef LTC2439.h
|
|
#define LTC2439.h
|
|
|
|
#include <stdint.h>
|
|
#include "SPI.h"
|
|
#include <Arduino.h>
|
|
|
|
#define DEBUG
|
|
|
|
//#define ARDUINO
|
|
|
|
#ifdef ARDUINO
|
|
|
|
static bool toggle = 0;
|
|
static int pinF0;
|
|
#endif
|
|
|
|
/*! \class LTC LTC2439.h <LTC2439.h>
|
|
* \brief Classe utilisé pour la librairie LTC2439
|
|
*/
|
|
class LTC
|
|
{
|
|
public:
|
|
LTC(int CSpin);
|
|
/*! \fn LTC(int CSpin);
|
|
* \param CSpin Le numéro de pin de CS de l'ADC.
|
|
*/
|
|
LTC(int CSpin, int SDOpin);
|
|
/*! \fn LTC(int CSpin, int SDOpin);
|
|
* \param CSpin Le numéro de pin de CS de l'ADC.
|
|
* \param SDOpin Le numéro de pin du SDO de l'ADC.
|
|
*/
|
|
LTC(int CSpin, int SDOpin, int F0pin);
|
|
/*! \fn LTC(int CSpin, int SDOpin, int F0pin);
|
|
* \param CSpin Le numéro de pin de CS de l'ADC.
|
|
* \param SDOpin Le numéro de pin du SDO de l'ADC.
|
|
* \param F0pin Le numéro de pin du F0 de l'ADC (Attention cette fonctionnalité n'est pas utilisée dans le projet, elle est remplacée par un NE555)
|
|
*/
|
|
long readValue(int channel); // renvoie la valeur du channel en cours
|
|
|
|
/*! \fn long readValue(int channel);
|
|
* \param channel Le canal ou vous voulez lire la valeur.
|
|
* \return La valeur du canal de l'ADC dans un long.
|
|
*/
|
|
|
|
#ifdef ARDUINO
|
|
void startTimer(int frequency);
|
|
#endif
|
|
|
|
private:
|
|
int selectPin,pinConv;
|
|
int tableChanel[16]{0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15}; // tableau des Pins
|
|
};
|
|
|
|
|
|
|
|
#endif /* LTC2439_hpp */
|