STRUCT WILCO_EC_TELEM_REQUEST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

ok so struct wilco_ec_telem_request β€” it's literally the telemetry command plus its arguments, all bundled up and sent off to the EC. that's it, that's the whole vibe 🫢


✨ SYNOPSIS ✨

struct wilco_ec_telem_request {
    u8 command;
    u8 reserved;
    union {
      u8 buf[TELEM_ARGS_SIZE_MAX];
      struct telem_args_get_log               get_log;
      struct telem_args_get_version           get_version;
      struct telem_args_get_fan_info          get_fan_info;
      struct telem_args_get_diag_info         get_diag_info;
      struct telem_args_get_temp_info         get_temp_info;
      struct telem_args_get_temp_read         get_temp_read;
      struct telem_args_get_batt_ext_info     get_batt_ext_info;
      struct telem_args_get_batt_ppid_info    get_batt_ppid_info;
    } args;
 };

like, look at that union. it's giving "choose your fighter" energy πŸ”₯


πŸŽ€ Members πŸŽ€

  • command β€” bestie this is the moment, it's one of the WILCO_EC_TELEM_GET_* command codes. pick your icon, pick your command πŸ’…
  • reserved β€” must be 0. no cap, not 1, not "eh close enough," literally 0. respect the reserved space πŸ™ˆ
  • args β€” here's the cute part: the first N bytes are one of the telem_args_get_* structs, and the rest is 0. so it's a struct sandwich where the filling is whatever you asked for and the bread is zeroes πŸ“

🌈 SEE ALSO 🌈

the kernel file doing all the heavy lifting:

  • ./drivers/platform/chrome/wilco_ec/telemetry.c

and the rest of the squad, go say hi πŸ‘‘:


ok that's the whole page, go be iconic with your EC telemetry πŸ’œ

sign-off time 🧚 from ./drivers/platform/chrome/wilc..., dated October 2026, and the page itself is struct wilc...elem_request(9) β€” mwah, periodt πŸ’–πŸŽ€

πŸ“¦ where this page comes from