From a8586dfadbdda04f8a08702379118f2df3022465 Mon Sep 17 00:00:00 2001 From: e-tinkers Date: Sun, 25 Jan 2026 14:50:43 +0800 Subject: [PATCH 1/2] fix VREF for DAC0 not enabled bug --- software/BatteryCapacityTester.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/software/BatteryCapacityTester.ino b/software/BatteryCapacityTester.ino index f274a4c..31eb4b3 100644 --- a/software/BatteryCapacityTester.ino +++ b/software/BatteryCapacityTester.ino @@ -310,8 +310,9 @@ void DAC_setLoad(uint16_t current) { DACreference = 0; // start finding best reference if(current > 3000) current = 3000; // limit current to max 300mA while(current > DACCUR[DACreference]) DACreference++; // search for best reference - VREF.CTRLA &= 0xf8; // clear reference bits + VREF.CTRLA &= ~VREF_DAC0REFSEL_gm; // clear reference bits VREF.CTRLA |= DACREF[DACreference]; // set new reference + VREF.CTRLB |= VERF_DAC0REFEN_bm; // enable VREF for DAC0 _delay_us(25); // wait for reference to settle DAC0.DATA = (uint32_t)255 * current / DACCUR[DACreference]; // set DAC accordingly } From 3fc23de1a62b2b0c99d7aa45171c7f49fb2b7290 Mon Sep 17 00:00:00 2001 From: e-tinkers Date: Sun, 25 Jan 2026 15:17:41 +0800 Subject: [PATCH 2/2] correct typo --- software/BatteryCapacityTester.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/software/BatteryCapacityTester.ino b/software/BatteryCapacityTester.ino index 31eb4b3..ec94b0d 100644 --- a/software/BatteryCapacityTester.ino +++ b/software/BatteryCapacityTester.ino @@ -312,7 +312,7 @@ void DAC_setLoad(uint16_t current) { while(current > DACCUR[DACreference]) DACreference++; // search for best reference VREF.CTRLA &= ~VREF_DAC0REFSEL_gm; // clear reference bits VREF.CTRLA |= DACREF[DACreference]; // set new reference - VREF.CTRLB |= VERF_DAC0REFEN_bm; // enable VREF for DAC0 + VREF.CTRLB |= VREF_DAC0REFEN_bm; // enable VREF for DAC0 _delay_us(25); // wait for reference to settle DAC0.DATA = (uint32_t)255 * current / DACCUR[DACreference]; // set DAC accordingly }