Skip to content

Commit defcaa3

Browse files
committed
expansion-bay: Add information about current status
``` framework_tool.exe --expansion-bay Expansion Bay Enabled: true Has fault: false Hatch closed: true Board: DualInterposer Serial Number: FRAXXXXXXXXXXXXXXX ``` Signed-off-by: Daniel Schaefer <dhs@frame.work>
1 parent 25a5518 commit defcaa3

File tree

3 files changed

+35
-5
lines changed

3 files changed

+35
-5
lines changed

EXAMPLES.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,15 @@ ALS: 76 Lux
6464
APU: 42 C
6565
Fan Speed: 0 RPM
6666
```
67+
68+
## Check expansion bay (Framework 16)
69+
70+
```
71+
> sudo framework_tool --expansion-bay
72+
Expansion Bay
73+
Enabled: true
74+
Has fault: false
75+
Hatch closed: true
76+
Board: DualInterposer
77+
Serial Number: FRAXXXXXXXXXXXXXXX
78+
```

framework_lib/src/chromium_ec/mod.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -817,6 +817,27 @@ impl CrosEc {
817817
res
818818
}
819819

820+
pub fn check_bay_status(&self) -> EcResult<()> {
821+
println!("Expansion Bay");
822+
823+
let info = EcRequestExpansionBayStatus {}.send_command(self)?;
824+
println!(" Enabled: {}", info.module_enabled());
825+
println!(" Has fault: {}", info.module_fault());
826+
println!(" Hatch closed: {}", info.hatch_switch_closed());
827+
match info.expansion_bay_board() {
828+
Ok(board) => println!(" Board: {:?}", board),
829+
Err(err) => println!(" Board: {:?}", err),
830+
}
831+
832+
if let Ok(sn) = self.get_gpu_serial() {
833+
println!(" Serial Number: {}", sn);
834+
} else {
835+
println!(" Serial Number: Unknown");
836+
}
837+
838+
Ok(())
839+
}
840+
820841
/// Get the GPU Serial
821842
///
822843
pub fn get_gpu_serial(&self) -> EcResult<String> {

framework_lib/src/commandline/mod.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -763,11 +763,8 @@ pub fn run_with_args(args: &Cli, _allupdate: bool) -> i32 {
763763
println!("Set mode to: {:?}", mode);
764764
ec.set_input_deck_mode((*mode).into()).unwrap();
765765
} else if args.expansion_bay {
766-
println!("Expansion Bay");
767-
if let Ok(sn) = ec.get_gpu_serial() {
768-
println!(" Serial Number: {}", sn);
769-
} else {
770-
println!(" Serial Number: Unknown");
766+
if let Err(err) = ec.check_bay_status() {
767+
error!("{:?}", err);
771768
}
772769
} else if let Some(maybe_limit) = args.charge_limit {
773770
print_err(handle_charge_limit(&ec, maybe_limit));

0 commit comments

Comments
 (0)