rsiot/components/cmp_linux_gpio/
error.rs1use crate::executor::ComponentError;
2
3use super::COMPONENT_NAME;
4
5#[allow(missing_docs)]
6#[derive(Debug, thiserror::Error)]
7pub enum Error {
8 #[error("{COMPONENT_NAME} | CreateAsyncLineEventHandle: {0}")]
9 CreateAsyncLineEventHandle(linux_embedded_hal::gpio_cdev::Error),
10
11 #[error("{COMPONENT_NAME} | CreateLineEventHandle: {0}")]
12 CreateLineEventHandle(linux_embedded_hal::gpio_cdev::Error),
13
14 #[error("{COMPONENT_NAME} | GpioSetup: {0}")]
15 GpioSetup(linux_embedded_hal::gpio_cdev::Error),
16
17 #[error("{COMPONENT_NAME} | GpioSetValue: {0}")]
18 GpioSetValue(linux_embedded_hal::gpio_cdev::Error),
19
20 #[error("{COMPONENT_NAME} TaskEnd")]
21 TaskEnd,
22
23 #[error("{COMPONENT_NAME} TaskGpioInputEnd")]
24 TaskGpioInputEnd,
25
26 #[error("{COMPONENT_NAME} TaskGpioOutputEnd")]
27 TaskGpioOutputEnd,
28
29 #[error("{COMPONENT_NAME} | TokioSyncMpscSend")]
30 TokioSyncMpscSend,
31
32 #[error("{COMPONENT_NAME} | TokioTaskJoin: {0}")]
33 TokioTaskJoin(#[from] tokio::task::JoinError),
34
35 #[error("{COMPONENT_NAME} | UnwrapEvent: {0}")]
36 UnwrapEvent(linux_embedded_hal::gpio_cdev::Error),
37}
38
39impl From<Error> for ComponentError {
40 fn from(value: Error) -> Self {
41 ComponentError::Execution(value.to_string())
42 }
43}