Fix fertilizer calculation and logging
This commit is contained in:
@@ -368,6 +368,11 @@ impl Esp<'_> {
|
|||||||
for (i, item) in CONSECUTIVE_WATERING_PLANT.iter().enumerate() {
|
for (i, item) in CONSECUTIVE_WATERING_PLANT.iter().enumerate() {
|
||||||
info!("CONSECUTIVE_WATERING_PLANT[{i}] = {item}");
|
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}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -703,8 +703,9 @@ pub async fn do_secure_pump(
|
|||||||
if plant_config.fertilizer_s > 0 {
|
if plant_config.fertilizer_s > 0 {
|
||||||
let current_time = board.board_hal.get_time().await;
|
let current_time = board.board_hal.get_time().await;
|
||||||
let last_fertilizer = board.board_hal.get_esp().last_fertilizer_time(plant_id);
|
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 {
|
if elapsed_minutes >= plant_config.fertilizer_cooldown_min as i64 {
|
||||||
info!(
|
info!(
|
||||||
"Starting fertilizer pump for {} seconds (last fertilizer was {} minutes ago)",
|
"Starting fertilizer pump for {} seconds (last fertilizer was {} minutes ago)",
|
||||||
@@ -717,6 +718,7 @@ pub async fn do_secure_pump(
|
|||||||
&elapsed_minutes.to_string(),
|
&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?;
|
board.board_hal.fertilizer_pump(true).await?;
|
||||||
Timer::after_millis(plant_config.fertilizer_s as u64 * 1000).await;
|
Timer::after_millis(plant_config.fertilizer_s as u64 * 1000).await;
|
||||||
board.board_hal.fertilizer_pump(false).await?;
|
board.board_hal.fertilizer_pump(false).await?;
|
||||||
|
|||||||
Reference in New Issue
Block a user