keil/sn74hc595.c
@@ -41,23 +41,34 @@
}
void update_led_power_state(void)
{
    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|chaging_state<<1|changed_state;
    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|red_charge_state<<1|green_charge_state;
    IO_LED_control_change(control_state);
}
void blink_led(uint8_t*state)
{if(*state==0)
   *state=1;
   else{
   *state=0;
   }
update_led_power_state();
delay_us(100);
if(*state==0)
   *state=1;
   else{
   *state=0;
   }
update_led_power_state();
{   if(*state==0)
        *state=1;
    else {
        *state=0;
    }
    update_led_power_state();
    delay_us(1000);
    if(*state==0)
        *state=1;
    else {
        *state=0;
    }
    update_led_power_state();
}
void gps_led_on(void)
{
    gps_success_state=1;//uwb亮起
    update_led_power_state();
}
void gps_led_off(void)
{
    gps_success_state=0;//uwb灭
    update_led_power_state();
}
void uwb_led_on(void)
{
@@ -68,4 +79,68 @@
{
    uwb_state=0;//uwb灭
    update_led_power_state();
}
void air780_led_on(void)
{
    air780_success_state=1;//uwb亮起
    update_led_power_state();
}
void air780_led_off(void)
{
    air780_success_state=0;//uwb灭
    update_led_power_state();
}
void charge_red_on(void)
{
      red_charge_state=1;//充电红灯亮起
    update_led_power_state();
}
void charge_red_off(void)
{
      red_charge_state=0;//充电红灯熄灭
    update_led_power_state();
}
void charge_green_on(void)
{
      green_charge_state=1;//充电绿灯亮起
    update_led_power_state();
}
void charge_green_off(void)
{
      green_charge_state=0;//充电绿灯熄灭
    update_led_power_state();
}
void charge_state_change(void)
{
   if(gpio_pin_get_val(INPUT_5V_Pin))
   {
            if(bat_percent==100)
            {
            red_charge_state=0;
            green_charge_state=1;
            }else{
            red_charge_state=1;
            green_charge_state=0;
            }
            enbale_blink_flag=0;
            update_led_power_state();
   }else{
            if(bat_percent>15)
            {
            charge_green_off();
            charge_red_off();
               enbale_blink_flag=0;
            }else{
//                  green_charge_state=0;
//                  if(secondtask_count%2==0)
//                  {
//                     red_charge_state=0;
//                  }else{
//                     red_charge_state=1;
//                  }
//                  update_led_power_state();
               enbale_blink_flag=1;
         }
}
}