pub enum ErrorKind {
    /// Bus error occurred. e.g. A START or a STOP
    /// condition is detected and is not located
    /// after a multiple of 9 SCL clock pulses.
    Bus,
    /// The arbitration was lost, e.g. electrical
    /// problems with the clock signal.
    ArbitrationLoss,
    /// A bus operation was not acknowledged,
    /// e.g. due to the addressed device not
    /// being available on the bus or the device
    /// not being ready to process requests
    /// at the moment.
    NoAcknowledge(NoAcknowledgeSource),
    /// The peripheral receive buffer was overrun.
    Overrun,
    /// A different error occurred. The original
    /// error may contain more information.
    Other,
}
