n5_starterkit.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /*
  2. This software is subject to the license described in the License.txt file
  3. included with this software distribution. You may not use this file except in compliance
  4. with this license.
  5. Copyright (c) Dynastream Innovations Inc. 2015
  6. All rights reserved.
  7. */
  8. #ifndef N5STARTERKIT_H
  9. #define N5STARTERKIT_H
  10. #include "nrf_gpio.h"
  11. // LEDs definitions for N5DK1
  12. #define LEDS_NUMBER 4
  13. // IO board active low leds
  14. // N5DK1 does not define LED_START or LED_STOP since the LEDS are not on sequential pins
  15. #define LED_A 8 //LED A on N5 Starter Kit IO Board
  16. #define LED_B 3 //LED B on N5 Starter Kit IO Board
  17. #define LED_C 15 //LED C on N5 Starter Kit IO Board
  18. #define LED_D 30 //LED D on N5 Starter Kit IO Board
  19. #define LEDS_LIST { LED_A, LED_B, LED_C, LED_D }
  20. #define BSP_LED_0 LED_A
  21. #define BSP_LED_1 LED_B
  22. #define BSP_LED_2 LED_C
  23. #define BSP_LED_3 LED_D
  24. #define BSP_LED_0_MASK (1<<BSP_LED_0)
  25. #define BSP_LED_1_MASK (1<<BSP_LED_1)
  26. #define BSP_LED_2_MASK (1<<BSP_LED_2)
  27. #define BSP_LED_3_MASK (1<<BSP_LED_3)
  28. #define LEDS_MASK (BSP_LED_0_MASK | BSP_LED_1_MASK | BSP_LED_2_MASK | BSP_LED_3_MASK)
  29. /* all LEDs are lit when GPIO is low */
  30. #define LEDS_INV_MASK LEDS_MASK
  31. #define BUTTONS_NUMBER 4
  32. // IO board pull-up buttons
  33. #define BUTTON_A 23 //BUTTON A on N5 Starter Kit IO Board
  34. #define BUTTON_B 2 //BUTTON B on N5 Starter Kit IO Board
  35. #define BUTTON_C 12 //BUTTON C on N5 Starter Kit IO Board
  36. #define BUTTON_D 11 //BUTTON D on N5 Starter Kit IO Board
  37. #define BUTTON_PULL NRF_GPIO_PIN_PULLUP
  38. #define BSP_BUTTON_0 BUTTON_A
  39. #define BSP_BUTTON_1 BUTTON_B
  40. #define BSP_BUTTON_2 BUTTON_C
  41. #define BSP_BUTTON_3 BUTTON_D
  42. #define BSP_BUTTON_0_MASK (1<<BSP_BUTTON_0)
  43. #define BSP_BUTTON_1_MASK (1<<BSP_BUTTON_1)
  44. #define BSP_BUTTON_2_MASK (1<<BSP_BUTTON_2)
  45. #define BSP_BUTTON_3_MASK (1<<BSP_BUTTON_3)
  46. #define BUTTONS_MASK 0x00801804 // b100000000001100000000100
  47. #define BUTTONS_LIST { BUTTON_A, BUTTON_B, BUTTON_C, BUTTON_D }
  48. // Battery board pull-up switches
  49. #define SWITCH_1 5 // Switch 1 on N5 Starter Kit Battery Board
  50. #define SWITCH_2 0 // Switch 2 on N5 Starter Kit Battery Board
  51. #define SWITCH_3 6 // Switch 3 on N5 Starter Kit Battery Board
  52. #define SWITCH_4 24 // Switch 4 on N5 Starter Kit Battery Board
  53. #define SWITCH_5 9 // Switch 5 on N5 Starter Kit Battery Board
  54. #define SWITCH_PULL NRF_GPIO_PIN_PULLUP
  55. #define SWITCHES_NUMBER 5
  56. #define BSP_SWITCH_0 SWITCH_1
  57. #define BSP_SWITCH_1 SWITCH_2
  58. #define BSP_SWITCH_2 SWITCH_3
  59. #define BSP_SWITCH_3 SWITCH_4
  60. #define BSP_SWITCH_4 SWITCH_5
  61. #define SWITCHES_MASK 0x01000261
  62. // N5DK1 does not have UART peripheral. Dummy defines for compilation.
  63. #define RX_PIN_NUMBER 0xFF
  64. #define TX_PIN_NUMBER 0xFF
  65. #define CTS_PIN_NUMBER 0xFF
  66. #define RTS_PIN_NUMBER 0xFF
  67. // Low frequency clock source to be used by the SoftDevice
  68. #ifdef S210
  69. #define NRF_CLOCK_LFCLKSRC NRF_CLOCK_LFCLKSRC_XTAL_50_PPM
  70. #else
  71. #define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_XTAL, \
  72. .rc_ctiv = 0, \
  73. .rc_temp_ctiv = 0, \
  74. .xtal_accuracy = NRF_CLOCK_LF_XTAL_ACCURACY_50_PPM}
  75. #endif
  76. #endif