First Test env
This commit is contained in:
@@ -27,32 +27,20 @@
|
||||
#define OUT_A34_N SING_7
|
||||
|
||||
struct Devices {
|
||||
AD5292* pot_a, pot_b;
|
||||
ADS1256* adc_a, adc_b;
|
||||
Adafruit_SSD1306* lcd;
|
||||
PCA9555* io;
|
||||
AD5292 *pot_a = NULL, *pot_b = NULL;
|
||||
ADS1256 *adc_a = NULL, *adc_b = NULL;
|
||||
Adafruit_SSD1306* lcd = NULL;
|
||||
PCA9555* io = NULL;
|
||||
};
|
||||
|
||||
inline float adcAReadChannel(ADS1256* adc, const uint32_t ch){
|
||||
inline float adcReadChannel(ADS1256* adc, const uint32_t drdy_pin, const uint32_t ch){
|
||||
adc->setMUX(ch);
|
||||
// scarta 3 conversioni
|
||||
for (int i = 0; i < 3; i++) {
|
||||
while (digitalRead(ADC_A_DRDY));
|
||||
while (digitalRead(drdy_pin));
|
||||
adc->readSingle();
|
||||
}
|
||||
// ora lettura valida a 30kSPS → ~100 µs di settling
|
||||
while (digitalRead(ADC_A_DRDY));
|
||||
return adc->convertToVoltage(adc->readSingle());
|
||||
}
|
||||
|
||||
inline float adcBReadChannel(ADS1256* adc, const uint32_t ch){
|
||||
adc->setMUX(ch);
|
||||
// scarta 3 conversioni
|
||||
for (int i = 0; i < 3; i++) {
|
||||
while (digitalRead(ADC_B_DRDY));
|
||||
adc->readSingle();
|
||||
}
|
||||
// ora lettura valida a 30kSPS → ~100 µs di settling
|
||||
while (digitalRead(ADC_B_DRDY));
|
||||
while (digitalRead(drdy_pin));
|
||||
return adc->convertToVoltage(adc->readSingle());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user