import 'package:dashboard/hal/X9C10X.dart'; import 'package:logging/logging.dart'; import '../hal/ads1256.dart'; class HeartBeatMice { 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*/); X9c10x pot = X9c10x(ohm: 104000, gpioChip: 1, pinUd: 204, pinInc: 205); Logger log = Logger("[HeartBeatMice]"); void potSelect(){ } void potRelease(){ } void init(){ adc1.begin(Ads1256.DRATE_500SPS, Ads1256.GAIN_1, true); adc2.begin(Ads1256.DRATE_500SPS, Ads1256.GAIN_1, true); 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]; } 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; } void dispose(){ adc1.dispose(); adc2.dispose(); pot.dispose(); } }