1use thiserror::Error;
4
5#[derive(Debug, Clone, PartialEq, Eq, Error)]
7pub enum AprsError {
8 #[error("invalid APRS format")]
10 InvalidFormat,
11 #[error("invalid APRS coordinates")]
13 InvalidCoordinates,
14 #[error("Mic-E data requires destination address \u{2014} use parse_aprs_data_full()")]
16 MicERequiresDestination,
17 #[error("invalid digipeater path: {0}")]
19 InvalidPath(String),
20 #[error("APRS message text exceeds 67 characters ({0} bytes)")]
22 MessageTooLong(usize),
23
24 #[error("invalid latitude: {0}")]
27 InvalidLatitude(&'static str),
28
29 #[error("invalid longitude: {0}")]
31 InvalidLongitude(&'static str),
32
33 #[error("invalid speed: {0}")]
35 InvalidSpeed(&'static str),
36
37 #[error("invalid course: {0}")]
39 InvalidCourse(&'static str),
40
41 #[error("invalid message ID: {0}")]
43 InvalidMessageId(&'static str),
44
45 #[error("invalid temperature: {0}")]
47 InvalidTemperature(&'static str),
48
49 #[error("invalid symbol table: {0}")]
51 InvalidSymbolTable(&'static str),
52
53 #[error("invalid APRS symbol: {0}")]
55 InvalidSymbol(&'static str),
56
57 #[error("invalid tocall: {0}")]
59 InvalidTocall(&'static str),
60
61 #[error("invalid digipeater alias: {0}")]
63 InvalidDigipeaterAlias(&'static str),
64}