Skip to content

Commit

Permalink
Merge pull request #27 from TheCacophonyProject/add-event
Browse files Browse the repository at this point in the history
added lost frames event
  • Loading branch information
hardiesoft authored Nov 6, 2024
2 parents bbc2189 + ab5b5e9 commit 47bae78
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
28 changes: 22 additions & 6 deletions src/camera_transfer_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,10 @@ pub fn enter_camera_transfer_loop(
}
if !recording_state.is_recording() && rp2040_needs_reset {
let date = chrono::Local::now();
warn!("Requesting reset of rp2040 at {}", date.with_timezone(&Pacific__Auckland));
warn!(
"Requesting reset of rp2040 at {}",
date.with_timezone(&Pacific__Auckland)
);
rp2040_needs_reset = false;
got_startup_info = false;
is_audio_device = device_config.is_audio_device();
Expand Down Expand Up @@ -353,7 +356,10 @@ pub fn enter_camera_transfer_loop(
got_startup_info = true;
if firmware_version != EXPECTED_RP2040_FIRMWARE_VERSION {
exit_cleanly(&mut dbus_conn);
info!("Unsupported firmware version, expected {}, got {}. Will reprogram RP2040.", EXPECTED_RP2040_FIRMWARE_VERSION, firmware_version);
info!(
"Unsupported firmware version, expected {}, got {}. Will reprogram RP2040.",
EXPECTED_RP2040_FIRMWARE_VERSION, firmware_version
);
let e = program_rp2040();
if e.is_err() {
warn!("Failed to reprogram rp2040: {}", e.unwrap_err());
Expand Down Expand Up @@ -467,6 +473,10 @@ pub fn enter_camera_transfer_loop(
event_timestamp =
time.timestamp_micros() as u64;
}
} else if let LoggerEventKind::LostFrames(lost_frames) =
&mut event_kind
{
*lost_frames = event_payload as u64;
}
let payload_json =
if let LoggerEventKind::SavedNewConfig = event_kind
Expand Down Expand Up @@ -742,8 +752,11 @@ fn maybe_make_test_audio_recording(
// Re-sync our internal rp2040 state once every 1-2 seconds until
// we see that the state has entered taking_test_audio_recording.
inner_recording_state.sync_state_from_attiny(&mut conn);
let sleep_duration_ms =
if inner_recording_state.is_recording() { 2000 } else { 1000 };
let sleep_duration_ms = if inner_recording_state.is_recording() {
2000
} else {
1000
};
if inner_recording_state.is_taking_test_audio_recording() {
break;
}
Expand All @@ -752,8 +765,11 @@ fn maybe_make_test_audio_recording(
loop {
// Now wait until we've exited taking_test_audio_recording.
inner_recording_state.sync_state_from_attiny(&mut conn);
let sleep_duration_ms =
if inner_recording_state.is_recording() { 2000 } else { 1000 };
let sleep_duration_ms = if inner_recording_state.is_recording() {
2000
} else {
1000
};
if !inner_recording_state.is_taking_test_audio_recording() {
inner_recording_state.finished_taking_test_recording();
break;
Expand Down
8 changes: 8 additions & 0 deletions src/event_logger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ pub enum LoggerEventKind {
LogOffloadFailed,
OffloadedLogs,
CorruptFile,
LostFrames(u64),
}

impl Into<u16> for LoggerEventKind {
Expand Down Expand Up @@ -103,6 +104,7 @@ impl Into<u16> for LoggerEventKind {
OffloadedLogs => 28,
LogOffloadFailed => 29,
CorruptFile => 30,
LostFrames(_) => 31,
}
}
}
Expand Down Expand Up @@ -143,6 +145,7 @@ impl TryFrom<u16> for LoggerEventKind {
28 => Ok(OffloadedLogs),
29 => Ok(LogOffloadFailed),
30 => Ok(CorruptFile),
31 => Ok(LostFrames(0)),
_ => Err(()),
}
}
Expand Down Expand Up @@ -180,6 +183,11 @@ impl LoggerEvent {
.push_param(format!(r#"{{ "wakeup-reason": "{}" }}"#, reason))
.unwrap();
call.body.push_param("ToldRpiToWake").unwrap();
} else if let LoggerEventKind::LostFrames(lost_frames) = self.event {
call.body
.push_param(format!(r#"{{ "lost-frames": "{}" }}"#, lost_frames))
.unwrap();
call.body.push_param("LostFrames").unwrap();
} else {
call.body
.push_param(json_payload.unwrap_or(String::from("{}")))
Expand Down

0 comments on commit 47bae78

Please sign in to comment.