1#[derive(Debug, thiserror::Error)]
5pub enum PowerManagerError {
6 #[error("OS error: {0:?}")]
7 XousError(xous::Error),
8
9 #[cfg(keyos)]
10 #[error("I2C error: {0:?}")]
11 I2cError(i2c::I2cError),
12
13 #[error("Unknown internal error")]
14 UnknownError,
15}
16
17impl From<xous::Error> for PowerManagerError {
18 fn from(value: xous::Error) -> Self { PowerManagerError::XousError(value) }
19}
20
21#[cfg(keyos)]
22impl From<i2c::I2cError> for PowerManagerError {
23 fn from(value: i2c::I2cError) -> Self { PowerManagerError::I2cError(value) }
24}
25
26impl From<()> for PowerManagerError {
27 fn from(_: ()) -> Self { PowerManagerError::UnknownError }
28}