Skip to content

Commit b39498f

Browse files
committed
fix: delegate wait timeout
fix: new pcb rev lcd pins
1 parent adce5fc commit b39498f

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

src/buttons.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,8 @@ async fn delegate_hold(
409409
drop(state_val);
410410

411411
let resp =
412-
crate::ws::send_tagged_request::<DelegateResponsePacket>(69420, packet).await;
412+
crate::ws::send_tagged_request::<DelegateResponsePacket>(69420, packet, false)
413+
.await;
413414
log::info!("{:?}", resp);
414415

415416
if let Ok(resp) = resp {

src/lcd.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ pub async fn lcd_task(
4646
let bl_pin = lcd_shifter.get_pin_mut(1, true);
4747
let rs_pin = lcd_shifter.get_pin_mut(2, true);
4848
let en_pin = lcd_shifter.get_pin_mut(3, true);
49-
let d4_pin = lcd_shifter.get_pin_mut(7, false);
50-
let d5_pin = lcd_shifter.get_pin_mut(6, false);
51-
let d6_pin = lcd_shifter.get_pin_mut(5, false);
52-
let d7_pin = lcd_shifter.get_pin_mut(4, false);
49+
let d4_pin = lcd_shifter.get_pin_mut(4, false);
50+
let d5_pin = lcd_shifter.get_pin_mut(5, false);
51+
let d6_pin = lcd_shifter.get_pin_mut(6, false);
52+
let d7_pin = lcd_shifter.get_pin_mut(7, false);
5353
ag_lcd::LcdDisplay::new(rs_pin, en_pin, Delay)
5454
.with_display(ag_lcd::Display::On)
5555
.with_blink(ag_lcd::Blink::Off)

src/ws.rs

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -442,10 +442,14 @@ where
442442
_ = getrandom::getrandom(&mut tag_bytes);
443443
let tag = u64::from_be_bytes(tag_bytes);
444444

445-
send_tagged_request(tag, packet).await
445+
send_tagged_request(tag, packet, true).await
446446
}
447447

448-
pub async fn send_tagged_request<T>(tag: u64, packet: TimerPacketInner) -> Result<T, ApiError>
448+
pub async fn send_tagged_request<T>(
449+
tag: u64,
450+
packet: TimerPacketInner,
451+
timeout: bool,
452+
) -> Result<T, ApiError>
449453
where
450454
T: FromPacket,
451455
{
@@ -455,13 +459,17 @@ where
455459
};
456460
send_packet(packet).await;
457461

458-
let packet = wait_for_tagged_response(tag)
459-
.with_timeout(Duration::from_millis(5000))
460-
.await
461-
.map_err(|_| ApiError {
462-
should_reset_time: false,
463-
error: "Communication timeout!".to_string(),
464-
})?;
462+
let packet = if timeout {
463+
wait_for_tagged_response(tag)
464+
.with_timeout(Duration::from_millis(5000))
465+
.await
466+
.map_err(|_| ApiError {
467+
should_reset_time: false,
468+
error: "Communication timeout!".to_string(),
469+
})?
470+
} else {
471+
wait_for_tagged_response(tag).await
472+
};
465473

466474
FromPacket::from_packet(packet)
467475
}

0 commit comments

Comments
 (0)