From fd9af9166c0e1c8470b0ccc06acf18b42c5ce03b Mon Sep 17 00:00:00 2001 From: Tim THUREL Date: Wed, 13 May 2020 16:17:57 +0200 Subject: [PATCH] Modification de la lib MesureADC --- lib/MesureADC/LTC2439.cpp | 154 ------------------------------------- lib/MesureADC/LTC2439.h | 44 ----------- lib/MesureADC/keywords.txt | 5 +- 3 files changed, 1 insertion(+), 202 deletions(-) delete mode 100644 lib/MesureADC/LTC2439.cpp delete mode 100644 lib/MesureADC/LTC2439.h diff --git a/lib/MesureADC/LTC2439.cpp b/lib/MesureADC/LTC2439.cpp deleted file mode 100644 index b4643b8..0000000 --- a/lib/MesureADC/LTC2439.cpp +++ /dev/null @@ -1,154 +0,0 @@ -// -// LTC2439.cpp -// libLTC -// -// Created by Tim THUREL on 04/03/2020. -// Copyright © 2020 Tim THUREL. All rights reserved. -// - -#include "LTC2439.h" - - - -#ifdef DEBUG - -#endif - - -LTC::LTC(int CSpin){ - SPI.begin(); // démarage et configuration du SPI - SPI.setBitOrder(MSBFIRST); - SPI.setDataMode(SPI_MODE0); - SPI.setClockDivider(SPI_CLOCK_DIV16); - - pinMode(CSpin, OUTPUT); // mise en sortie de la pin de CS - pinMode(CSpin, HIGH); - - pinConv = 12; // pin de SDO en dur - selectPin = CSpin; - SPI.end(); -} - -LTC::LTC(int CSpin, int SDOpin){ - SPI.begin(); // démarage et configuration du SPI - SPI.setBitOrder(MSBFIRST); - SPI.setDataMode(SPI_MODE0); - SPI.setClockDivider(SPI_CLOCK_DIV16); - - pinMode(CSpin, OUTPUT); // mise en sortie de la pin de CS - pinMode(CSpin, HIGH); - - pinConv = SDOpin; // pin de SDO - selectPin = CSpin; - SPI.end(); -} -LTC::LTC(int CSpin, int SDOpin, int F0pin){ - SPI.begin(); // démarage et configuration du SPI - SPI.setBitOrder(MSBFIRST); - SPI.setDataMode(SPI_MODE0); - SPI.setClockDivider(SPI_CLOCK_DIV16); - - pinMode(CSpin, OUTPUT); // mise en sortie de la pin de CS - pinMode(CSpin, HIGH); - - pinMode(F0pin, OUTPUT); - pinMode(F0pin, LOW); - - pinConv = SDOpin; // pin de SDO - selectPin = CSpin; - pinF0 = F0pin; // pin de Clock - SPI.end(); -} - -long LTC::readValue(int channel){ - - //envoie de la commande - - digitalWrite(selectPin, LOW); // on selectionne le LTC - - pinMode(pinConv, INPUT); - - while(digitalRead(pinConv) == 1){} // On attend qu'il réponde - - SPI.begin(); - SPI.beginTransaction(SPISettings(500000, MSBFIRST,SPI_MODE0)); // Parametrage du SPI - - SPI.transfer(0b10110000 | tableChanel[channel]); // envoie d'une conversion - digitalWrite(selectPin, HIGH); // on déselectionne le LTC - - SPI.end(); - - - #ifndef ARDUINO - delay(5); - #endif - // recuperation des data - digitalWrite(selectPin, LOW); // On selectionne le LTC - - pinMode(pinConv, INPUT); - - while(digitalRead(pinConv) == 1){} // On attend qu'il réponde - - SPI.begin(); - SPI.beginTransaction(SPISettings(500000, MSBFIRST,SPI_MODE0)); // Parametrage du SPI - - int8_t bitsleft = 19; - long result = 0; - - while(bitsleft > 0) { // On récupère les data - result <<= 8; - result |= SPI.transfer(0); - bitsleft -= 8; - } - - SPI.end(); - - digitalWrite(selectPin,HIGH); - result >>= -bitsleft; // On traite les data - int pos = (result & 0b10000000000000000)>> 16; - unsigned long mask = 0b1111111111111111; - result &= mask; - - if(!pos && result != 0){ // test des data - result = result | (~mask); - } - return result; // on envoie les data -} - - -#ifdef ARDUINO // Projet avec la pin FO non fini car remplacé par un NE555 - -//void LTC::startTimer(int frequency) -//{ -// cli();//stop interrupts -// -// TCCR2A = 0;// set entire TCCR2A register to 0 -// TCCR2B = 0;// same for TCCR2B -// TCNT2 = 0;//initialize counter value to 0 -// -// OCR2A = (1/frequency)*5*10^5; -// // turn on CTC mode -// TCCR2A |= (1 << WGM21); -// // Set CS21 bit for 8 prescaler -// TCCR2B |= (1 << CS21); -// // enable timer compare interrupt -// TIMSK2 |= (1 << OCIE2A); -// -// sei();//allow interrupts -//} -// -//ISR(TIMER2_COMPA_vect){ -// toggle = !toggle; -// digitalWrite(pinF0,toggle); -// -//} - -#endif - - - - - - - - diff --git a/lib/MesureADC/LTC2439.h b/lib/MesureADC/LTC2439.h deleted file mode 100644 index 0a3da5b..0000000 --- a/lib/MesureADC/LTC2439.h +++ /dev/null @@ -1,44 +0,0 @@ -// -// LTC2439.hpp -// libLTC -// -// Created by Tim THUREL on 04/03/2020. -// Copyright © 2020 Tim THUREL. All rights reserved. -// - -#ifndef LTC2439_hpp -#define LTC2439_hpp - -#include -#include "SPI.h" -#include - -#define DEBUG -//#define ARDUINO - -#ifdef ARDUINO - -static bool toggle = 0; -static int pinF0; -#endif - -class LTC -{ -public: - LTC(int CSpin); - LTC(int CSpin, int SDOpin); - LTC(int CSpin, int SDOpin, int F0pin); - long readValue(int channel); // renvoie la valeur du channel en cours - - #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 */ diff --git a/lib/MesureADC/keywords.txt b/lib/MesureADC/keywords.txt index b76090f..1865f39 100644 --- a/lib/MesureADC/keywords.txt +++ b/lib/MesureADC/keywords.txt @@ -5,14 +5,11 @@ ####################################### # Datatypes (KEYWORD1) MesureADC.h KEYWORD1 -LTC2439 KEYWORD1 ####################################### # Methods and Functions (KEYWORD2) ####################################### -LTC KEYWORD2 -readValue KEYWORD2 -startTimer KEYWORD2 + MesureADC KEYWORD2 ReadTemp KEYWORD2