mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.1.1 ADC08XS
This commit is contained in:
parent
7276c4cb9a
commit
fd4de0c136
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADC08XS.cpp
|
// FILE: ADC08XS.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.1.0
|
// VERSION: 0.1.1
|
||||||
// DATE: 2024-01-13
|
// DATE: 2024-01-13
|
||||||
// PURPOSE: Arduino library for ADC082S, ADC084S, ADC102S, ADC104S, ADC122S, ADC124S,
|
// PURPOSE: Arduino library for ADC082S, ADC084S, ADC102S, ADC104S, ADC122S, ADC124S,
|
||||||
// 8, 10, 12 bits, 2 or 4 channel ADC (SPI).
|
// 8, 10, 12 bits, 2 or 4 channel ADC (SPI).
|
||||||
@ -91,6 +91,12 @@ uint16_t ADC08XS::read(uint8_t channel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int ADC08XS::deltaRead(uint8_t chanA, uint8_t chanB)
|
||||||
|
{
|
||||||
|
return int(read(chanA)) - int(read(chanB));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void ADC08XS::setSPIspeed(uint32_t speed)
|
void ADC08XS::setSPIspeed(uint32_t speed)
|
||||||
{
|
{
|
||||||
_SPIspeed = speed;
|
_SPIspeed = speed;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADC08XS.h
|
// FILE: ADC08XS.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.1.0
|
// VERSION: 0.1.1
|
||||||
// DATE: 2024-01-13
|
// DATE: 2024-01-13
|
||||||
// PURPOSE: Arduino library for ADC082S, ADC084S, ADC102S, ADC104S, ADC122S, ADC124S,
|
// PURPOSE: Arduino library for ADC082S, ADC084S, ADC102S, ADC104S, ADC122S, ADC124S,
|
||||||
// 8, 10, 12 bits, 2 or 4 channel ADC (SPI).
|
// 8, 10, 12 bits, 2 or 4 channel ADC (SPI).
|
||||||
@ -14,7 +14,7 @@
|
|||||||
#include "SPI.h"
|
#include "SPI.h"
|
||||||
|
|
||||||
|
|
||||||
#define ADC08XS_LIB_VERSION (F("0.1.0"))
|
#define ADC08XS_LIB_VERSION (F("0.1.1"))
|
||||||
|
|
||||||
|
|
||||||
#ifndef __SPI_CLASS__
|
#ifndef __SPI_CLASS__
|
||||||
@ -39,6 +39,7 @@ public:
|
|||||||
uint16_t maxValue();
|
uint16_t maxValue();
|
||||||
uint8_t maxChannel();
|
uint8_t maxChannel();
|
||||||
uint16_t read(uint8_t channel);
|
uint16_t read(uint8_t channel);
|
||||||
|
int deltaRead(uint8_t chanA, uint8_t chanB);
|
||||||
|
|
||||||
// speed in Hz
|
// speed in Hz
|
||||||
void setSPIspeed(uint32_t speed);
|
void setSPIspeed(uint32_t speed);
|
||||||
|
@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.1.1] - 2024-01-16
|
||||||
|
- add **int deltaRead(chanA, chanB)**
|
||||||
|
- add example **ADC08XS_deltaRead.ino**
|
||||||
|
- fix select pin in **ADC08XS_read.ino**
|
||||||
|
- update readme.md
|
||||||
|
|
||||||
|
|
||||||
## [0.1.0] - 2024-01-13
|
## [0.1.0] - 2024-01-13
|
||||||
- initial version.
|
- initial version.
|
||||||
|
|
||||||
|
@ -125,8 +125,13 @@ depending on number of bits / class.
|
|||||||
- **uint16_t read(uint8_t channel)** reads the value of the device.
|
- **uint16_t read(uint8_t channel)** reads the value of the device.
|
||||||
The parameter channel must be 0,1,2,3, depending on device.
|
The parameter channel must be 0,1,2,3, depending on device.
|
||||||
Invalid channels will always return zero 0.
|
Invalid channels will always return zero 0.
|
||||||
- **void setSPIspeed(uint32_t speed)** sets SPI clock in **Hz**, please read datasheet
|
- **int deltaRead(chanA, chanB)** read channel A and B and return the difference.
|
||||||
of the ADC first to get optimal speed.
|
Note that the value can be negative if read(B) > read(A) or zero.
|
||||||
|
if chanA == chanB there will be two reads of the same channel just
|
||||||
|
a few microseconds apart, most often returning 0.
|
||||||
|
The function does not check if both channels are the same.
|
||||||
|
- **void setSPIspeed(uint32_t speed)** sets SPI clock in **Hz**,
|
||||||
|
please read datasheet of the ADC first to get optimal speed.
|
||||||
- **uint32_t getSPIspeed()** returns current speed in **Hz**.
|
- **uint32_t getSPIspeed()** returns current speed in **Hz**.
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,51 @@
|
|||||||
|
//
|
||||||
|
// FILE: ADC08XS_deltaRead.ino
|
||||||
|
// AUTHOR: Rob Tillaart
|
||||||
|
// PURPOSE: demo
|
||||||
|
// URL: https://github.com/RobTillaart/ADC08XS
|
||||||
|
|
||||||
|
|
||||||
|
#include "ADC08XS.h"
|
||||||
|
|
||||||
|
|
||||||
|
ADC124S adc01(5, 6, 7); // use SWSPI
|
||||||
|
|
||||||
|
uint32_t start, stop;
|
||||||
|
|
||||||
|
|
||||||
|
void setup()
|
||||||
|
{
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println(__FILE__);
|
||||||
|
Serial.print("ADC08XS_LIB_VERSION: ");
|
||||||
|
Serial.println(ADC08XS_LIB_VERSION);
|
||||||
|
|
||||||
|
adc01.begin(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void loop()
|
||||||
|
{
|
||||||
|
|
||||||
|
// ADC124S has several possible combinations for deltaRead
|
||||||
|
// including using the same channel twice.
|
||||||
|
Serial.println("A\tB\tDelta");
|
||||||
|
for (int A = 0; A < 4; A++)
|
||||||
|
{
|
||||||
|
for (int B = 0; B < 4; B++)
|
||||||
|
{
|
||||||
|
Serial.print(A);
|
||||||
|
Serial.print("\t");
|
||||||
|
Serial.print(B);
|
||||||
|
Serial.print("\t");
|
||||||
|
Serial.println(adc01.deltaRead(A, B));
|
||||||
|
delay(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Serial.println();
|
||||||
|
Serial.println();
|
||||||
|
delay(5000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// -- END OF FILE --
|
@ -22,7 +22,7 @@ void setup()
|
|||||||
Serial.println(ADC08XS_LIB_VERSION);
|
Serial.println(ADC08XS_LIB_VERSION);
|
||||||
|
|
||||||
adc01.begin(10);
|
adc01.begin(10);
|
||||||
adc02.begin(5);
|
adc02.begin(4);
|
||||||
|
|
||||||
Serial.println();
|
Serial.println();
|
||||||
Serial.println("ADC\tMAXVALUE");
|
Serial.println("ADC\tMAXVALUE");
|
||||||
|
@ -17,6 +17,7 @@ maxValue KEYWORD2
|
|||||||
maxChannel KEYWORD2
|
maxChannel KEYWORD2
|
||||||
|
|
||||||
read KEYWORD2
|
read KEYWORD2
|
||||||
|
deltaRead KEYWORD2
|
||||||
|
|
||||||
setSPIspeed KEYWORD2
|
setSPIspeed KEYWORD2
|
||||||
getSPIspeed KEYWORD2
|
getSPIspeed KEYWORD2
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/ADC08XS.git"
|
"url": "https://github.com/RobTillaart/ADC08XS.git"
|
||||||
},
|
},
|
||||||
"version": "0.1.0",
|
"version": "0.1.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=ADC08XS
|
name=ADC08XS
|
||||||
version=0.1.0
|
version=0.1.1
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for ADC08XS 8, 10, 12 bit ADC (SPI), 2 or 4 channel.
|
sentence=Arduino library for ADC08XS 8, 10, 12 bit ADC (SPI), 2 or 4 channel.
|
||||||
|
Loading…
Reference in New Issue
Block a user