1919#define  TAG  "pwr"
2020
2121static  bool  qc_mode  =  false;
22+ static  pwr_idx_t  env_mode  =  PWR_IDX_DC ;
2223static  pwr_idx_t  pwr_mode  =  PWR_IDX_DC ;
2324
2425static  char  pwr_mode_str [][8 ] =  {
@@ -32,8 +33,6 @@ static char pwr_mode_str[][8] = {
3233
3334void  pwr_set_mode (pwr_idx_t  idx )
3435{
35-     pwr_idx_t  pre_mode  =  pwr_mode ;
36- 
3736    if  (!qc_mode ) {
3837        return ;
3938    }
@@ -66,8 +65,10 @@ void pwr_set_mode(pwr_idx_t idx)
6665            break ;
6766    }
6867
69-     if  (pre_mode  !=  pwr_mode ) {
70-         app_setenv ("PWR_INIT_CFG" , & pwr_mode , sizeof (pwr_mode ));
68+     if  (env_mode  !=  pwr_mode ) {
69+         env_mode  =  pwr_mode ;
70+ 
71+         app_setenv ("PWR_INIT_CFG" , & env_mode , sizeof (env_mode ));
7172
7273        ESP_LOGI (TAG , "%s" , pwr_get_mode_str ());
7374    }
@@ -123,9 +124,8 @@ void pwr_init(void)
123124
124125    qc_mode  =  true;
125126
126-     pwr_idx_t  pwr_init_cfg  =  PWR_IDX_DC ;
127-     size_t  length  =  sizeof (pwr_init_cfg );
128-     app_getenv ("PWR_INIT_CFG" , & pwr_init_cfg , & length );
127+     size_t  length  =  sizeof (env_mode );
128+     app_getenv ("PWR_INIT_CFG" , & env_mode , & length );
129129
130-     pwr_set_mode (pwr_init_cfg );
130+     pwr_set_mode (env_mode );
131131}
0 commit comments