Skip to content

Add Pycom GPy board #2754

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

Merged
merged 1 commit into from
May 11, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3718,3 +3718,59 @@ d1_mini32.menu.UploadSpeed.512000.upload.speed=512000

##############################################################

gpy.name=Pycom GPy

gpy.upload.tool=esptool_py
gpy.upload.maximum_size=1310720
gpy.upload.maximum_data_size=327680
gpy.upload.wait_for_upload_port=true

gpy.serial.disableDTR=true
gpy.serial.disableRTS=true

gpy.build.mcu=esp32
gpy.build.core=esp32
gpy.build.variant=gpy
gpy.build.board=PYCOM_GPY

gpy.build.f_cpu=240000000L
gpy.build.flash_mode=dio
gpy.build.flash_size=8MB
gpy.build.boot=dio
gpy.build.partitions=default

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

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

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

##############################################################

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

#include <stdint.h>

#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 18

#define analogInputToDigitalPin(p) (((p)<40)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)

// Sequans Monarch LTE Cat M1/NB1 modem
// NOTE: The Pycom pinout as well as spec sheet block diagram / pin details
// incorrectly list the LTE pins. The correct pins are defined in the source and CSV
// at https://github.com/pycom/pycom-micropython-sigfox/tree/master/esp32/boards/GPY.
#define LTE_CTS 18 // GPIO18 - Sequans modem CTS
#define LTE_RTS 19 // GPIO19 - Sequans modem RTS (pull low to communicate)
#define LTE_RX 23 // GPIO23 - Sequans modem RX
#define LTE_TX 5 // GPIO5 - Sequans modem TX
#define LTE_WAKE 27 // GPIO27 - Sequans modem wake-up interrupt
#define LTE_BAUD 921600

static const uint8_t LED_BUILTIN = 0; // ->2812 RGB !!!
#define BUILTIN_LED LED_BUILTIN // backward compatibility

#define ANT_SELECT 21 // GPIO21 - WiFi external / internal antenna switch

static const uint8_t TX = 1;
static const uint8_t RX = 3;

static const uint8_t SDA = 12;
static const uint8_t SCL = 13;

static const uint8_t SS = 17;
static const uint8_t MOSI = 22;
static const uint8_t MISO = 37;
static const uint8_t SCK = 13;

static const uint8_t A0 = 36;
static const uint8_t A1 = 37;
static const uint8_t A2 = 38;
static const uint8_t A3 = 39;
static const uint8_t A4 = 32;
static const uint8_t A5 = 33;
static const uint8_t A6 = 34;
static const uint8_t A7 = 35;
static const uint8_t A10 = 4;
static const uint8_t A11 = 0;
static const uint8_t A12 = 2;
static const uint8_t A13 = 15;
static const uint8_t A14 = 13;
static const uint8_t A15 = 12;
static const uint8_t A16 = 14;
static const uint8_t A17 = 27;
static const uint8_t A18 = 25;
static const uint8_t A19 = 26;

static const uint8_t T0 = 4;
static const uint8_t T1 = 0;
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 */