Skip to main content

rsiot/components/cmp_math/
config.rs

1use crate::message::{MsgDataBound, ValueTime};
2
3use super::Algs;
4
5// ANCHOR: Config
6/// Конфигурация компонента cmp_math
7pub struct Config<TMsg>
8where
9    TMsg: MsgDataBound,
10{
11    /// Ветки конфигурации
12    pub branches: Vec<ConfigBranch<TMsg>>,
13}
14// ANCHOR: Config
15
16/// Конфигурация ветки
17pub struct ConfigBranch<TMsg>
18where
19    TMsg: MsgDataBound,
20{
21    /// Функция получения значения из входящих сообщений
22    pub fn_input: fn(&TMsg) -> Option<ValueTime>,
23
24    /// Алгоритмы математической обработки
25    pub algs: Vec<Algs<TMsg>>,
26
27    /// Функция создания исходящего сообщения на основе значения
28    pub fn_output: fn(&ValueTime) -> Option<TMsg>,
29}