Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

HDD6330: Simplify strange OF voltage calculation, it's linear anyway.

Change-Id: I33ecad4a265a4c7e8883da7b6d28fb061a4c8e68

+2 -16
+2 -16
firmware/target/arm/philips/hdd6330/powermgmt-hdd6330.c
··· 24 24 #include "adc.h" 25 25 #include "powermgmt.h" 26 26 27 - #define SMLAL(lo, hi, x, y) \ 28 - asm volatile ("smlal %0, %1, %2, %3" \ 29 - : "+r" (lo), "+r" (hi) \ 30 - : "%r" (x), "r" (y)) 31 - 32 27 const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = 33 28 { 34 29 3550 ··· 53 48 }; 54 49 #endif /* CONFIG_CHARGING */ 55 50 56 - #define BATTERY_SCALE_FACTOR 4200 51 + #define BATTERY_SCALE_FACTOR 4536 57 52 /* full-scale ADC readout (2^10) in millivolt */ 58 53 59 54 /* Returns battery voltage from ADC [millivolts] */ 60 55 int _battery_voltage(void) 61 56 { 62 - /* return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; */ 63 - 64 - /* This may be overly complicated (pulled from the OF) */ 65 - int lo = 0; 66 - int val = adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR; 67 - 68 - SMLAL(lo, val, 0x8a42f871, val); 69 - val>>= 9; 70 - val -= (val >> 31); 71 - return val; 57 + return (adc_read(ADC_UNREG_POWER) * BATTERY_SCALE_FACTOR) >> 10; 72 58 }