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
/*
 * File: modulation.rs
 * Project: src
 * Created Date: 22/05/2020
 * Author: Shun Suzuki
 * -----
 * Last Modified: 22/05/2020
 * Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
 * -----
 * Copyright (c) 2020 Hapis Lab. All rights reserved.
 *
 */

/// Modulation contains the amplitude modulation data.
pub struct Modulation {
    buffer: Vec<u8>,
    sent: usize,
}

impl Modulation {
    pub fn new(buffer: Vec<u8>) -> Self {
        Modulation { buffer, sent: 0 }
    }

    pub fn buffer(&self) -> &[u8] {
        &self.buffer
    }

    pub fn sent(&self) -> usize {
        self.sent
    }
    pub fn send(&mut self, sent: usize) {
        self.sent += sent;
    }
}