rsiot/components_config/uart_master/
error.rs1use crate::{components::shared_tasks, components_config::master_device, executor::ComponentError};
2
3#[allow(missing_docs)]
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6 #[error("CmpOutput: {0}")]
7 CmpOutput(ComponentError),
8
9 #[error("FnOutput: {0}")]
10 FnInput(anyhow::Error),
11
12 #[error("FnOutput: {0}")]
13 FnOutput(anyhow::Error),
14
15 #[error("TokioTaskJoin: {0}")]
16 TokioTaskJoin(#[from] tokio::task::JoinError),
17
18 #[error("TaskEndUartComm")]
19 TaskEndUartComm,
20
21 #[error("TokioSyncMpscSend")]
22 TokioSyncMpscSend,
23
24 #[error(transparent)]
25 TaskFilterIdenticalData(shared_tasks::filter_identical_data::Error),
26
27 #[error(transparent)]
28 TaskMpscToMsgBus(shared_tasks::mpsc_to_msgbus::Error),
29
30 #[error("UartRead: {0}")]
31 UartRead(String),
32
33 #[error("UartWrite: {0}")]
34 UartWrite(String),
35
36 #[error(transparent)]
37 TaskMsgbusToBroadcast(shared_tasks::msgbus_to_broadcast::Error),
38
39 #[error("GpioSetup: {0}")]
40 GpioSetup(String),
41
42 #[error("GpioPinSet: {0}")]
43 GpioPinSet(String),
44
45 #[error("OpenSerialPort: {0}")]
46 OpenSerialPort(String),
47
48 #[error(transparent)]
49 Device(master_device::Error),
50
51 #[error("BufferFull")]
52 BufferFull,
53}
54
55impl From<Error> for ComponentError {
56 fn from(value: Error) -> Self {
57 ComponentError::Execution(value.to_string())
58 }
59}