added metro nrf52840 revA
clean up makefile
This commit is contained in:
parent
2f1eec7118
commit
7279bd9b32
1
Makefile
1
Makefile
@ -265,6 +265,7 @@ CFLAGS += -DDFU_APP_DATA_RESERVED=7*4096
|
|||||||
|
|
||||||
CFLAGS += -DUF2_VERSION='"$(GIT_VERSION) $(GIT_SUBMODULE_VERSIONS) $(SD_NAME) $(SD_VERSION)"'
|
CFLAGS += -DUF2_VERSION='"$(GIT_VERSION) $(GIT_SUBMODULE_VERSIONS) $(SD_NAME) $(SD_VERSION)"'
|
||||||
CFLAGS += -DBOARD_$(shell echo $(BOARD) | tr '[:lower:]' '[:upper:]')
|
CFLAGS += -DBOARD_$(shell echo $(BOARD) | tr '[:lower:]' '[:upper:]')
|
||||||
|
CFLAGS += -DBOARD_HEADER_FILE='"boards/$(BOARD).h"'
|
||||||
|
|
||||||
ifneq ($(IS_52832),)
|
ifneq ($(IS_52832),)
|
||||||
CFLAGS += -DNRF52
|
CFLAGS += -DNRF52
|
||||||
|
@ -83,7 +83,6 @@ void board_init(void)
|
|||||||
|
|
||||||
// Configure Systick for led blinky
|
// Configure Systick for led blinky
|
||||||
NVIC_SetPriority(SysTick_IRQn, 7);
|
NVIC_SetPriority(SysTick_IRQn, 7);
|
||||||
extern uint32_t SystemCoreClock;
|
|
||||||
SysTick_Config(SystemCoreClock/1000);
|
SysTick_Config(SystemCoreClock/1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
38
src/boards.h
38
src/boards.h
@ -17,23 +17,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "nrf_gpio.h"
|
#include "nrf_gpio.h"
|
||||||
|
|
||||||
#if defined BOARD_FEATHER_NRF52840_EXPRESS
|
#include BOARD_HEADER_FILE
|
||||||
#include "boards/feather_nrf52840_express.h"
|
|
||||||
#elif defined BOARD_FEATHER_NRF52832
|
|
||||||
#include "boards/feather_nrf52832.h"
|
|
||||||
#elif defined BOARD_PCA10056
|
|
||||||
#include "boards/pca10056.h"
|
|
||||||
#elif defined BOARD_PCA10059
|
|
||||||
#include "boards/pca10059.h"
|
|
||||||
#elif defined BOARD_PARTICLE_ARGON
|
|
||||||
#include "boards/particle_argon.h"
|
|
||||||
#elif defined BOARD_PARTICLE_BORON
|
|
||||||
#include "boards/particle_boron.h"
|
|
||||||
#elif defined BOARD_PARTICLE_XENON
|
|
||||||
#include "boards/particle_xenon.h"
|
|
||||||
#else
|
|
||||||
#error No boards defined
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef BUTTON_DFU
|
#ifndef BUTTON_DFU
|
||||||
#define BUTTON_DFU BUTTON_1
|
#define BUTTON_DFU BUTTON_1
|
||||||
@ -73,15 +57,17 @@ void board_teardown(void);
|
|||||||
|
|
||||||
#define bit(b) (1UL << (b))
|
#define bit(b) (1UL << (b))
|
||||||
|
|
||||||
#define STATE_BOOTLOADER_STARTED 0
|
enum {
|
||||||
#define STATE_USB_MOUNTED 1
|
STATE_BOOTLOADER_STARTED = 0,
|
||||||
#define STATE_USB_UNMOUNTED 2
|
STATE_USB_MOUNTED,
|
||||||
#define STATE_FACTORY_RESET_STARTED 3
|
STATE_USB_UNMOUNTED,
|
||||||
#define STATE_FACTORY_RESET_FINISHED 4
|
STATE_FACTORY_RESET_STARTED,
|
||||||
#define STATE_WRITING_STARTED 5
|
STATE_FACTORY_RESET_FINISHED,
|
||||||
#define STATE_WRITING_FINISHED 6
|
STATE_WRITING_STARTED,
|
||||||
#define STATE_BLE_CONNECTED 7
|
STATE_WRITING_FINISHED,
|
||||||
#define STATE_BLE_DISCONNECTED 8
|
STATE_BLE_CONNECTED,
|
||||||
|
STATE_BLE_DISCONNECTED
|
||||||
|
};
|
||||||
|
|
||||||
void led_pwm_init(uint32_t led_index, uint32_t led_pin);
|
void led_pwm_init(uint32_t led_index, uint32_t led_pin);
|
||||||
void led_pwm_teardown(void);
|
void led_pwm_teardown(void);
|
||||||
|
77
src/boards/metro_nrf52840_express.h
Normal file
77
src/boards/metro_nrf52840_express.h
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/**************************************************************************/
|
||||||
|
/*!
|
||||||
|
@file metro_nrf52840_express.h
|
||||||
|
@author hathach (tinyusb.org)
|
||||||
|
|
||||||
|
@section LICENSE
|
||||||
|
|
||||||
|
Software License Agreement (BSD License)
|
||||||
|
|
||||||
|
Copyright (c) 2019, Adafruit Industries (adafruit.com)
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the copyright holders nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
|
||||||
|
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
/**************************************************************************/
|
||||||
|
|
||||||
|
#ifndef _METRO_NRF52840_EXPRESS_H_
|
||||||
|
#define _METRO_NRF52840_EXPRESS_H_
|
||||||
|
|
||||||
|
#define _PINNUM(port, pin) ((port)*32 + (pin))
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* LED
|
||||||
|
*------------------------------------------------------------------*/
|
||||||
|
#define LEDS_NUMBER 2
|
||||||
|
#define LED_PRIMARY_PIN _PINNUM(1, 13)
|
||||||
|
#define LED_SECONDARY_PIN _PINNUM(1, 15)
|
||||||
|
#define LED_NEOPIXEL _PINNUM(0, 13)
|
||||||
|
#define BOARD_RGB_BRIGHTNESS 0x040404
|
||||||
|
#define LED_STATE_ON 1
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* BUTTON
|
||||||
|
*------------------------------------------------------------------*/
|
||||||
|
#define BUTTONS_NUMBER 2
|
||||||
|
#define BUTTON_1 _PINNUM(1, 0)
|
||||||
|
#define BUTTON_2 _PINNUM(2, 2)
|
||||||
|
#define BUTTON_PULL NRF_GPIO_PIN_PULLUP
|
||||||
|
|
||||||
|
/*------------------------------------------------------------------*/
|
||||||
|
/* UART
|
||||||
|
*------------------------------------------------------------------*/
|
||||||
|
#define RX_PIN_NUMBER 8
|
||||||
|
#define TX_PIN_NUMBER 6
|
||||||
|
#define CTS_PIN_NUMBER 0
|
||||||
|
#define RTS_PIN_NUMBER 0
|
||||||
|
#define HWFC false
|
||||||
|
|
||||||
|
// Used as model string in OTA mode
|
||||||
|
#define DIS_MANUFACTURER "Adafruit Industries"
|
||||||
|
#define DIS_MODEL "Bluefruit Metro nRF52840 Express"
|
||||||
|
|
||||||
|
#define PRODUCT_NAME "Adafruit Metro nRF52840 Express"
|
||||||
|
#define VOLUME_LABEL "METR840BOOT"
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* _METRO_NRF52840_EXPRESS_H_ */
|
@ -42,21 +42,21 @@
|
|||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
/* LED
|
/* LED
|
||||||
*------------------------------------------------------------------*/
|
*------------------------------------------------------------------*/
|
||||||
#define LEDS_NUMBER 1
|
#define LEDS_NUMBER 1
|
||||||
#define LED_PRIMARY_PIN _PINNUM(1, 12)
|
#define LED_PRIMARY_PIN _PINNUM(1, 12)
|
||||||
#define LED_STATE_ON 1
|
#define LED_STATE_ON 1
|
||||||
|
|
||||||
#define LED_RGB_RED_PIN _PINNUM(0, 13)
|
#define LED_RGB_RED_PIN _PINNUM(0, 13)
|
||||||
#define LED_RGB_GREEN_PIN _PINNUM(0, 14)
|
#define LED_RGB_GREEN_PIN _PINNUM(0, 14)
|
||||||
#define LED_RGB_BLUE_PIN _PINNUM(0, 15)
|
#define LED_RGB_BLUE_PIN _PINNUM(0, 15)
|
||||||
#define BOARD_RGB_BRIGHTNESS 0x202020
|
#define BOARD_RGB_BRIGHTNESS 0x202020
|
||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
/* BUTTON
|
/* BUTTON
|
||||||
*------------------------------------------------------------------*/
|
*------------------------------------------------------------------*/
|
||||||
#define BUTTONS_NUMBER 2
|
#define BUTTONS_NUMBER 2
|
||||||
#define BUTTON_DFU _PINNUM(0, 11)
|
#define BUTTON_DFU _PINNUM(0, 11)
|
||||||
#define BUTTON_FRESET _PINNUM(0, 03) // A0
|
#define BUTTON_FRESET _PINNUM(0, 03) // A0
|
||||||
#define BUTTON_PULL NRF_GPIO_PIN_PULLUP
|
#define BUTTON_PULL NRF_GPIO_PIN_PULLUP
|
||||||
|
|
||||||
/*------------------------------------------------------------------*/
|
/*------------------------------------------------------------------*/
|
||||||
|
@ -79,6 +79,8 @@ void usb_init(bool cdc_only)
|
|||||||
|
|
||||||
_inited = true;
|
_inited = true;
|
||||||
|
|
||||||
|
NVIC_SetPriority(USBD_IRQn, 2);
|
||||||
|
|
||||||
// USB power may already be ready at this time -> no event generated
|
// USB power may already be ready at this time -> no event generated
|
||||||
// We need to invoke the handler based on the status initially
|
// We need to invoke the handler based on the status initially
|
||||||
uint32_t usb_reg;
|
uint32_t usb_reg;
|
||||||
|
Loading…
Reference in New Issue
Block a user