pub struct LDWriter<'a, S: Write + Seek> { /* private fields */ }
Implementations§
Source§impl<'a, S: Write + Seek> LDWriter<'a, S>
impl<'a, S: Write + Seek> LDWriter<'a, S>
Sourcepub fn new(sink: &'a mut S, header: Header) -> Self
pub fn new(sink: &'a mut S, header: Header) -> Self
Examples found in repository?
examples/write.rs (line 95)
4fn main() -> I2Result<()> {
5 let filename = "test_write.ld";
6 println!("Writing file: {}", filename);
7
8 let mut file = File::create(filename).expect("Failed to open file!");
9
10 let header = Header {
11 channel_meta_ptr: 13384,
12 channel_data_ptr: 23056,
13 event_ptr: 1762,
14 device_serial: 12007,
15 device_type: "ADL".to_string(),
16 device_version: 420,
17 num_channels: 1,
18 date_string: "23/11/2005".to_string(),
19 time_string: "09:53:00".to_string(),
20 driver: "".to_string(),
21 vehicleid: "11A".to_string(),
22 venue: "Calder".to_string(),
23 session: "2".to_string(),
24 short_comment: "second warmup".to_string(),
25 };
26
27 let channel0_meta = ChannelMetadata {
28 prev_addr: 0,
29 next_addr: 0,
30 data_addr: 0,
31 data_count: 0,
32 datatype: Datatype::I16,
33 sample_rate: 2,
34 offset: 0,
35 mul: 1,
36 scale: 1,
37 dec_places: 1,
38 name: "Air Temp Inlet".to_string(),
39 short_name: "Air Tem".to_string(),
40 unit: "C".to_string(),
41 };
42 let channel0_samples = vec![
43 Sample::I16(190),
44 Sample::I16(190),
45 Sample::I16(190),
46 Sample::I16(190),
47 Sample::I16(200),
48 Sample::I16(200),
49 Sample::I16(200),
50 Sample::I16(200),
51 Sample::I16(200),
52 Sample::I16(200),
53 Sample::I16(200),
54 Sample::I16(200),
55 Sample::I16(200),
56 Sample::I16(190),
57 Sample::I16(190),
58 Sample::I16(190),
59 ];
60
61 let gps_lat_meta = ChannelMetadata {
62 prev_addr: 0,
63 next_addr: 0,
64 data_addr: 0,
65 data_count: 0,
66 datatype: Datatype::I32,
67 sample_rate: 2,
68 offset: 0,
69 mul: 1,
70 scale: 1,
71 dec_places: 7,
72 name: "GPS Latitude".to_string(),
73 short_name: "GPS Lat".to_string(),
74 unit: "deg".to_string(),
75 };
76 let gps_lat_samples = vec![
77 Sample::I32(387867788),
78 Sample::I32(387867788),
79 Sample::I32(387867788),
80 Sample::I32(387867788),
81 Sample::I32(387867788),
82 Sample::I32(387867788),
83 Sample::I32(387867788),
84 Sample::I32(387867788),
85 Sample::I32(387867777),
86 Sample::I32(387867788),
87 Sample::I32(387867788),
88 Sample::I32(387867788),
89 Sample::I32(387867788),
90 Sample::I32(387867788),
91 Sample::I32(387867788),
92 Sample::I32(387867788),
93 ];
94
95 LDWriter::new(&mut file, header)
96 .with_channel(channel0_meta, channel0_samples)
97 .with_channel(gps_lat_meta, gps_lat_samples)
98 .write()?;
99
100 Ok(())
101}
Sourcepub fn with_channel(self, channel: ChannelMetadata, data: Vec<Sample>) -> Self
pub fn with_channel(self, channel: ChannelMetadata, data: Vec<Sample>) -> Self
Examples found in repository?
examples/write.rs (line 96)
4fn main() -> I2Result<()> {
5 let filename = "test_write.ld";
6 println!("Writing file: {}", filename);
7
8 let mut file = File::create(filename).expect("Failed to open file!");
9
10 let header = Header {
11 channel_meta_ptr: 13384,
12 channel_data_ptr: 23056,
13 event_ptr: 1762,
14 device_serial: 12007,
15 device_type: "ADL".to_string(),
16 device_version: 420,
17 num_channels: 1,
18 date_string: "23/11/2005".to_string(),
19 time_string: "09:53:00".to_string(),
20 driver: "".to_string(),
21 vehicleid: "11A".to_string(),
22 venue: "Calder".to_string(),
23 session: "2".to_string(),
24 short_comment: "second warmup".to_string(),
25 };
26
27 let channel0_meta = ChannelMetadata {
28 prev_addr: 0,
29 next_addr: 0,
30 data_addr: 0,
31 data_count: 0,
32 datatype: Datatype::I16,
33 sample_rate: 2,
34 offset: 0,
35 mul: 1,
36 scale: 1,
37 dec_places: 1,
38 name: "Air Temp Inlet".to_string(),
39 short_name: "Air Tem".to_string(),
40 unit: "C".to_string(),
41 };
42 let channel0_samples = vec![
43 Sample::I16(190),
44 Sample::I16(190),
45 Sample::I16(190),
46 Sample::I16(190),
47 Sample::I16(200),
48 Sample::I16(200),
49 Sample::I16(200),
50 Sample::I16(200),
51 Sample::I16(200),
52 Sample::I16(200),
53 Sample::I16(200),
54 Sample::I16(200),
55 Sample::I16(200),
56 Sample::I16(190),
57 Sample::I16(190),
58 Sample::I16(190),
59 ];
60
61 let gps_lat_meta = ChannelMetadata {
62 prev_addr: 0,
63 next_addr: 0,
64 data_addr: 0,
65 data_count: 0,
66 datatype: Datatype::I32,
67 sample_rate: 2,
68 offset: 0,
69 mul: 1,
70 scale: 1,
71 dec_places: 7,
72 name: "GPS Latitude".to_string(),
73 short_name: "GPS Lat".to_string(),
74 unit: "deg".to_string(),
75 };
76 let gps_lat_samples = vec![
77 Sample::I32(387867788),
78 Sample::I32(387867788),
79 Sample::I32(387867788),
80 Sample::I32(387867788),
81 Sample::I32(387867788),
82 Sample::I32(387867788),
83 Sample::I32(387867788),
84 Sample::I32(387867788),
85 Sample::I32(387867777),
86 Sample::I32(387867788),
87 Sample::I32(387867788),
88 Sample::I32(387867788),
89 Sample::I32(387867788),
90 Sample::I32(387867788),
91 Sample::I32(387867788),
92 Sample::I32(387867788),
93 ];
94
95 LDWriter::new(&mut file, header)
96 .with_channel(channel0_meta, channel0_samples)
97 .with_channel(gps_lat_meta, gps_lat_samples)
98 .write()?;
99
100 Ok(())
101}
Sourcepub fn write(self) -> I2Result<()>
pub fn write(self) -> I2Result<()>
Examples found in repository?
examples/write.rs (line 98)
4fn main() -> I2Result<()> {
5 let filename = "test_write.ld";
6 println!("Writing file: {}", filename);
7
8 let mut file = File::create(filename).expect("Failed to open file!");
9
10 let header = Header {
11 channel_meta_ptr: 13384,
12 channel_data_ptr: 23056,
13 event_ptr: 1762,
14 device_serial: 12007,
15 device_type: "ADL".to_string(),
16 device_version: 420,
17 num_channels: 1,
18 date_string: "23/11/2005".to_string(),
19 time_string: "09:53:00".to_string(),
20 driver: "".to_string(),
21 vehicleid: "11A".to_string(),
22 venue: "Calder".to_string(),
23 session: "2".to_string(),
24 short_comment: "second warmup".to_string(),
25 };
26
27 let channel0_meta = ChannelMetadata {
28 prev_addr: 0,
29 next_addr: 0,
30 data_addr: 0,
31 data_count: 0,
32 datatype: Datatype::I16,
33 sample_rate: 2,
34 offset: 0,
35 mul: 1,
36 scale: 1,
37 dec_places: 1,
38 name: "Air Temp Inlet".to_string(),
39 short_name: "Air Tem".to_string(),
40 unit: "C".to_string(),
41 };
42 let channel0_samples = vec![
43 Sample::I16(190),
44 Sample::I16(190),
45 Sample::I16(190),
46 Sample::I16(190),
47 Sample::I16(200),
48 Sample::I16(200),
49 Sample::I16(200),
50 Sample::I16(200),
51 Sample::I16(200),
52 Sample::I16(200),
53 Sample::I16(200),
54 Sample::I16(200),
55 Sample::I16(200),
56 Sample::I16(190),
57 Sample::I16(190),
58 Sample::I16(190),
59 ];
60
61 let gps_lat_meta = ChannelMetadata {
62 prev_addr: 0,
63 next_addr: 0,
64 data_addr: 0,
65 data_count: 0,
66 datatype: Datatype::I32,
67 sample_rate: 2,
68 offset: 0,
69 mul: 1,
70 scale: 1,
71 dec_places: 7,
72 name: "GPS Latitude".to_string(),
73 short_name: "GPS Lat".to_string(),
74 unit: "deg".to_string(),
75 };
76 let gps_lat_samples = vec![
77 Sample::I32(387867788),
78 Sample::I32(387867788),
79 Sample::I32(387867788),
80 Sample::I32(387867788),
81 Sample::I32(387867788),
82 Sample::I32(387867788),
83 Sample::I32(387867788),
84 Sample::I32(387867788),
85 Sample::I32(387867777),
86 Sample::I32(387867788),
87 Sample::I32(387867788),
88 Sample::I32(387867788),
89 Sample::I32(387867788),
90 Sample::I32(387867788),
91 Sample::I32(387867788),
92 Sample::I32(387867788),
93 ];
94
95 LDWriter::new(&mut file, header)
96 .with_channel(channel0_meta, channel0_samples)
97 .with_channel(gps_lat_meta, gps_lat_samples)
98 .write()?;
99
100 Ok(())
101}
Trait Implementations§
Auto Trait Implementations§
impl<'a, S> Freeze for LDWriter<'a, S>
impl<'a, S> RefUnwindSafe for LDWriter<'a, S>where
S: RefUnwindSafe,
impl<'a, S> Send for LDWriter<'a, S>where
S: Send,
impl<'a, S> Sync for LDWriter<'a, S>where
S: Sync,
impl<'a, S> Unpin for LDWriter<'a, S>
impl<'a, S> !UnwindSafe for LDWriter<'a, S>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more