boards.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /* Copyright (c) 2014 Nordic Semiconductor. All Rights Reserved.
  2. *
  3. * The information contained herein is property of Nordic Semiconductor ASA.
  4. * Terms and conditions of usage are described in detail in NORDIC
  5. * SEMICONDUCTOR STANDARD SOFTWARE LICENSE AGREEMENT.
  6. *
  7. * Licensees are granted free, non-transferable use of the information. NO
  8. * WARRANTY of ANY KIND is provided. This heading must NOT be removed from
  9. * the file.
  10. *
  11. */
  12. #ifndef BOARDS_H
  13. #define BOARDS_H
  14. #include "nrf_gpio.h"
  15. #if defined(BOARD_NRF6310)
  16. #include "nrf6310.h"
  17. #elif defined(BOARD_PCA10000)
  18. #include "pca10000.h"
  19. #elif defined(BOARD_PCA10001)
  20. #include "pca10001.h"
  21. #elif defined(BOARD_PCA10002)
  22. #include "pca10000.h"
  23. #elif defined(BOARD_PCA10003)
  24. #include "pca10003.h"
  25. #elif defined(BOARD_PCA20006)
  26. #include "pca20006.h"
  27. #elif defined(BOARD_PCA10028)
  28. #include "pca10028.h"
  29. #elif defined(BOARD_PCA10031)
  30. #include "pca10031.h"
  31. #elif defined(BOARD_PCA10036)
  32. #include "pca10036.h"
  33. #elif defined(BOARD_PCA10040)
  34. #include "pca10040.h"
  35. #elif defined(BOARD_WT51822)
  36. #include "wt51822.h"
  37. #elif defined(BOARD_N5DK1)
  38. #include "n5_starterkit.h"
  39. #elif defined(BOARD_CUSTOM)
  40. #include "custom_board.h"
  41. #else
  42. #error "Board is not defined"
  43. #endif
  44. #define LEDS_OFF(leds_mask) do { NRF_GPIO->OUTSET = (leds_mask) & (LEDS_MASK & LEDS_INV_MASK); \
  45. NRF_GPIO->OUTCLR = (leds_mask) & (LEDS_MASK & ~LEDS_INV_MASK); } while (0)
  46. #define LEDS_ON(leds_mask) do { NRF_GPIO->OUTCLR = (leds_mask) & (LEDS_MASK & LEDS_INV_MASK); \
  47. NRF_GPIO->OUTSET = (leds_mask) & (LEDS_MASK & ~LEDS_INV_MASK); } while (0)
  48. #define LED_IS_ON(leds_mask) ((leds_mask) & (NRF_GPIO->OUT ^ LEDS_INV_MASK) )
  49. #define LEDS_INVERT(leds_mask) do { uint32_t gpio_state = NRF_GPIO->OUT; \
  50. NRF_GPIO->OUTSET = ((leds_mask) & ~gpio_state); \
  51. NRF_GPIO->OUTCLR = ((leds_mask) & gpio_state); } while (0)
  52. #define LEDS_CONFIGURE(leds_mask) do { uint32_t pin; \
  53. for (pin = 0; pin < 32; pin++) \
  54. if ( (leds_mask) & (1 << pin) ) \
  55. nrf_gpio_cfg_output(pin); } while (0)
  56. #endif