STRUCT AB8500_FG_PARAMETERS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ab8500_fg_parameters(9) β€” the full glow-up

okay so this is a page from the Kernel API Manual, and it's literally all about struct ab8500_fg_parameters β€” the fuel gauge algorithm parameters, bestie. every value is in seconds unless it says otherwise (yes, the page says that up front, iconic of it).


✨ NAME ✨

struct ab8500_fg_parameters β€” Fuel gauge algorithm parameters, in seconds if not specified 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct ab8500_fg_parameters {
    int recovery_sleep_timer;
    int recovery_total_time;
    int init_timer;
    int init_discard_time;
    int init_total_time;
    int high_curr_time;
    int accu_charging;
    int accu_high_curr;
    int high_curr_threshold_ua;
    int lowbat_threshold_uv;
    int battok_falling_th_sel0;
    int battok_raising_th_sel1;
    int user_cap_limit;
    int maint_thres;
    bool pcut_enable;
    u8 pcut_max_time;
    u8 pcut_flag_time;
    u8 pcut_max_restart;
    u8 pcut_debounce_time;
 };

like, look at her. a whole little family of ints and a few u8s. no cap, she's serving struct. πŸ’…


🌸 Members 🌸

okay bestie, member-by-member, and we're not skipping a single one:

  • recovery_sleep_timer β€” the time between measurements while recovering 😴
  • recovery_total_time β€” the total recovery time, start to finish
  • init_timer β€” the measurement interval during startup ⏱️
  • init_discard_time β€” the time we discard voltage measurement at startup (throwing it out, we don't want it)
  • init_total_time β€” the total init time during startup
  • high_curr_time β€” how long the current has to be high before we go to recovery πŸ”₯
  • accu_charging β€” the FG accumulation time while charging πŸ”‹
  • accu_high_curr β€” it's right there in the struct, but this page doesn't hand it its own blurb. iykyk, moving on πŸ™ˆ
  • high_curr_threshold_ua β€” the high current threshold, in uA
  • lowbat_threshold_uv β€” the low battery threshold, in uV
  • battok_falling_th_sel0 β€” the threshold in mV for the battOk signal sel0; resolution in 50 mV steps.
  • battok_raising_th_sel1 β€” the threshold in mV for the battOk signal sel1; resolution in 50 mV steps.
  • user_cap_limit β€” the capacity reported from the user has to be within this limit to be considered sane, in percentage points (fr fr, sane or nothing)
  • maint_thres β€” the threshold where we stop reporting battery full while in maintenance, in per cent πŸ‘‘
  • pcut_enable β€” enables the power cut feature in ab8505 βœ‚οΈ
  • pcut_max_time β€” the max time threshold
  • pcut_flag_time β€” the flagtime threshold 🚩
  • pcut_max_restart β€” the max number of restarts
  • pcut_debounce_time β€” sets the battery debounce time
ngl, that run of battok/user_cap_limit/maint_thres entries is exactly the kind of thing that gets squished together in a raw manpage. we've un-squished them here, but every threshold, unit and step size is untouched. πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, bestie, they're the friend group:

  • the Kernel file ./drivers/power/supply/ab8500-bm.h
  • struct ab8500_bm_capacity_levels(9)
  • struct ab8500_bm_charger_parameters(9)
  • struct ab8500_bm_data(9)

⭐ the sign-off ⭐

this little masterpiece lives in ./drivers/power/supply, it's dated October 2026, and it answers to struct ab8500_fg_parameters(9). that's the whole page β€” you ate, you slayed, go read ab8500-bm.h now. periodt. πŸ’œβœ¨πŸŽ€

πŸ“¦ where this page comes from