2 Commits

Author SHA1 Message Date
EmpirePhoenix fe2d227c67 Fix fertilizer calculation and logging 2026-05-26 02:03:19 +02:00
EmpirePhoenix bd5b687430 fix pump test progress bar 2026-05-25 23:22:21 +02:00
3 changed files with 13 additions and 3 deletions
+5
View File
@@ -368,6 +368,11 @@ impl Esp<'_> {
for (i, item) in CONSECUTIVE_WATERING_PLANT.iter().enumerate() {
info!("CONSECUTIVE_WATERING_PLANT[{i}] = {item}");
}
// is executed before main, no other code will alter these values during printing
#[allow(static_mut_refs)]
for (i, item) in LAST_FERTILIZER_TIMESTAMP.iter().enumerate() {
info!("LAST_FERTILIZER_TIMESTAMP[{i}] = {item}");
}
}
}
}
+4 -2
View File
@@ -703,8 +703,9 @@ pub async fn do_secure_pump(
if plant_config.fertilizer_s > 0 {
let current_time = board.board_hal.get_time().await;
let last_fertilizer = board.board_hal.get_esp().last_fertilizer_time(plant_id);
let elapsed_minutes = (current_time.timestamp() - last_fertilizer) / 60;
// Convert last_fertilizer from milliseconds to seconds for correct subtraction
let elapsed_minutes = ((current_time.timestamp_millis() - last_fertilizer) / 1000) / 60;
info!("Fertilizer pump cooldown check - Current time: {}, Last fertilizer: {}, Elapsed minutes: {}", current_time, last_fertilizer, elapsed_minutes);
if elapsed_minutes >= plant_config.fertilizer_cooldown_min as i64 {
info!(
"Starting fertilizer pump for {} seconds (last fertilizer was {} minutes ago)",
@@ -717,6 +718,7 @@ pub async fn do_secure_pump(
&elapsed_minutes.to_string(),
"",
);
info!("Fertilizer pump applied - Current time: {}, Last fertilizer: {}, Elapsed minutes: {}", current_time, last_fertilizer, elapsed_minutes);
board.board_hal.fertilizer_pump(true).await?;
Timer::after_millis(plant_config.fertilizer_s as u64 * 1000).await;
board.board_hal.fertilizer_pump(false).await?;
@@ -311,8 +311,11 @@ export class Controller {
}
testPlant(plantId: number) {
const plantConfig = controller.getConfig().plants[plantId];
const pumpTimeS = plantConfig.pump_time_s;
let counter = 0
let limit = 30
let limit = pumpTimeS > 0 ? Math.ceil(pumpTimeS) : 30
controller.progressview.addProgress("test_pump", counter / limit * 100, "Testing pump " + (plantId + 1) + " for " + (limit - counter) + "s")
let timerId: string | number | NodeJS.Timeout | undefined