44
55extern crate alloc;
66use alloc:: { rc:: Rc , vec:: Vec } ;
7+ use consts:: { LOG_SEND_INTERVAL_MS , PRINT_HEAP_INTERVAL_MS } ;
78use core:: str:: FromStr ;
89use embassy_executor:: Spawner ;
910use embassy_sync:: signal:: Signal ;
10- use embassy_time:: Timer ;
11+ use embassy_time:: { Instant , Timer } ;
1112use esp_backtrace as _;
1213use esp_hal:: {
1314 gpio:: { Input , Output } ,
@@ -25,6 +26,7 @@ use utils::{
2526
2627mod battery;
2728mod buttons;
29+ mod consts;
2830mod lcd;
2931mod mdns;
3032mod rfid;
@@ -126,6 +128,7 @@ async fn main(spawner: Spawner) {
126128 let shifter_latch_pin = Output :: new ( peripherals. GPIO1 , esp_hal:: gpio:: Level :: Low ) ;
127129 #[ cfg( feature = "esp32c3" ) ]
128130 let shifter_clk_pin = if crate :: utils:: get_efuse_u32 ( ) == 1342310409 {
131+ // TODO: remove this if
129132 Output :: new ( peripherals. GPIO7 , esp_hal:: gpio:: Level :: Low )
130133 } else {
131134 Output :: new ( peripherals. GPIO21 , esp_hal:: gpio:: Level :: Low )
@@ -295,10 +298,9 @@ async fn main(spawner: Spawner) {
295298 . parse_saved_state ( saved_state) ;
296299 }
297300
298- let mut counter = 0 ;
301+ let mut heap_start = Instant :: now ( ) ;
299302 loop {
300- counter += 1 ;
301- Timer :: after_millis ( 5000 ) . await ;
303+ Timer :: after_millis ( LOG_SEND_INTERVAL_MS ) . await ;
302304
303305 // TODO: move to own task
304306 unsafe {
@@ -323,13 +325,13 @@ async fn main(spawner: Spawner) {
323325 }
324326 }
325327
326- if counter == 12 {
328+ if ( Instant :: now ( ) - heap_start ) . as_millis ( ) >= PRINT_HEAP_INTERVAL_MS {
327329 log:: info!( "Heap info:" ) ;
328330 log:: info!( "Size: {}" , esp_alloc:: HEAP . used( ) + esp_alloc:: HEAP . free( ) ) ;
329331 log:: info!( "Used: {}" , esp_alloc:: HEAP . used( ) ) ;
330332 log:: info!( "Free: {}" , esp_alloc:: HEAP . free( ) ) ;
331333
332- counter = 0 ;
334+ heap_start = Instant :: now ( ) ;
333335 }
334336 }
335337}
0 commit comments