different default value + warns

This commit is contained in:
Данила Горнушко 2024-05-29 18:35:36 +03:00
parent a90ad3fe05
commit 09891a42c9

View file

@ -2,7 +2,7 @@ use anyhow::{Context, Result};
use clap::{arg, Parser};
use crc::{Crc, CRC_16_IBM_3740};
use hound::{SampleFormat, WavSpec, WavWriter};
use log::{debug, error, info, trace, LevelFilter};
use log::{debug, error, info, trace, warn, LevelFilter};
use serialport::SerialPort;
use std::collections::HashMap;
use std::io::{BufRead, BufReader, Read, Write};
@ -33,7 +33,7 @@ struct Args {
#[arg(long)]
winsize: Option<u32>,
#[arg(long, default_value_t = 10, help = "Value in Hz")]
#[arg(long, default_value_t = 5, help = "Value in Hz")]
request_rate: u32,
#[arg(short = 'f', long)]
@ -153,7 +153,10 @@ fn main() {
i16_writer
.flush()
.expect("Something went wrong while writing WAV file");
info!("Sample: {cur_chunk_id}. WAV file {} has been written.", path.display());
info!(
"Sample: {cur_chunk_id}. WAV file {} has been written.",
path.display()
);
err_counter = err_counter.saturating_sub(1);
last_chunk_id = Some(cur_chunk_id);
@ -369,7 +372,11 @@ fn get_chunk(
std::thread::sleep(calculate_timeout(baud_rate, exp_buf_size(win_size)));
match port.read(adc_buffer.as_mut_slice()) {
Ok(len) => {
trace!("Buffer is received with len: {}", len);
if len != exp_buf_size(win_size) {
warn!("Received buffer with unexpected data length: {len}");
} else {
trace!("Buffer is received with length: {}", len);
}
}
Err(ref e) if e.kind() == std::io::ErrorKind::TimedOut => {
debug!("Read timed out");
@ -438,7 +445,7 @@ fn convert_to_i16(buffer: &[u8]) -> Vec<i16> {
fn header_is_ok(vec: &[u8]) -> bool {
vec.get(0..4)
.map(|bytes| u32::from_be_bytes(bytes.try_into().unwrap()))
.map(|bytes| u32::from_be_bytes(bytes.try_into().unwrap_or_default()))
.unwrap_or_default()
== 0x55AA55AA
}