diff --git a/libraries/AP_Notify/ToshibaLED.cpp b/libraries/AP_Notify/ToshibaLED.cpp index 1c5cf330aa..2bc26047ed 100644 --- a/libraries/AP_Notify/ToshibaLED.cpp +++ b/libraries/AP_Notify/ToshibaLED.cpp @@ -160,24 +160,33 @@ void ToshibaLED::update_colours(void) // solid green or flashing green if armed if (AP_Notify::flags.armed) { - // solid green if armed with 3d lock + // solid green if armed with GPS 3d lock if (AP_Notify::flags.gps_status == 3) { _red_des = TOSHIBA_LED_OFF; _blue_des = TOSHIBA_LED_OFF; _green_des = TOSHIBA_LED_DIM; }else{ - // flash green if armed with no gps lock + // solid blue if armed with no GPS lock + _red_des = TOSHIBA_LED_OFF; + _blue_des = TOSHIBA_LED_OFF; + _green_des = TOSHIBA_LED_DIM; + } + return; + }else{ + // double flash yellow if failing pre-arm checks + if (!AP_Notify::flags.pre_arm_check) { switch(step) { case 0: case 1: - case 2: - case 3: case 4: - _red_des = TOSHIBA_LED_OFF; + case 5: + // yellow on + _red_des = TOSHIBA_LED_DIM; _blue_des = TOSHIBA_LED_OFF; _green_des = TOSHIBA_LED_DIM; break; - case 5: + case 2: + case 3: case 6: case 7: case 8: @@ -188,23 +197,27 @@ void ToshibaLED::update_colours(void) _green_des = TOSHIBA_LED_OFF; break; } - } - return; - }else{ - // double flash yellow if failing pre-arm checks - if (!AP_Notify::flags.pre_arm_check) { + }else{ + // flashing green if disarmed with GPS 3d lock + // flashing blue if disarmed with no gps lock switch(step) { case 0: case 1: - case 4: - case 5: - // yellow on - _red_des = TOSHIBA_LED_DIM; - _blue_des = TOSHIBA_LED_OFF; - _green_des = TOSHIBA_LED_DIM; - break; case 2: case 3: + case 4: + _red_des = TOSHIBA_LED_OFF; + if (AP_Notify::flags.gps_status == 3) { + // flashing green if disarmed with GPS 3d lock + _blue_des = TOSHIBA_LED_OFF; + _green_des = TOSHIBA_LED_DIM; + }else{ + // flashing blue if disarmed with no gps lock + _blue_des = TOSHIBA_LED_DIM; + _green_des = TOSHIBA_LED_OFF; + } + break; + case 5: case 6: case 7: case 8: @@ -215,37 +228,6 @@ void ToshibaLED::update_colours(void) _green_des = TOSHIBA_LED_OFF; break; } - }else{ - // solid blue if gps 3d lock - if (AP_Notify::flags.gps_status == 3) { - _red_des = TOSHIBA_LED_OFF; - _blue_des = TOSHIBA_LED_DIM; - _green_des = TOSHIBA_LED_OFF; - }else{ - // flashing blue if no gps lock - switch(step) { - case 0: - case 1: - case 2: - case 3: - case 4: - // blue on - _red_des = TOSHIBA_LED_OFF; - _blue_des = TOSHIBA_LED_DIM; - _green_des = TOSHIBA_LED_OFF; - break; - case 5: - case 6: - case 7: - case 8: - case 9: - // all off - _red_des = TOSHIBA_LED_OFF; - _blue_des = TOSHIBA_LED_OFF; - _green_des = TOSHIBA_LED_OFF; - break; - } - } } } }