rsiot/components/cmp_plc/plc/library/state_machine/
mod.rs1mod i;
4mod logic;
5mod q;
6mod s;
7#[cfg(test)]
8mod tests;
9
10pub use i::*;
11pub use q::*;
12pub use s::*;
13use serde::Serialize;
14
15use crate::components::cmp_plc::plc::{FbSystemData, FunctionBlockBase, IFunctionBlock};
16
17pub type FB<TState> = FunctionBlockBase<I<TState>, Q<TState>, S<TState>>;
19
20impl<TState> IFunctionBlock<I<TState>, Q<TState>, S<TState>>
21 for FunctionBlockBase<I<TState>, Q<TState>, S<TState>>
22where
23 TState: Copy + Default + PartialEq + Serialize,
24{
25 fn logic(input: &mut I<TState>, stat: &mut S<TState>, system_data: &FbSystemData) -> Q<TState> {
26 logic::logic(input, stat, system_data)
27 }
28}