rsiot/components_config/modbus_client/
fieldbus_response.rs1use std::time::Instant;
2
3use crate::components_config::master_device::RequestResponseBound;
4
5#[derive(Clone, Debug)]
7pub struct FieldbusResponse {
8 pub request_creation_time: Instant,
12
13 pub request_kind: u8,
17
18 pub response_content: ResponseContent,
20}
21
22impl RequestResponseBound for FieldbusResponse {}
23
24impl FieldbusResponse {
25 pub fn from_request(
27 request: super::FieldbusRequest,
28 response_content: ResponseContent,
29 ) -> Self {
30 Self {
31 request_creation_time: request.request_creation_time,
32 request_kind: request.request_kind,
33 response_content,
34 }
35 }
36}
37
38#[derive(Clone, Debug)]
40pub enum ResponseContent {
41 WordVector(Vec<u16>),
43
44 BitVector(Vec<bool>),
46
47 Unit,
49}