rsiot/drivers_i2c/pcf8575/
pcf8575_pin_mode.rs

1use crate::message::{Message, MsgDataBound};
2
3/// Режим работы пина
4#[derive(Clone)]
5pub enum PCF8575PinMode<TMsg>
6where
7    TMsg: MsgDataBound,
8{
9    /// Пин отключен
10    Disabled,
11
12    /// Пин в режиме входа
13    Input {
14        /// Преобразование входных сигналов в исходящие сообщения
15        fn_output: fn(bool) -> Option<Message<TMsg>>,
16    },
17
18    /// Пин в режиме выхода
19    Output {
20        /// Преобразование входящих сообщений в сигналы управления выходами
21        fn_input: fn(Message<TMsg>) -> Option<bool>,
22    },
23}