Various fixes
This commit is contained in:
parent
27e0f110fc
commit
5c65f305da
25
src/main.rs
25
src/main.rs
@ -9,7 +9,7 @@ use std::fs::File;
|
|||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
use std::sync::atomic::{AtomicBool, Ordering};
|
use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use std::time::{Duration, Instant};
|
use std::time::Duration;
|
||||||
//use tokio::io::AsyncWriteExt;
|
//use tokio::io::AsyncWriteExt;
|
||||||
use tokio::net::udp::SendHalf;
|
use tokio::net::udp::SendHalf;
|
||||||
use tokio::net::UdpSocket;
|
use tokio::net::UdpSocket;
|
||||||
@ -99,7 +99,10 @@ async fn udp_comm(appconf: &Conf, senddata: futures::channel::mpsc::UnboundedSen
|
|||||||
|
|
||||||
loop {
|
loop {
|
||||||
let mut buf: [u8; 500] = [0; 500];
|
let mut buf: [u8; 500] = [0; 500];
|
||||||
let len = udprx.recv(&mut buf).await.unwrap();
|
let len = udprx.recv(&mut buf).await.unwrap_or_else(|err| {
|
||||||
|
eprintln!("Could not receive from Chorus: {}", err);
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
let result = Vec::from(&buf[0..len]);
|
let result = Vec::from(&buf[0..len]);
|
||||||
|
|
||||||
let display_result = result.clone();
|
let display_result = result.clone();
|
||||||
@ -119,7 +122,7 @@ async fn udp_comm(appconf: &Conf, senddata: futures::channel::mpsc::UnboundedSen
|
|||||||
&appconf.race_status_source,
|
&appconf.race_status_source,
|
||||||
&"Race active".to_string(),
|
&"Race active".to_string(),
|
||||||
);
|
);
|
||||||
for i in 0..2 {
|
for i in 0..3 {
|
||||||
obsws::set_text(&senddata, &appconf.lap_sources[i], &"0".to_string());
|
obsws::set_text(&senddata, &appconf.lap_sources[i], &"0".to_string());
|
||||||
obsws::set_text(
|
obsws::set_text(
|
||||||
&senddata,
|
&senddata,
|
||||||
@ -152,7 +155,7 @@ async fn udp_comm(appconf: &Conf, senddata: futures::channel::mpsc::UnboundedSen
|
|||||||
// Drone is disconnected
|
// Drone is disconnected
|
||||||
if drone_active[index] {
|
if drone_active[index] {
|
||||||
// Send filter on
|
// Send filter on
|
||||||
if &appconf.video_sources.len() <= &index {
|
if &appconf.video_sources.len() > &index {
|
||||||
obsws::set_mask(
|
obsws::set_mask(
|
||||||
&senddata,
|
&senddata,
|
||||||
&appconf.video_sources[index],
|
&appconf.video_sources[index],
|
||||||
@ -195,7 +198,7 @@ async fn udp_comm(appconf: &Conf, senddata: futures::channel::mpsc::UnboundedSen
|
|||||||
if let Ok(rx_number) = &result_str[1..2].parse::<i32>() {
|
if let Ok(rx_number) = &result_str[1..2].parse::<i32>() {
|
||||||
if let Ok(lap_time) = i64::from_str_radix(&result_str[5..13], 16) {
|
if let Ok(lap_time) = i64::from_str_radix(&result_str[5..13], 16) {
|
||||||
if &appconf.laptime_sources.len() <= &(*rx_number as usize) {
|
if &appconf.laptime_sources.len() <= &(*rx_number as usize) {
|
||||||
eprintln!("No Sourcename provided for RX {} lapduratio", &rx_number);
|
eprintln!("No Sourcename provided for RX {} lapduration", &rx_number);
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
let lap_duration = Duration::from_millis(lap_time as u64);
|
let lap_duration = Duration::from_millis(lap_time as u64);
|
||||||
@ -208,7 +211,11 @@ async fn udp_comm(appconf: &Conf, senddata: futures::channel::mpsc::UnboundedSen
|
|||||||
lap_seconds,
|
lap_seconds,
|
||||||
lap_duration.subsec_millis()
|
lap_duration.subsec_millis()
|
||||||
);
|
);
|
||||||
obsws::set_text(&senddata, &appconf.laptime_sources[0], &laptime_string);
|
obsws::set_text(
|
||||||
|
&senddata,
|
||||||
|
&appconf.laptime_sources[(*rx_number as usize)],
|
||||||
|
&laptime_string,
|
||||||
|
);
|
||||||
if appconf.filemode {
|
if appconf.filemode {
|
||||||
write_file(laptime_string, &format!("rx{}_laptime.txt", rx_number + 1));
|
write_file(laptime_string, &format!("rx{}_laptime.txt", rx_number + 1));
|
||||||
}
|
}
|
||||||
@ -263,12 +270,6 @@ async fn main() {
|
|||||||
.multiple(true)
|
.multiple(true)
|
||||||
.help("Sets the level of verbosity"),
|
.help("Sets the level of verbosity"),
|
||||||
)
|
)
|
||||||
.arg(
|
|
||||||
Arg::with_name("filemode")
|
|
||||||
.short("F")
|
|
||||||
.multiple(false)
|
|
||||||
.help("Enables File Mode"),
|
|
||||||
)
|
|
||||||
.get_matches();
|
.get_matches();
|
||||||
|
|
||||||
// Gets a value for config if supplied by user, or defaults to "default.conf"
|
// Gets a value for config if supplied by user, or defaults to "default.conf"
|
||||||
|
Loading…
Reference in New Issue
Block a user