battery level display fixes
This commit is contained in:
		
							parent
							
								
									9e52874d4b
								
							
						
					
					
						commit
						60391792d1
					
				@ -12,10 +12,10 @@
 | 
				
			|||||||
#define NO_OF_SAMPLES 64  // we do some multisampling to get better values
 | 
					#define NO_OF_SAMPLES 64  // we do some multisampling to get better values
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef BAT_MAX_VOLTAGE
 | 
					#ifndef BAT_MAX_VOLTAGE
 | 
				
			||||||
#define BAT_MAX_VOLTAGE 4300 // millivolts
 | 
					#define BAT_MAX_VOLTAGE 4200 // millivolts
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#ifndef BAT_MIN_VOLTAGE
 | 
					#ifndef BAT_MIN_VOLTAGE
 | 
				
			||||||
#define BAT_MIN_VOLTAGE 3200 // millivolts
 | 
					#define BAT_MIN_VOLTAGE 2800 // millivolts
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uint16_t read_voltage(void);
 | 
					uint16_t read_voltage(void);
 | 
				
			||||||
 | 
				
			|||||||
@ -224,18 +224,20 @@ uint8_t read_battlevel() {
 | 
				
			|||||||
  const uint16_t batt_voltage_range = BAT_MAX_VOLTAGE - BAT_MIN_VOLTAGE;
 | 
					  const uint16_t batt_voltage_range = BAT_MAX_VOLTAGE - BAT_MIN_VOLTAGE;
 | 
				
			||||||
  const uint8_t batt_level_range = MCMD_DEVS_BATT_MAX - MCMD_DEVS_BATT_MIN + 1;
 | 
					  const uint8_t batt_level_range = MCMD_DEVS_BATT_MAX - MCMD_DEVS_BATT_MIN + 1;
 | 
				
			||||||
  const int batt_voltage = read_voltage() - BAT_MIN_VOLTAGE;
 | 
					  const int batt_voltage = read_voltage() - BAT_MIN_VOLTAGE;
 | 
				
			||||||
  const uint8_t batt_percent = (batt_voltage > 0)
 | 
					  const uint8_t batt_percent =
 | 
				
			||||||
                                   ? (float)batt_voltage / (float)batt_voltage_range * 100.0
 | 
					      (batt_voltage > 0)
 | 
				
			||||||
                                   : MCMD_DEVS_BATT_NOINFO;
 | 
					          ? (float)batt_voltage / (float)batt_voltage_range * 100.0
 | 
				
			||||||
 | 
					          : MCMD_DEVS_BATT_NOINFO;
 | 
				
			||||||
  uint8_t lmic_batt_level;
 | 
					  uint8_t lmic_batt_level;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ESP_LOGD(TAG, "batt_voltage = %d mV / batt_level = %u%%", batt_voltage,
 | 
					  ESP_LOGD(TAG, "batt_voltage = %dmV / batt_level = %u%%",
 | 
				
			||||||
           batt_percent);
 | 
					           batt_voltage + BAT_MIN_VOLTAGE, batt_percent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (batt_percent != MCMD_DEVS_BATT_NOINFO)
 | 
					  if (batt_percent != MCMD_DEVS_BATT_NOINFO)
 | 
				
			||||||
#ifdef HAS_PMU
 | 
					#ifdef HAS_PMU
 | 
				
			||||||
    lmic_batt_level = pmu.isVBUSPlug() ? MCMD_DEVS_EXT_POWER
 | 
					    lmic_batt_level = pmu.isVBUSPlug() ? MCMD_DEVS_EXT_POWER
 | 
				
			||||||
                                       : (float)batt_percent / (float)batt_level_range * 100.0;
 | 
					                                       : (float)batt_percent /
 | 
				
			||||||
 | 
					                                             (float)batt_level_range * 100.0;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
    lmic_batt_level = (float)batt_percent / (float)batt_level_range * 100.0;
 | 
					    lmic_batt_level = (float)batt_percent / (float)batt_level_range * 100.0;
 | 
				
			||||||
#endif // HAS_PMU
 | 
					#endif // HAS_PMU
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user