1use crate::{HwMon, SysClass};
2use std::io::Result;
3
4pub struct HwMonPwm<'a> {
5 hwmon: &'a HwMon,
6 id: u64,
7}
8
9impl<'a> HwMonPwm<'a> {
10 pub fn new(hwmon: &'a HwMon, id: u64) -> Result<Self> {
11 let s = Self { hwmon, id };
12
13 s.input()?;
14
15 Ok(s)
16 }
17
18 pub fn input(&self) -> Result<u8> {
19 self.hwmon.parse_file(&format!("pwm{}", self.id))
20 }
21
22 pub fn min(&self) -> Result<u8> {
23 self.hwmon.parse_file(&format!("pwm{}_min", self.id))
24 }
25
26 pub fn max(&self) -> Result<u8> {
27 self.hwmon.parse_file(&format!("pwm{}_max", self.id))
28 }
29
30 pub fn freq(&self) -> Result<u32> {
31 self.hwmon.parse_file(&format!("pwm{}_freq", self.id))
32 }
33
34 pub fn enable(&self) -> Result<u8> {
35 self.hwmon.parse_file(&format!("pwm{}_enable", self.id))
36 }
37
38 pub fn mode(&self) -> Result<u8> {
39 self.hwmon.parse_file(&format!("pwm{}_mode", self.id))
40 }
41}