fix progress display
This commit is contained in:
@@ -144,7 +144,7 @@ pub trait BoardInteraction<'a> {
|
|||||||
async fn get_mptt_current(&mut self) -> Result<Current, FatError>;
|
async fn get_mptt_current(&mut self) -> Result<Current, FatError>;
|
||||||
|
|
||||||
async fn progress(&mut self, counter: u32) {
|
async fn progress(&mut self, counter: u32) {
|
||||||
let current = counter / (PLANT_COUNT as u32);
|
let current = counter % PLANT_COUNT as u32;
|
||||||
for led in 0..PLANT_COUNT {
|
for led in 0..PLANT_COUNT {
|
||||||
if let Err(err) = self.fault(led, current == led as u32).await {
|
if let Err(err) = self.fault(led, current == led as u32).await {
|
||||||
warn!("Fault on plant {}: {:?}", led, err);
|
warn!("Fault on plant {}: {:?}", led, err);
|
||||||
@@ -153,6 +153,15 @@ pub trait BoardInteraction<'a> {
|
|||||||
let even = counter % 2 == 0;
|
let even = counter % 2 == 0;
|
||||||
let _ = self.general_fault(even.into()).await;
|
let _ = self.general_fault(even.into()).await;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn clear_progress(&mut self) {
|
||||||
|
for led in 0..PLANT_COUNT {
|
||||||
|
if let Err(err) = self.fault(led, false).await {
|
||||||
|
warn!("Fault on plant {}: {:?}", led, err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let _ = self.general_fault(false).await;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
@@ -295,6 +295,14 @@ impl Handler for HttpHandler {
|
|||||||
}
|
}
|
||||||
chunk = chunk + 1;
|
chunk = chunk + 1;
|
||||||
}
|
}
|
||||||
|
BOARD_ACCESS
|
||||||
|
.get()
|
||||||
|
.await
|
||||||
|
.lock()
|
||||||
|
.await
|
||||||
|
.board_hal
|
||||||
|
.clear_progress()
|
||||||
|
.await;
|
||||||
Some(200)
|
Some(200)
|
||||||
}
|
}
|
||||||
Method::Post => {
|
Method::Post => {
|
||||||
@@ -328,7 +336,14 @@ impl Handler for HttpHandler {
|
|||||||
offset = offset + to_write;
|
offset = offset + to_write;
|
||||||
chunk = chunk + 1;
|
chunk = chunk + 1;
|
||||||
}
|
}
|
||||||
|
BOARD_ACCESS
|
||||||
|
.get()
|
||||||
|
.await
|
||||||
|
.lock()
|
||||||
|
.await
|
||||||
|
.board_hal
|
||||||
|
.clear_progress()
|
||||||
|
.await;
|
||||||
Some(200)
|
Some(200)
|
||||||
}
|
}
|
||||||
_ => None,
|
_ => None,
|
||||||
@@ -460,6 +475,14 @@ where
|
|||||||
if is_last {
|
if is_last {
|
||||||
let actual_crc = checksum.finalize();
|
let actual_crc = checksum.finalize();
|
||||||
if actual_crc != expected_crc {
|
if actual_crc != expected_crc {
|
||||||
|
BOARD_ACCESS
|
||||||
|
.get()
|
||||||
|
.await
|
||||||
|
.lock()
|
||||||
|
.await
|
||||||
|
.board_hal
|
||||||
|
.clear_progress()
|
||||||
|
.await;
|
||||||
conn.initiate_response(
|
conn.initiate_response(
|
||||||
409,
|
409,
|
||||||
Some(
|
Some(
|
||||||
@@ -503,7 +526,14 @@ where
|
|||||||
}
|
}
|
||||||
chunk += 1;
|
chunk += 1;
|
||||||
}
|
}
|
||||||
|
BOARD_ACCESS
|
||||||
|
.get()
|
||||||
|
.await
|
||||||
|
.lock()
|
||||||
|
.await
|
||||||
|
.board_hal
|
||||||
|
.clear_progress()
|
||||||
|
.await;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -545,6 +575,7 @@ where
|
|||||||
.get_rtc_module()
|
.get_rtc_module()
|
||||||
.backup_config_finalize(checksum.finalize(), offset)
|
.backup_config_finalize(checksum.finalize(), offset)
|
||||||
.await?;
|
.await?;
|
||||||
|
board.board_hal.clear_progress().await;
|
||||||
Ok(Some("saved".to_owned()))
|
Ok(Some("saved".to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user