Skip to content

Instantly share code, notes, and snippets.

@webhive
Last active September 15, 2020 07:08
Show Gist options
  • Save webhive/55a453d2bd319ba7aa5541fceae7e71a to your computer and use it in GitHub Desktop.
Save webhive/55a453d2bd319ba7aa5541fceae7e71a to your computer and use it in GitHub Desktop.

Revisions

  1. webhive revised this gist Jan 7, 2018. 1 changed file with 80 additions and 35 deletions.
    115 changes: 80 additions & 35 deletions custom_board.h
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,6 @@
    #ifndef BLE400_H
    #define BLE400_H

    #ifdef __cplusplus
    extern "C" {
    #endif

    #include "nrf_gpio.h"

    // LEDs definitions for BLE400
    #define LEDS_NUMBER 5

    @@ -18,11 +12,23 @@ extern "C" {
    #define LED_5 22
    #define LED_STOP 22

    #define LEDS_ACTIVE_STATE 1
    #define LEDS_LIST { LED_1, LED_2, LED_3, LED_4, LED_5 }

    #define LEDS_INV_MASK LEDS_MASK
    #define BSP_LED_0 LED_1
    #define BSP_LED_1 LED_2
    #define BSP_LED_2 LED_3
    #define BSP_LED_3 LED_4
    #define BSP_LED_4 LED_5

    #define LEDS_LIST { LED_1, LED_2, LED_3, LED_4, LED_5 }
    #define BSP_LED_0_MASK (1<<BSP_LED_0)
    #define BSP_LED_1_MASK (1<<BSP_LED_1)
    #define BSP_LED_2_MASK (1<<BSP_LED_2)
    #define BSP_LED_3_MASK (1<<BSP_LED_3)
    #define BSP_LED_4_MASK (1<<BSP_LED_4)

    #define LEDS_MASK (BSP_LED_0_MASK | BSP_LED_1_MASK | BSP_LED_2_MASK | BSP_LED_3_MASK | BSP_LED_4_MASK)
    /* all LEDs are lit when GPIO is low */
    #define LEDS_INV_MASK LEDS_MASK

    #define BUTTONS_NUMBER 2

    @@ -32,14 +38,20 @@ extern "C" {
    #define BUTTON_STOP 17
    #define BUTTON_PULL NRF_GPIO_PIN_PULLUP

    #define BUTTONS_ACTIVE_STATE 1

    #define BUTTONS_LIST { BUTTON_1, BUTTON_2 }

    #define RX_PIN_NUMBER 8
    #define TX_PIN_NUMBER 6
    #define CTS_PIN_NUMBER 7
    #define RTS_PIN_NUMBER 5
    #define BSP_BUTTON_0 BUTTON_1
    #define BSP_BUTTON_1 BUTTON_2

    #define BSP_BUTTON_0_MASK (1<<BSP_BUTTON_0)
    #define BSP_BUTTON_1_MASK (1<<BSP_BUTTON_1)

    #define BUTTONS_MASK 0x001E0000

    #define RX_PIN_NUMBER 9
    #define TX_PIN_NUMBER 11
    #define CTS_PIN_NUMBER 8
    #define RTS_PIN_NUMBER 10
    #define HWFC true

    #define SPIS_MISO_PIN 28 // SPI MISO signal.
    @@ -62,29 +74,62 @@ extern "C" {
    #define SPIM2_MISO_PIN 14 // SPI Master In Slave Out GPIO pin number.
    #define SPIM2_SS_PIN 15 // SPI Slave Select GPIO pin number.

    // serialization CONNECTIVITY board
    #define SER_CON_RX_PIN 24 // UART RX pin number.
    #define SER_CON_TX_PIN 23 // UART TX pin number.
    #define SER_CON_CTS_PIN 25 // UART Clear To Send pin number. Not used if HWFC is set to false.
    #define SER_CON_RTS_PIN 2 // UART Request To Send pin number. Not used if HWFC is set to false.
    // serialization APPLICATION board - temp. setup for running serialized MEMU tests
    #define SER_APP_RX_PIN 31 // UART RX pin number.
    #define SER_APP_TX_PIN 30 // UART TX pin number.
    #define SER_APP_CTS_PIN 28 // UART Clear To Send pin number.
    #define SER_APP_RTS_PIN 29 // UART Request To Send pin number.

    #define SER_CON_SPIS_SCK_PIN 27 // SPI SCK signal.
    #define SER_CON_SPIS_MOSI_PIN 2 // SPI MOSI signal.
    #define SER_CON_SPIS_MISO_PIN 26 // SPI MISO signal.
    #define SER_CON_SPIS_CSN_PIN 23 // SPI CSN signal.
    #define SER_CON_SPIS_RDY_PIN 25 // SPI READY GPIO pin number.
    #define SER_CON_SPIS_REQ_PIN 24 // SPI REQUEST GPIO pin number.
    #define SER_APP_SPIM0_SCK_PIN 2 // SPI clock GPIO pin number.
    #define SER_APP_SPIM0_MOSI_PIN 4 // SPI Master Out Slave In GPIO pin number
    #define SER_APP_SPIM0_MISO_PIN 3 // SPI Master In Slave Out GPIO pin number
    #define SER_APP_SPIM0_SS_PIN 31 // SPI Slave Select GPIO pin number
    #define SER_APP_SPIM0_RDY_PIN 29 // SPI READY GPIO pin number
    #define SER_APP_SPIM0_REQ_PIN 30 // SPI REQUEST GPIO pin number

    #define SER_CONN_CHIP_RESET_PIN 11 // Pin used to reset connectivity chip
    // serialization CONNECTIVITY board
    #define SER_CON_RX_PIN 13 // UART RX pin number.
    #define SER_CON_TX_PIN 12 // UART TX pin number.
    #define SER_CON_CTS_PIN 14 // UART Clear To Send pin number. Not used if HWFC is set to false.
    #define SER_CON_RTS_PIN 15 // UART Request To Send pin number. Not used if HWFC is set to false.

    #define SER_CON_SPIS_SCK_PIN 29 // SPI SCK signal.
    #define SER_CON_SPIS_MOSI_PIN 25 // SPI MOSI signal.
    #define SER_CON_SPIS_MISO_PIN 28 // SPI MISO signal.
    #define SER_CON_SPIS_CSN_PIN 12 // SPI CSN signal.
    #define SER_CON_SPIS_RDY_PIN 14 // SPI READY GPIO pin number.
    #define SER_CON_SPIS_REQ_PIN 13 // SPI REQUEST GPIO pin number.

    #define SER_CONN_CHIP_RESET_PIN 27 // Pin used to reset connectivity chip

    // Arduino board mappings
    #define ARDUINO_SCL_PIN 27 // SCL signal pin
    #define ARDUINO_SDA_PIN 26 // SDA signal pin
    #define ARDUINO_AREF_PIN 2 // Aref pin
    #define ARDUINO_13_PIN 25 // Digital pin 13
    #define ARDUINO_12_PIN 24 // Digital pin 12
    #define ARDUINO_11_PIN 23 // Digital pin 11
    #define ARDUINO_10_PIN 22 // Digital pin 10
    #define ARDUINO_9_PIN 20 // Digital pin 9
    #define ARDUINO_8_PIN 19 // Digital pin 8

    #define ARDUINO_7_PIN 18 // Digital pin 7
    #define ARDUINO_6_PIN 17 // Digital pin 6
    #define ARDUINO_5_PIN 16 // Digital pin 5
    #define ARDUINO_4_PIN 15 // Digital pin 4
    #define ARDUINO_3_PIN 14 // Digital pin 3
    #define ARDUINO_2_PIN 13 // Digital pin 2
    #define ARDUINO_1_PIN 12 // Digital pin 1
    #define ARDUINO_0_PIN 11 // Digital pin 0

    #define ARDUINO_A0_PIN 3 // Analog channel 0
    #define ARDUINO_A1_PIN 4 // Analog channel 1
    #define ARDUINO_A2_PIN 28 // Analog channel 2
    #define ARDUINO_A3_PIN 29 // Analog channel 3
    #define ARDUINO_A4_PIN 30 // Analog channel 4
    #define ARDUINO_A5_PIN 31 // Analog channel 5

    // Low frequency clock source to be used by the SoftDevice
    #define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_XTAL, \
    .rc_ctiv = 0, \
    .rc_temp_ctiv = 0, \
    .accuracy = NRF_CLOCK_LF_ACCURACY_20_PPM}

    #ifdef __cplusplus
    }
    #endif
    #define NRF_CLOCK_LFCLKSRC NRF_CLOCK_LFCLKSRC_XTAL_20_PPM

    #endif // BLE400_H
  2. webhive created this gist Jan 7, 2018.
    90 changes: 90 additions & 0 deletions custom_board.h
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,90 @@
    #ifndef BLE400_H
    #define BLE400_H

    #ifdef __cplusplus
    extern "C" {
    #endif

    #include "nrf_gpio.h"

    // LEDs definitions for BLE400
    #define LEDS_NUMBER 5

    #define LED_START 18
    #define LED_1 18
    #define LED_2 19
    #define LED_3 20
    #define LED_4 21
    #define LED_5 22
    #define LED_STOP 22

    #define LEDS_ACTIVE_STATE 1

    #define LEDS_INV_MASK LEDS_MASK

    #define LEDS_LIST { LED_1, LED_2, LED_3, LED_4, LED_5 }

    #define BUTTONS_NUMBER 2

    #define BUTTON_START 16
    #define BUTTON_1 16
    #define BUTTON_2 17
    #define BUTTON_STOP 17
    #define BUTTON_PULL NRF_GPIO_PIN_PULLUP

    #define BUTTONS_ACTIVE_STATE 1

    #define BUTTONS_LIST { BUTTON_1, BUTTON_2 }

    #define RX_PIN_NUMBER 8
    #define TX_PIN_NUMBER 6
    #define CTS_PIN_NUMBER 7
    #define RTS_PIN_NUMBER 5
    #define HWFC true

    #define SPIS_MISO_PIN 28 // SPI MISO signal.
    #define SPIS_CSN_PIN 12 // SPI CSN signal.
    #define SPIS_MOSI_PIN 25 // SPI MOSI signal.
    #define SPIS_SCK_PIN 29 // SPI SCK signal.

    #define SPIM0_SCK_PIN 29 // SPI clock GPIO pin number.
    #define SPIM0_MOSI_PIN 25 // SPI Master Out Slave In GPIO pin number.
    #define SPIM0_MISO_PIN 28 // SPI Master In Slave Out GPIO pin number.
    #define SPIM0_SS_PIN 12 // SPI Slave Select GPIO pin number.

    #define SPIM1_SCK_PIN 2 // SPI clock GPIO pin number.
    #define SPIM1_MOSI_PIN 3 // SPI Master Out Slave In GPIO pin number.
    #define SPIM1_MISO_PIN 4 // SPI Master In Slave Out GPIO pin number.
    #define SPIM1_SS_PIN 5 // SPI Slave Select GPIO pin number.

    #define SPIM2_SCK_PIN 12 // SPI clock GPIO pin number.
    #define SPIM2_MOSI_PIN 13 // SPI Master Out Slave In GPIO pin number.
    #define SPIM2_MISO_PIN 14 // SPI Master In Slave Out GPIO pin number.
    #define SPIM2_SS_PIN 15 // SPI Slave Select GPIO pin number.

    // serialization CONNECTIVITY board
    #define SER_CON_RX_PIN 24 // UART RX pin number.
    #define SER_CON_TX_PIN 23 // UART TX pin number.
    #define SER_CON_CTS_PIN 25 // UART Clear To Send pin number. Not used if HWFC is set to false.
    #define SER_CON_RTS_PIN 2 // UART Request To Send pin number. Not used if HWFC is set to false.

    #define SER_CON_SPIS_SCK_PIN 27 // SPI SCK signal.
    #define SER_CON_SPIS_MOSI_PIN 2 // SPI MOSI signal.
    #define SER_CON_SPIS_MISO_PIN 26 // SPI MISO signal.
    #define SER_CON_SPIS_CSN_PIN 23 // SPI CSN signal.
    #define SER_CON_SPIS_RDY_PIN 25 // SPI READY GPIO pin number.
    #define SER_CON_SPIS_REQ_PIN 24 // SPI REQUEST GPIO pin number.

    #define SER_CONN_CHIP_RESET_PIN 11 // Pin used to reset connectivity chip

    // Low frequency clock source to be used by the SoftDevice
    #define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_XTAL, \
    .rc_ctiv = 0, \
    .rc_temp_ctiv = 0, \
    .accuracy = NRF_CLOCK_LF_ACCURACY_20_PPM}

    #ifdef __cplusplus
    }
    #endif

    #endif // BLE400_H