projet3_temperature/lib/LTC2439/LTC2439.h

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 */