1#![warn(missing_docs)]
5#![no_std]
6
7mod obis;
8mod read;
9
10use core::fmt::Display;
11
12pub use obis::*;
13pub use read::*;
14
15#[derive(Debug)]
17pub enum Error {
18 InvalidFormat,
20 Checksum,
22 UnrecognizedReference,
25}
26
27impl Display for Error {
28 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
29 let msg = match self {
30 Error::InvalidFormat => "invalid format",
31 Error::Checksum => "checksum mismatch",
32 Error::UnrecognizedReference => "unrecognized obis reference",
33 };
34
35 f.write_str(msg)
36 }
37}
38
39pub(crate) type Result<T, E = Error> = core::result::Result<T, E>;