Skip to content

Commit 4bf7d48

Browse files
committed
boards: Add configuration files for FoBE Mesh Tracker C1
This commit introduces new configuration files for the FoBE Mesh Tracker C1, including board.cmake, board.h, board.mk, and pinconfig.c. These files define the MCU variant, pin configurations, and bootloader settings necessary for the board's operation. Signed-off-by: ChihoSin [email protected]
1 parent 47398e9 commit 4bf7d48

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
set(MCU_VARIANT nrf52840)
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2025 FoBE Studio.
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
* THE SOFTWARE.
23+
*/
24+
25+
#ifndef _FOBE_MESH_TRACKER_C1_H_
26+
#define _FOBE_MESH_TRACKER_C1_H_
27+
28+
#define _PINNUM(port, pin) ((port)*32 + (pin))
29+
30+
/*------------------------------------------------------------------*/
31+
/* LED
32+
*------------------------------------------------------------------*/
33+
#define LEDS_NUMBER 1
34+
#define LED_PRIMARY_PIN _PINNUM(1, 11) // Blue
35+
#define LED_STATE_ON 0
36+
37+
#define NEOPIXELS_NUMBER 0
38+
39+
/*------------------------------------------------------------------*/
40+
/* BUTTON
41+
*------------------------------------------------------------------*/
42+
#define BUTTONS_NUMBER 2
43+
#define BUTTON_1 _PINNUM(0, 18) // P0.18: NC
44+
#define BUTTON_2 _PINNUM(1, 0) // P1.00: NC
45+
#define BUTTON_PULL NRF_GPIO_PIN_PULLUP
46+
47+
//--------------------------------------------------------------------+
48+
// BLE OTA
49+
//--------------------------------------------------------------------+
50+
#define BLEDIS_MANUFACTURER "FoBE Studio"
51+
#define BLEDIS_MODEL "FoBE Mesh Tracker C1"
52+
53+
//--------------------------------------------------------------------+
54+
// USB
55+
//--------------------------------------------------------------------+
56+
#define USB_DESC_VID 0x239A
57+
#define USB_DESC_UF2_PID 0x0029
58+
#define USB_DESC_CDC_ONLY_PID 0x002A
59+
60+
//--------------------------------------------------------------------+
61+
// UF2
62+
//--------------------------------------------------------------------+
63+
#define UF2_PRODUCT_NAME "FoBE Mesh Tracker C1"
64+
#define UF2_VOLUME_LABEL "FoBE Boot"
65+
#define UF2_BOARD_ID "f2102_r1a"
66+
#define UF2_INDEX_URL "https://wiki.fobestudio.com/product/f2102"
67+
68+
69+
#endif /* _FOBE_MESH_TRACKER_C1_H_ */
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
MCU_SUB_VARIANT = nrf52840
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include "boards.h"
2+
#include "uf2/configkeys.h"
3+
4+
__attribute__((used, section(".bootloaderConfig")))
5+
const uint32_t bootloaderConfig[] =
6+
{
7+
/* CF2 START */
8+
CFG_MAGIC0, CFG_MAGIC1, // magic
9+
5, 100, // used entries, total entries
10+
11+
204, 0x100000, // FLASH_BYTES = 0x100000
12+
205, 0x40000, // RAM_BYTES = 0x40000
13+
208, (USB_DESC_VID << 16) | USB_DESC_UF2_PID, // BOOTLOADER_BOARD_ID = USB VID+PID, used for verification when updating bootloader via uf2
14+
209, 0xada52840, // UF2_FAMILY = 0xada52840
15+
210, 0x20, // PINS_PORT_SIZE = PA_32
16+
17+
0, 0, 0, 0, 0, 0, 0, 0
18+
/* CF2 END */
19+
};

0 commit comments

Comments
 (0)