From e7ce0d0d4faea37cddd33538844c592fe4917cac Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 1 May 2025 18:23:22 -0700 Subject: [PATCH 1/3] --expansion-bay: Improved wording In the case everything is good, everything should say true. That makes it easier at a glance to understand. Also we call it "Interposer Door", not hatch. Signed-off-by: Daniel Schaefer --- EXAMPLES.md | 4 ++-- framework_lib/src/chromium_ec/mod.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index 76d6755a..97a2c844 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -145,8 +145,8 @@ ALS: 76 Lux > sudo framework_tool --expansion-bay Expansion Bay Enabled: true - Has fault: false - Hatch closed: true + No fault: true + Door closed: true Board: DualInterposer Serial Number: FRAXXXXXXXXXXXXXXX ``` diff --git a/framework_lib/src/chromium_ec/mod.rs b/framework_lib/src/chromium_ec/mod.rs index ff0327d4..67a47f67 100644 --- a/framework_lib/src/chromium_ec/mod.rs +++ b/framework_lib/src/chromium_ec/mod.rs @@ -961,8 +961,8 @@ impl CrosEc { let info = EcRequestExpansionBayStatus {}.send_command(self)?; println!(" Enabled: {}", info.module_enabled()); - println!(" Has fault: {}", info.module_fault()); - println!(" Hatch closed: {}", info.hatch_switch_closed()); + println!(" No fault: {}", !info.module_fault()); + println!(" Door closed: {}", info.hatch_switch_closed()); match info.expansion_bay_board() { Ok(board) => println!(" Board: {:?}", board), Err(err) => println!(" Board: {:?}", err), From 49eb0b914ee2f11124614ba6d3f3259adf199fac Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 1 May 2025 19:08:51 -0700 Subject: [PATCH 2/3] --inputdeck: Positive wording Normal case should use all-positive wording. If everything's good it should say "true" and "present" Signed-off-by: Daniel Schaefer --- EXAMPLES.md | 37 ++++++++++++++++++++++++++++ framework_lib/src/chromium_ec/mod.rs | 6 ++--- 2 files changed, 40 insertions(+), 3 deletions(-) diff --git a/EXAMPLES.md b/EXAMPLES.md index 97a2c844..8f61c6bd 100644 --- a/EXAMPLES.md +++ b/EXAMPLES.md @@ -74,6 +74,43 @@ LED Matrix [...] ``` +## Check input deck status + +### On Framework 12 + +``` +> framework_tool --inputdeck +Input Deck + Chassis Closed: true + Power Button Board: Present + Audio Daughterboard: Present + Touchpad: Present +``` + +### On Framework 13 + +``` +> framework_tool --inputdeck +Input Deck + Chassis Closed: true + Audio Daughterboard: Present + Touchpad: Present +``` + +### On Framework 16 + +``` +> framework_tool --inputdeck +Chassis Closed: true +Input Deck State: On +Touchpad present: true +Positions: + Pos 0: GenericC + Pos 1: KeyboardA + Pos 2: Disconnected + Pos 3: Disconnected + Pos 4: GenericC +``` ## Check temperatures and fan speed diff --git a/framework_lib/src/chromium_ec/mod.rs b/framework_lib/src/chromium_ec/mod.rs index 67a47f67..a01bb7b7 100644 --- a/framework_lib/src/chromium_ec/mod.rs +++ b/framework_lib/src/chromium_ec/mod.rs @@ -483,7 +483,7 @@ impl CrosEc { let is_present = |p| if p { "Present" } else { "Missing" }; println!("Input Deck"); - println!(" Chassis Open: {}", intrusion.currently_open); + println!(" Chassis Closed: {}", intrusion.currently_open); println!(" Power Button Board: {}", is_present(pwrbtn.is_some())); println!(" Audio Daughterboard: {}", is_present(audio.is_some())); println!(" Touchpad: {}", is_present(tp.is_some())); @@ -511,7 +511,7 @@ impl CrosEc { let is_present = |p| if p { "Present" } else { "Missing" }; println!("Input Deck"); - println!(" Chassis Open: {}", intrusion.currently_open); + println!(" Chassis Closed: {}", intrusion.currently_open); println!(" Audio Daughterboard: {}", is_present(audio.is_some())); println!(" Touchpad: {}", is_present(tp.is_some())); @@ -521,7 +521,7 @@ impl CrosEc { pub fn print_fw16_inputdeck_status(&self) -> EcResult<()> { let intrusion = self.get_intrusion_status()?; let status = self.get_input_deck_status()?; - println!("Chassis Open: {}", intrusion.currently_open); + println!("Chassis Closed: {}", intrusion.currently_open); println!("Input Deck State: {:?}", status.state); println!("Touchpad present: {}", status.touchpad_present); println!("Positions:"); From d3a9f76acaa67f0bd1725b90002fb96e3427dbf4 Mon Sep 17 00:00:00 2001 From: Daniel Schaefer Date: Thu, 1 May 2025 19:22:02 -0700 Subject: [PATCH 3/3] --features: Make the output prettier ``` framework_tool.exe --features ID | Name | Enabled? -- | --------------------------- | -------- 0 | Limited | false 1 | Flash | true 2 | PwmFan | true 3 | PwmKeyboardBacklight | false 4 | Lightbar | false 5 | Led | true [...] ``` Signed-off-by: Daniel Schaefer --- framework_lib/src/chromium_ec/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/framework_lib/src/chromium_ec/mod.rs b/framework_lib/src/chromium_ec/mod.rs index a01bb7b7..06041791 100644 --- a/framework_lib/src/chromium_ec/mod.rs +++ b/framework_lib/src/chromium_ec/mod.rs @@ -1086,6 +1086,8 @@ impl CrosEc { /// Check features supported by the firmware pub fn get_features(&self) -> EcResult<()> { let data = EcRequestGetFeatures {}.send_command(self)?; + println!(" ID | Name | Enabled?"); + println!(" -- | --------------------------- | --------"); for i in 0..64 { let byte = i / 32; let bit = i % 32; @@ -1093,7 +1095,8 @@ impl CrosEc { let feat: Option = FromPrimitive::from_usize(i); if let Some(feat) = feat { - println!("{:>2}: {:>5} {:?}", i, val, feat); + let name = format!("{:?}", feat); + println!(" {:>2} | {:<27} | {:>5}", i, name, val); } }