tof_control/rb_control/
rb_config.rs

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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#![allow(unused)]
use csv;

pub struct RBConfig {
    pub rat_id_arr: Vec<u8>,
    pub ltb_id_arr: Vec<u8>,
    pub rb1_id_arr: Vec<u8>,
    pub rb2_id_arr: Vec<u8>,
    pub pb_id_arr: Vec<u8>,
}

impl RBConfig {
    pub fn new() -> Self {
        let rb_config_csv = include_str!("../config/nts_config.csv");
        let mut reader = csv::ReaderBuilder::new()
            .comment(Some(b'#'))
            .escape(Some(b'\\'))
            .flexible(true)
            .from_reader(rb_config_csv.as_bytes());

        let mut rat_id_arr: Vec<u8> = Vec::new();
        let mut ltb_id_arr: Vec<u8> = Vec::new();
        let mut rb1_id_arr: Vec<u8> = Vec::new();
        let mut rb2_id_arr: Vec<u8> = Vec::new();
        let mut pb_id_arr: Vec<u8> = Vec::new();

        for (i, record) in reader.records().enumerate() {
            let record = record.expect("failed to convert record");
            let rat_id = &record[0].parse::<u8>().unwrap();
            let ltb_id = &record[1].parse::<u8>().unwrap();
            let rb1_id = &record[2].parse::<u8>().unwrap();
            let rb2_id = &record[3].parse::<u8>().unwrap();
            let pb_id = &record[4].parse::<u8>().unwrap();

            rat_id_arr.push(*rat_id);
            ltb_id_arr.push(*ltb_id);
            rb1_id_arr.push(*rb1_id);
            rb2_id_arr.push(*rb2_id);
            pb_id_arr.push(*pb_id);

            // println!("{}, {}, {}, {}, {}", rat_id, ltb_id, rb1_id, rb2_id, pb_id);
        }

        Self {
            rat_id_arr,
            ltb_id_arr,
            rb1_id_arr,
            rb2_id_arr,
            pb_id_arr,
        }
    }
}
// pub fn rb_config_read() {
//     let rb_config_csv = include_str!("../config/nts_config.csv");
//     let mut reader = csv::ReaderBuilder::new()
//         .comment(Some(b'#'))
//         .escape(Some(b'\\'))
//         .flexible(true)
//         .from_reader(rb_config_csv.as_bytes());

//     let mut rat_id_arr: Vec<u8> = Vec::new();
//     let mut ltb_id_arr: Vec<u8> = Vec::new();
//     let mut rb1_id_arr: Vec<u8> = Vec::new();
//     let mut rb2_id_arr: Vec<u8> = Vec::new();
//     let mut pb_id_arr: Vec<u8> = Vec::new();

//     for (i, record) in reader.records().enumerate() {
//         let record = record.expect("failed to convert record");
//         let rat_id = &record[0].parse::<u8>().unwrap();
//         let ltb_id = &record[1].parse::<u8>().unwrap();
//         let rb1_id = &record[2].parse::<u8>().unwrap();
//         let rb2_id = &record[3].parse::<u8>().unwrap();
//         let pb_id = &record[4].parse::<u8>().unwrap();

//         rat_id_arr.push(*rat_id);
//         ltb_id_arr.push(*ltb_id);
//         rb1_id_arr.push(*rb1_id);
//         rb2_id_arr.push(*rb2_id);
//         pb_id_arr.push(*pb_id);

//         // println!("{}, {}, {}, {}, {}", rat_id, ltb_id, rb1_id, rb2_id, pb_id);
//     }
//     println!("{:?}", rat_id_arr);
//     println!("{:?}", ltb_id_arr);
//     println!("{:?}", rb1_id_arr);
//     println!("{:?}", rb2_id_arr);
//     println!("{:?}", pb_id_arr);
// }