From 92d81a81d44832878f59d2be727dc46ceae600f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= Date: Mon, 9 Sep 2019 23:02:09 -0400 Subject: [PATCH] lib: get correct file for the Beaglebone Seed --- src/lib.rs | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 2d40da2..5fd29a6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -44,17 +44,30 @@ fn pwm_file_wo(chip: &PwmChip, pin: u32, name: &str) -> Result { let f = OpenOptions::new().write(true).open(format!( "/sys/class/pwm/pwmchip{}/pwm{}/{}", chip.number, pin, name - ))?; - Ok(f) + )); + if !f.is_ok() { + let f = OpenOptions::new().write(true).open(format!( + "/sys/class/pwm/pwmchip{}/pwm-{}:{}/{}", + chip.number, chip.number, pin, name + ))?; + return Ok(f); + } + Ok(f.unwrap()) } - /// Open the specified entry name as a readable file fn pwm_file_ro(chip: &PwmChip, pin: u32, name: &str) -> Result { let f = File::open(format!( - "/sys/class/pwm/pwmchip{}/pwm{}/{}", + "/sys/class/pwm/pwmchip{}/pwm{}-{}:", chip.number, pin, name - ))?; - Ok(f) + )); + if !f.is_ok() { + let f = File::open(format!( + "/sys/class/pwm/pwmchip{}/pwm{}-{}:/{}", + chip.number, chip.number, pin, name + ))?; + return Ok(f); + } + Ok(f.unwrap()) } /// Get the u32 value from the given entry