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