-#define DANUBE_LED_CLK_EDGE DANUBE_LED_FALLING
-//#define DANUBE_LED_CLK_EDGE DANUBE_LED_RISING
-
-#define LED_SH_PORT 0
-#define LED_SH_PIN 4
-#define LED_SH_DIR 1
-#define LED_SH_ALTSEL0 1
-#define LED_SH_ALTSEL1 0
-#define LED_SH_OPENDRAIN 1
-#define LED_D_PORT 0
-#define LED_D_PIN 5
-#define LED_D_DIR 1
-#define LED_D_ALTSEL0 1
-#define LED_D_ALTSEL1 0
-#define LED_D_OPENDRAIN 1
-#define LED_ST_PORT 0
-#define LED_ST_PIN 6
-#define LED_ST_DIR 1
-#define LED_ST_ALTSEL0 1
-#define LED_ST_ALTSEL1 0
-#define LED_ST_OPENDRAIN 1
-
-#define LED_ADSL0_PORT 0
-#define LED_ADSL0_PIN 4
-#define LED_ADSL0_DIR 1
-#define LED_ADSL0_ALTSEL0 0
-#define LED_ADSL0_ALTSEL1 1
-#define LED_ADSL0_OPENDRAIN 1
-#define LED_ADSL1_PORT 0
-#define LED_ADSL1_PIN 5
-#define LED_ADSL1_DIR 1
-#define LED_ADSL1_ALTSEL0 1
-#define LED_ADSL1_ALTSEL1 1
-#define LED_ADSL1_OPENDRAIN 1
-
-#if (LED_SH_PORT == LED_ADSL0_PORT && LED_SH_PIN == LED_ADSL0_PIN) \
- || (LED_D_PORT == LED_ADSL0_PORT && LED_D_PIN == LED_ADSL0_PIN) \
- || (LED_ST_PORT == LED_ADSL0_PORT && LED_ST_PIN == LED_ADSL0_PIN) \
- || (LED_SH_PORT == LED_ADSL1_PORT && LED_SH_PIN == LED_ADSL1_PIN) \
- || (LED_D_PORT == LED_ADSL1_PORT && LED_D_PIN == LED_ADSL1_PIN) \
- || (LED_ST_PORT == LED_ADSL1_PORT && LED_ST_PIN == LED_ADSL1_PIN)
- #define ADSL_LED_IS_EXCLUSIVE 1
-#else
- #define ADSL_LED_IS_EXCLUSIVE 0
-#endif
-
-#if LED_SH_DIR
- #define LED_SH_DIR_SETUP danube_port_set_dir_out
-#else
- #define LED_SH_DIR_SETUP danube_port_clear_dir_out
-#endif
-#if LED_SH_ALTSEL0
- #define LED_SH_ALTSEL0_SETUP danube_port_set_altsel0
-#else
- #define LED_SH_ALTSEL0_SETUP danube_port_clear_altsel0
-#endif
-#if LED_SH_ALTSEL1
- #define LED_SH_ALTSEL1_SETUP danube_port_set_altsel1
-#else
- #define LED_SH_ALTSEL1_SETUP danube_port_clear_altsel1
-#endif
-#if LED_SH_OPENDRAIN
- #define LED_SH_OPENDRAIN_SETUP danube_port_set_open_drain
-#else
- #define LED_SH_OPENDRAIN_SETUP danube_port_clear_open_drain
-#endif
-
-#if LED_D_DIR
- #define LED_D_DIR_SETUP danube_port_set_dir_out
-#else
- #define LED_D_DIR_SETUP danube_port_clear_dir_out
-#endif
-#if LED_D_ALTSEL0
- #define LED_D_ALTSEL0_SETUP danube_port_set_altsel0
-#else
- #define LED_D_ALTSEL0_SETUP danube_port_clear_altsel0
-#endif
-#if LED_D_ALTSEL1
- #define LED_D_ALTSEL1_SETUP danube_port_set_altsel1
-#else
- #define LED_D_ALTSEL1_SETUP danube_port_clear_altsel1
-#endif
-#if LED_D_OPENDRAIN
- #define LED_D_OPENDRAIN_SETUP danube_port_set_open_drain
-#else
- #define LED_D_OPENDRAIN_SETUP danube_port_clear_open_drain
-#endif
-
-#if LED_ST_DIR
- #define LED_ST_DIR_SETUP danube_port_set_dir_out
-#else
- #define LED_ST_DIR_SETUP danube_port_clear_dir_out
-#endif
-#if LED_ST_ALTSEL0
- #define LED_ST_ALTSEL0_SETUP danube_port_set_altsel0
-#else
- #define LED_ST_ALTSEL0_SETUP danube_port_clear_altsel0
-#endif
-#if LED_ST_ALTSEL1
- #define LED_ST_ALTSEL1_SETUP danube_port_set_altsel1
-#else
- #define LED_ST_ALTSEL1_SETUP danube_port_clear_altsel1
-#endif
-#if LED_ST_OPENDRAIN
- #define LED_ST_OPENDRAIN_SETUP danube_port_set_open_drain
-#else
- #define LED_ST_OPENDRAIN_SETUP danube_port_clear_open_drain
-#endif
-
-#if LED_ADSL0_DIR
- #define LED_ADSL0_DIR_SETUP danube_port_set_dir_out
-#else
- #define LED_ADSL0_DIR_SETUP danube_port_clear_dir_out
-#endif
-#if LED_ADSL0_ALTSEL0
- #define LED_ADSL0_ALTSEL0_SETUP danube_port_set_altsel0
-#else
- #define LED_ADSL0_ALTSEL0_SETUP danube_port_clear_altsel0
-#endif
-#if LED_ADSL0_ALTSEL1
- #define LED_ADSL0_ALTSEL1_SETUP danube_port_set_altsel1
-#else
- #define LED_ADSL0_ALTSEL1_SETUP danube_port_clear_altsel1
-#endif
-#if LED_ADSL0_OPENDRAIN
- #define LED_ADSL0_OPENDRAIN_SETUP danube_port_set_open_drain
-#else
- #define LED_ADSL0_OPENDRAIN_SETUP danube_port_clear_open_drain
-#endif
-
-#if LED_ADSL1_DIR
- #define LED_ADSL1_DIR_SETUP danube_port_set_dir_out
-#else
- #define LED_ADSL1_DIR_SETUP danube_port_clear_dir_out
-#endif
-#if LED_ADSL1_ALTSEL0
- #define LED_ADSL1_ALTSEL0_SETUP danube_port_set_altsel0
-#else
- #define LED_ADSL1_ALTSEL0_SETUP danube_port_clear_altsel0
-#endif
-#if LED_ADSL1_ALTSEL1
- #define LED_ADSL1_ALTSEL1_SETUP danube_port_set_altsel1
-#else
- #define LED_ADSL1_ALTSEL1_SETUP danube_port_clear_altsel1
-#endif
-#if LED_ADSL1_OPENDRAIN
- #define LED_ADSL1_OPENDRAIN_SETUP danube_port_set_open_drain
-#else
- #define LED_ADSL1_OPENDRAIN_SETUP danube_port_clear_open_drain
-#endif
-
-#define SET_BITS(x, msb, lsb, value) (((x) & ~(((1 << ((msb) + 1)) - 1) ^ ((1 << (lsb)) - 1))) | (((value) & ((1 << (1 + (msb) - (lsb))) - 1)) << (lsb)))