board common:Define default CONTROL_STATUS LED mapping

This commit is the groundwork to fix the power LED
   blinking on V5

   Background:
   ----------
   Early boards only had an AMBER LED that was used to
   indicate a High Load condition.

   This change defines the new logical inteface
   the LED_<color> should not be used in application
   code moving forward, only the minipulator macros
   should be used.

       Logical usage             Legacy default
      ------------------------+-------------
       BOARD_OVERLOAD_LED     | LED_RED

   Later boards defined BOARD_HAS_CONTROL_STATUS_LEDS
   and added the use of a BLUE and GREEN LED that were
   used as follows:

   Logical usage             Legacy default
      ------------------------+-------------
       BOARD_ARMED_LED        | LED_BLUE
       BOARD_ARMED_STATE_LED  | LED_GREEN

   With this PR a board may now define _only_ a subset
   the leds and map them at the board level to the
   color LED it wants to use.

       Logical usage             Legacy default
      ------------------------+-------------
       BOARD_OVERLOAD_LED     | LED_RED
    when BOARD_HAS_CONTROL_STATUS_LEDS is defined
       BOARD_ARMED_LED        | LED_BLUE
       BOARD_ARMED_STATE_LED  | LED_GREEN

   If any of the BOARD_{OVERLOAD|ARMED|ARMED_STATE}_LED are not
   defined. The code output generates a null action for that
   LED.
This commit is contained in:
David Sidrane
2018-11-19 14:32:47 -05:00
committed by Daniel Agar
parent bba475aca1
commit 98394afcc7
+33
View File
@@ -291,6 +291,39 @@
# define BOARD_HAS_VERSIONING 1
#endif
/* Default LED logical to color mapping */
#if defined(BOARD_OVERLOAD_LED)
# define BOARD_OVERLOAD_LED_TOGGLE() led_toggle(BOARD_OVERLOAD_LED)
# define BOARD_OVERLOAD_LED_OFF() led_off(BOARD_OVERLOAD_LED)
#else
# define BOARD_OVERLOAD_LED_TOGGLE()
# define BOARD_OVERLOAD_LED_OFF()
#endif
#if defined(BOARD_HAS_CONTROL_STATUS_LEDS)
# if defined(BOARD_ARMED_LED)
# define BOARD_ARMED_LED_TOGGLE() led_toggle(BOARD_ARMED_LED)
# define BOARD_ARMED_LED_OFF() led_off(BOARD_ARMED_LED)
# define BOARD_ARMED_LED_ON() led_on(BOARD_ARMED_LED)
# else
# define BOARD_ARMED_LED_TOGGLE()
# define BOARD_ARMED_LED_OFF()
# define BOARD_ARMED_LED_ON()
# endif
# if defined(BOARD_ARMED_STATE_LED)
# define BOARD_ARMED_STATE_LED_TOGGLE() led_toggle(BOARD_ARMED_STATE_LED)
# define BOARD_ARMED_STATE_LED_OFF() led_off(BOARD_ARMED_STATE_LED)
# define BOARD_ARMED_STATE_LED_ON() led_on(BOARD_ARMED_STATE_LED)
# else
# define BOARD_ARMED_STATE_LED_TOGGLE()
# define BOARD_ARMED_STATE_LED_OFF()
# define BOARD_ARMED_STATE_LED_ON()
# endif
#endif //
/************************************************************************************
* Public Data
************************************************************************************/