2024-09-15 18:06:05 +07:00
|
|
|
import 'package:dashboard/hal/X9C10X.dart';
|
2024-09-24 10:10:13 +07:00
|
|
|
import 'package:logging/logging.dart';
|
2024-09-15 18:06:05 +07:00
|
|
|
|
|
|
|
import '../hal/ads1256.dart';
|
2024-09-02 09:47:21 +07:00
|
|
|
|
|
|
|
class HeartBeatMice {
|
2024-09-24 10:10:13 +07:00
|
|
|
Ads1256 adc1 = Ads1256(tag: "adc1",
|
|
|
|
spiBus: 1,
|
|
|
|
spiChip: 0,
|
|
|
|
gpioChip: 1,
|
|
|
|
pinDrdy: 202,
|
|
|
|
pinCS: 13,
|
|
|
|
isCSActiveHigh: false,
|
|
|
|
pinReset: 20);
|
|
|
|
Ads1256 adc2 = Ads1256(tag: "adc2",
|
|
|
|
spiBus: 1,
|
|
|
|
spiChip: 0,
|
|
|
|
gpioChip: 1,
|
|
|
|
pinDrdy: 6,
|
|
|
|
pinCS: 21,
|
|
|
|
isCSActiveHigh: false,
|
|
|
|
/*pinReset: 20*/);
|
2024-09-15 18:06:05 +07:00
|
|
|
X9c10x pot = X9c10x(ohm: 104000, gpioChip: 1, pinUd: 204, pinInc: 205);
|
2024-09-24 10:10:13 +07:00
|
|
|
Logger log = Logger("[HeartBeatMice]");
|
|
|
|
|
2024-09-15 18:06:05 +07:00
|
|
|
|
|
|
|
void potSelect(){
|
|
|
|
|
|
|
|
}
|
|
|
|
void potRelease(){
|
|
|
|
|
|
|
|
}
|
|
|
|
void init(){
|
2024-09-24 10:10:13 +07:00
|
|
|
adc1.begin(Ads1256.DRATE_500SPS, Ads1256.GAIN_1, true);
|
|
|
|
adc2.begin(Ads1256.DRATE_500SPS, Ads1256.GAIN_1, true);
|
2024-09-15 18:06:05 +07:00
|
|
|
adc1.ioDir = [Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT];
|
|
|
|
adc2.ioDir = [Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT, Ads1256.IO_DIR_OUT];
|
|
|
|
}
|
2024-09-24 10:10:13 +07:00
|
|
|
|
|
|
|
int readAnalog(int no){
|
|
|
|
var adc = switch (no) {
|
|
|
|
1 || 2 || 3 || 4 || 9 || 10 || 11 || 12 =>adc2,
|
|
|
|
5 || 6 || 7 || 8 || 13 || 14 || 15 || 16 || _ =>adc1,
|
|
|
|
};
|
|
|
|
var ain = switch (no) {
|
|
|
|
1 || 15=>Ads1256.MUXP_AIN0,
|
|
|
|
2 || 14=>Ads1256.MUXP_AIN1,
|
|
|
|
13=>Ads1256.MUXP_AIN2,
|
|
|
|
8=>Ads1256.MUXP_AIN3,
|
|
|
|
12=>Ads1256.MUXP_AIN4,
|
|
|
|
4 || 6 || 11=>Ads1256.MUXP_AIN5,
|
|
|
|
3 || 5 || 10=>Ads1256.MUXP_AIN6,
|
|
|
|
7 || 9 || 16=>Ads1256.MUXP_AIN7,
|
|
|
|
_=>Ads1256.MUXP_AINCOM
|
|
|
|
};
|
|
|
|
log.info('readAnalog() <$no>');
|
|
|
|
log.info('> adc : <${adc.log.name}> | ain : <${ain.toRadixString(16)}> ');
|
|
|
|
var r = adc.analogRead(ain, Ads1256.MUXN_AINCOM);
|
|
|
|
log.info('> $r');
|
|
|
|
return r;
|
2024-09-15 18:06:05 +07:00
|
|
|
}
|
2024-09-24 10:10:13 +07:00
|
|
|
|
|
|
|
void dispose(){
|
2024-09-15 18:06:05 +07:00
|
|
|
adc1.dispose();
|
|
|
|
adc2.dispose();
|
2024-09-24 10:10:13 +07:00
|
|
|
pot.dispose();
|
2024-09-02 09:47:21 +07:00
|
|
|
}
|
|
|
|
}
|