#[repr(u8)]
pub enum Error {
Show 14 variants
NoPinRS,
NoPinEN,
NoPinRW,
NoPinD0,
NoPinD1,
NoPinD2,
NoPinD3,
NoPinD4,
NoPinD5,
NoPinD6,
NoPinD7,
None,
InvalidMode,
InvalidCode,
}
Expand description
Error type for LcdDisplay, returned by LcdDisplay::error
LcdDisplay uses an internal error code rather than the standard rust Result pattern because there are only two places in LcdDisplay where an error is returned. Unfortunately, every public function invokes one of those places (which has an Infallible error type, no less) and would be forced to return a result or call unwrap/expect.
This led to a cluttered API in which users had to handle error conditions when calling functions like clear and home. An internal error code which could mostly be ignored except when debugging seemed like a better option.
Variants§
NoPinRS
No pin RS
NoPinEN
No pin EN
NoPinRW
No pin RW
NoPinD0
No pin D0
NoPinD1
No pin D1
NoPinD2
No pin D2
NoPinD3
No pin D3
NoPinD4
No pin D4
NoPinD5
No pin D5
NoPinD6
No pin D6
NoPinD7
No pin D7
None
No error
InvalidMode
Bus mode is invalid or not set
InvalidCode
Invalid conversion from u8 to Error