1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//! COM port reader interface (RS232/485)
//! Not implemented!

#![allow(dead_code)]

use std::{time::Duration};

use crate::reader::*;
use crate::reader::processing::*;

#[derive(Debug, Default)]
struct ReaderRs {
    timeout: Duration,
    port: u8,
    ncommand: u8,
}

impl CommandsCounter for ReaderRs {
    fn commands_count(&self) -> u8 {
        self.ncommand
    }

    fn increment_commands(&mut self) {
        if self.commands_count() == u8::MAX {
            self.ncommand = 0;
        }
        self.ncommand += 1;
    }
}

impl ReaderRs {
    /// Open COM interface
    //#![warn(missing_docs)]
    pub fn open(&mut self) -> UemResult {
        Ok(())
    }        

    /// close opened COM interface
    pub fn close(&mut self) -> core::result::Result<(), UemError> {
        Ok(())
    }

    #[allow(unused_variables)]
    /// Send command to a reader and receive response
    pub fn send(&mut self, command: &Vec<u8>) -> UemResultVec {
        Ok(Vec::new())
    }
}

/// Searches system for MicroEM readers
/// on COM ports
pub fn find_rs_readers() -> Vec<UemReader> {
    Vec::new()
}