Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add board support for ThingPulse ePulse Feather #9256

Merged
merged 10 commits into from
Feb 21, 2024
111 changes: 111 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33620,3 +33620,114 @@ makergo_c3_supermini.menu.EraseFlash.all=Enabled
makergo_c3_supermini.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################
# ThingPulse ePulse Feather

epulse_feather.name=ThingPulse ePulse Feather

epulse_feather.bootloader.tool=esptool_py
epulse_feather.bootloader.tool.default=esptool_py

epulse_feather.upload.tool=esptool_py
epulse_feather.upload.tool.default=esptool_py
epulse_feather.upload.tool.network=esp_ota

epulse_feather.upload.maximum_size=1310720
epulse_feather.upload.maximum_data_size=327680
epulse_feather.upload.flags=
epulse_feather.upload.extra_flags=

epulse_feather.serial.disableDTR=true
epulse_feather.serial.disableRTS=true

epulse_feather.build.tarch=xtensa
epulse_feather.build.bootloader_addr=0x1000
epulse_feather.build.target=esp32
epulse_feather.build.mcu=esp32
epulse_feather.build.core=esp32
epulse_feather.build.variant=thingpulse_epulse_feather
epulse_feather.build.board=THINGPULSE_EPULSE_FEATHER

epulse_feather.build.f_cpu=240000000L
epulse_feather.build.flash_size=8MB
epulse_feather.build.flash_freq=80m
epulse_feather.build.flash_mode=dio
epulse_feather.build.boot=dio
matthias-bs marked this conversation as resolved.
Show resolved Hide resolved
epulse_feather.build.partitions=default_8MB
epulse_feather.build.defines=
epulse_feather.build.loop_core=
epulse_feather.build.event_core=

epulse_feather.menu.PSRAM.enabled=Enabled
epulse_feather.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
epulse_feather.menu.PSRAM.disabled=Disabled
epulse_feather.menu.PSRAM.disabled.build.defines=

epulse_feather.menu.LoopCore.1=Core 1
epulse_feather.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
epulse_feather.menu.LoopCore.0=Core 0
epulse_feather.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

epulse_feather.menu.EventsCore.1=Core 1
epulse_feather.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
epulse_feather.menu.EventsCore.0=Core 0
epulse_feather.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0

epulse_feather.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
epulse_feather.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
epulse_feather.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
epulse_feather.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS)
epulse_feather.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB
epulse_feather.menu.PartitionScheme.max_app_8MB.upload.maximum_size=8257536

epulse_feather.menu.CPUFreq.240=240MHz (WiFi/BT)
epulse_feather.menu.CPUFreq.240.build.f_cpu=240000000L
epulse_feather.menu.CPUFreq.160=160MHz (WiFi/BT)
epulse_feather.menu.CPUFreq.160.build.f_cpu=160000000L
epulse_feather.menu.CPUFreq.80=80MHz (WiFi/BT)
epulse_feather.menu.CPUFreq.80.build.f_cpu=80000000L
epulse_feather.menu.CPUFreq.40=40MHz
epulse_feather.menu.CPUFreq.40.build.f_cpu=40000000L
epulse_feather.menu.CPUFreq.20=20MHz
epulse_feather.menu.CPUFreq.20.build.f_cpu=20000000L
epulse_feather.menu.CPUFreq.10=10MHz
epulse_feather.menu.CPUFreq.10.build.f_cpu=10000000L

epulse_feather.menu.FlashFreq.80=80MHz
epulse_feather.menu.FlashFreq.80.build.flash_freq=80m
epulse_feather.menu.FlashFreq.40=40MHz
epulse_feather.menu.FlashFreq.40.build.flash_freq=40m

epulse_feather.menu.UploadSpeed.921600=921600
epulse_feather.menu.UploadSpeed.921600.upload.speed=921600
epulse_feather.menu.UploadSpeed.115200=115200
epulse_feather.menu.UploadSpeed.115200.upload.speed=115200
epulse_feather.menu.UploadSpeed.256000.windows=256000
epulse_feather.menu.UploadSpeed.256000.upload.speed=256000
epulse_feather.menu.UploadSpeed.230400.windows.upload.speed=256000
epulse_feather.menu.UploadSpeed.230400=230400
epulse_feather.menu.UploadSpeed.230400.upload.speed=230400
epulse_feather.menu.UploadSpeed.460800.linux=460800
epulse_feather.menu.UploadSpeed.460800.macosx=460800
epulse_feather.menu.UploadSpeed.460800.upload.speed=460800
epulse_feather.menu.UploadSpeed.512000.windows=512000
epulse_feather.menu.UploadSpeed.512000.upload.speed=512000

epulse_feather.menu.DebugLevel.none=None
epulse_feather.menu.DebugLevel.none.build.code_debug=0
epulse_feather.menu.DebugLevel.error=Error
epulse_feather.menu.DebugLevel.error.build.code_debug=1
epulse_feather.menu.DebugLevel.warn=Warn
epulse_feather.menu.DebugLevel.warn.build.code_debug=2
epulse_feather.menu.DebugLevel.info=Info
epulse_feather.menu.DebugLevel.info.build.code_debug=3
epulse_feather.menu.DebugLevel.debug=Debug
epulse_feather.menu.DebugLevel.debug.build.code_debug=4
epulse_feather.menu.DebugLevel.verbose=Verbose
epulse_feather.menu.DebugLevel.verbose.build.code_debug=5

epulse_feather.menu.EraseFlash.none=Disabled
epulse_feather.menu.EraseFlash.none.upload.erase_cmd=
epulse_feather.menu.EraseFlash.all=Enabled
epulse_feather.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################
53 changes: 53 additions & 0 deletions variants/thingpulse_epulse_feather/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

static const uint8_t LED_BUILTIN = -1;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN

static const uint8_t SDA = 23;
static const uint8_t SCL = 22;

static const uint8_t MOSI = 18;
static const uint8_t MISO = 19;
static const uint8_t SCK = 5;
static const uint8_t SS = -1;

// mapping to match other feathers and also in order
static const uint8_t A0 = 26;
static const uint8_t A1 = 25;
static const uint8_t A2 = 34;
static const uint8_t A3 = 39;
static const uint8_t A4 = 36;
static const uint8_t A5 = 4;
static const uint8_t A6 = 14;
static const uint8_t A7 = 32;
static const uint8_t A8 = 15;
static const uint8_t A9 = 33;
static const uint8_t A10 = 27;
static const uint8_t A11 = 12;
static const uint8_t A12 = 13;

// vbat measure
static const uint8_t BATT_MONITOR = 35; // Note: voltage divider 2.2M/4.7M
static const uint8_t A13 = 35;
//static const uint8_t Ax = 0; // not used/available
//static const uint8_t Ax = 2; // not used/available? GPIO02 is available!

// touch inputs
static const uint8_t T0 = 4;
static const uint8_t T2 = 2;
static const uint8_t T3 = 15;
static const uint8_t T4 = 13;
static const uint8_t T5 = 12;
static const uint8_t T6 = 14;
static const uint8_t T7 = 27;
static const uint8_t T8 = 33;
static const uint8_t T9 = 32;

static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;

#endif /* Pins_Arduino_h */