Skip to main content

rsiot/components/cmp_esp_speed/
error.rs

1use 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} | CreatePinDriver: {0}")]
9    CreatePinDriver(esp_idf_svc::sys::EspError),
10
11    #[error("{COMPONENT_NAME} | SetGpioOutput: {0}")]
12    SetGpioOutput(esp_idf_svc::sys::EspError),
13
14    #[error("{COMPONENT_NAME} | TaskFnProcessEnd")]
15    TaskFnProcessEnd,
16
17    #[error("{COMPONENT_NAME} | TaskEndCalculate")]
18    TaskEndCalculate,
19
20    #[error("{COMPONENT_NAME} | TaskEndEdgeDetect")]
21    TaskEndEdgeDetect,
22
23    #[error("{COMPONENT_NAME} | TokioSyncMpscSend")]
24    TokioSyncMpscSend,
25
26    #[error("{COMPONENT_NAME} | TokioTaskJoin: {0}")]
27    TokioTaskJoin(#[from] tokio::task::JoinError),
28
29    #[error("{COMPONENT_NAME} | WaitForAnyEdge: {0}")]
30    WaitForAnyEdge(esp_idf_svc::sys::EspError),
31}
32
33impl From<Error> for ComponentError {
34    fn from(value: Error) -> Self {
35        ComponentError::Execution(value.to_string())
36    }
37}