Common board specific configuration for the Particle Mesh. More...
Common board specific configuration for the Particle Mesh.
Definition in file board.h.
#include "cpu.h"
#include "board_common.h"
Go to the source code of this file.
Bootloader configuration options | |
#define | PARTICLE_MONOFIRMWARE |
Build a firmware suitable for the Particle bootloader. | |
#define | PARTICLE_MONOFIRMWARE_CHECKSUMLIMIT |
Limit Particle bootloader checksumming to the binary start. | |
#define | PARTICLE_PLATFORM_ID |
Platform ID of the board for the Particle bootloader. | |
LED pin configuration | |
#define | LED0_PIN GPIO_PIN(0, 13) |
#define | LED1_PIN GPIO_PIN(0, 14) |
#define | LED2_PIN GPIO_PIN(0, 15) |
#define | LED_PORT (NRF_P0) |
#define | LED0_MASK (1 << 13) |
#define | LED1_MASK (1 << 14) |
#define | LED2_MASK (1 << 15) |
#define | LED_MASK (LED0_MASK | LED1_MASK | LED2_MASK) |
#define | LED0_ON (LED_PORT->OUTCLR = LED0_MASK) |
#define | LED0_OFF (LED_PORT->OUTSET = LED0_MASK) |
#define | LED0_TOGGLE (LED_PORT->OUT ^= LED0_MASK) |
#define | LED1_ON (LED_PORT->OUTCLR = LED1_MASK) |
#define | LED1_OFF (LED_PORT->OUTSET = LED1_MASK) |
#define | LED1_TOGGLE (LED_PORT->OUT ^= LED1_MASK) |
#define | LED2_ON (LED_PORT->OUTCLR = LED2_MASK) |
#define | LED2_OFF (LED_PORT->OUTSET = LED2_MASK) |
#define | LED2_TOGGLE (LED_PORT->OUT ^= LED2_MASK) |
Button pin configuration | |
#define | BTN0_PIN GPIO_PIN(0, 11) |
#define | BTN0_MODE GPIO_IN_PU |
Antenna selection configuration | |
#define | VCTL1_PIN GPIO_PIN(0, 24) |
The GPIO pin used to drive the VCTL1 pin of antenna switch. | |
#define | VCTL2_PIN GPIO_PIN(0, 25) |
The GPIO pin used to drive the VCTL2 pin of antenna switch. | |
enum | board_nrfantenna_selection { BOARD_NRFANTENNA_BUILTIN , BOARD_NRFANTENNA_EXTERNAL } |
Choices in antenna outputs for the board's nRF radio. More... | |
void | board_nrfantenna_select (enum board_nrfantenna_selection choice) |
Antenna output selection. | |
#define PARTICLE_MONOFIRMWARE |
Build a firmware suitable for the Particle bootloader.
If this is defined, additional metadata about the firmware is included in the firmware (called the module_info in Particle), and additional code is inserted in board setup.
Do not define this manually; instead, set PARTICLE_MONOFIRMWARE=1
as an variable in the build scripts like BOARD
is defined, and the particle common make file defines it and configures suitable postprocessing of the binary.
#define PARTICLE_MONOFIRMWARE_CHECKSUMLIMIT |
Limit Particle bootloader checksumming to the binary start.
If this define is set in the Makefile, the binary size announced to the bootloader is limited to the reset vector and the firmware metadata, and only that part is checksummed.
This is useful when Flash page driver is used, as otherwise the firmware's writes on itself would invalidate its checksum.
#define PARTICLE_PLATFORM_ID |
Platform ID of the board for the Particle bootloader.
This is set by the individual board's build configuration, and gets used when building with PARTICLE_MONOFIRMWARE; then, it is put into the module information for the board bootloader to verify that the firmware was built for the right device.
The individual values are documented in the Particle DeviceOS source code in build/platform-id.mk
.
#define VCTL1_PIN GPIO_PIN(0, 24) |
The GPIO pin used to drive the VCTL1 pin of antenna switch.
Rather than actuating this directly, consider using the board_nrfantenna_select function.
#define VCTL2_PIN GPIO_PIN(0, 25) |
The GPIO pin used to drive the VCTL2 pin of antenna switch.
This definition is left out for boards whose VCTL2 is driven by an inverter from VCTL1.
Rather than actuating this directly, consider using the board_nrfantenna_select function.
Choices in antenna outputs for the board's nRF radio.
Enumerator | |
---|---|
BOARD_NRFANTENNA_BUILTIN | The board's built-in antenna. |
BOARD_NRFANTENNA_EXTERNAL | The board's uFL connector. |
void board_nrfantenna_select | ( | enum board_nrfantenna_selection | choice | ) |
Antenna output selection.
Drive the on-board antenna switch to connect the nRF radio to a given choice
of antenna output.
This can be called to change the antenna selection at runtime; for the default configuration that gets set during board initialization, see Particle Mesh common.