Skip to content

Add LionBit Dev Board. #6151

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 2 commits into from
Jan 18, 2022
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
147 changes: 146 additions & 1 deletion boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10953,4 +10953,149 @@ sonoff_dualr3.menu.DebugLevel.debug.build.code_debug=4
sonoff_dualr3.menu.DebugLevel.verbose=Verbose
sonoff_dualr3.menu.DebugLevel.verbose.build.code_debug=5

##############################################################
##############################################################
lionbit.name=Lion:Bit Dev Board

lionbit.upload.tool=esptool_py
lionbit.upload.maximum_size=1310720
lionbit.upload.maximum_data_size=327680
lionbit.upload.flags=
lionbit.upload.extra_flags=

lionbit.serial.disableDTR=true
lionbit.serial.disableRTS=true

lionbit.build.tarch=xtensa
lionbit.build.bootloader_addr=0x1000
lionbit.build.target=esp32
lionbit.build.mcu=esp32
lionbit.build.core=esp32
lionbit.build.variant=lionbit
lionbit.build.board=Lion:Bit_Dev_Board

lionbit.build.f_cpu=240000000L
lionbit.build.flash_size=4MB
lionbit.build.flash_freq=80m
lionbit.build.flash_mode=dio
lionbit.build.boot=dio
lionbit.build.partitions=default
lionbit.build.defines=
lionbit.build.loop_core=
lionbit.build.event_core=


lionbit.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
lionbit.menu.PartitionScheme.default.build.partitions=default
lionbit.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
lionbit.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
lionbit.menu.PartitionScheme.default_8MB=8M Flash (3MB APP/1.5MB FAT)
lionbit.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
lionbit.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
lionbit.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
lionbit.menu.PartitionScheme.minimal.build.partitions=minimal
lionbit.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
lionbit.menu.PartitionScheme.no_ota.build.partitions=no_ota
lionbit.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
lionbit.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
lionbit.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
lionbit.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
lionbit.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
lionbit.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
lionbit.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
lionbit.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
lionbit.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
lionbit.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
lionbit.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
lionbit.menu.PartitionScheme.huge_app.build.partitions=huge_app
lionbit.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
lionbit.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
lionbit.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
lionbit.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
lionbit.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FAT)
lionbit.menu.PartitionScheme.fatflash.build.partitions=ffat
lionbit.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
lionbit.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS)
lionbit.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
lionbit.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
lionbit.menu.PartitionScheme.rainmaker=RainMaker
lionbit.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
lionbit.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728

lionbit.menu.CPUFreq.240=240MHz (WiFi/BT)
lionbit.menu.CPUFreq.240.build.f_cpu=240000000L
lionbit.menu.CPUFreq.160=160MHz (WiFi/BT)
lionbit.menu.CPUFreq.160.build.f_cpu=160000000L
lionbit.menu.CPUFreq.80=80MHz (WiFi/BT)
lionbit.menu.CPUFreq.80.build.f_cpu=80000000L
lionbit.menu.CPUFreq.40=40MHz (40MHz XTAL)
lionbit.menu.CPUFreq.40.build.f_cpu=40000000L
lionbit.menu.CPUFreq.26=26MHz (26MHz XTAL)
lionbit.menu.CPUFreq.26.build.f_cpu=26000000L
lionbit.menu.CPUFreq.20=20MHz (40MHz XTAL)
lionbit.menu.CPUFreq.20.build.f_cpu=20000000L
lionbit.menu.CPUFreq.13=13MHz (26MHz XTAL)
lionbit.menu.CPUFreq.13.build.f_cpu=13000000L
lionbit.menu.CPUFreq.10=10MHz (40MHz XTAL)
lionbit.menu.CPUFreq.10.build.f_cpu=10000000L


lionbit.menu.FlashMode.dio=DIO
lionbit.menu.FlashMode.dio.build.flash_mode=dio
lionbit.menu.FlashMode.dio.build.boot=dio
lionbit.menu.FlashMode.qio=QIO
lionbit.menu.FlashMode.qio.build.flash_mode=dio
lionbit.menu.FlashMode.qio.build.boot=qio
lionbit.menu.FlashMode.qout=QOUT
lionbit.menu.FlashMode.qout.build.flash_mode=dout
lionbit.menu.FlashMode.qout.build.boot=qout
lionbit.menu.FlashMode.dout=DOUT
lionbit.menu.FlashMode.dout.build.flash_mode=dout
lionbit.menu.FlashMode.dout.build.boot=dout

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

lionbit.menu.FlashSize.4M=4MB (32Mb)
lionbit.menu.FlashSize.4M.build.flash_size=4MB
lionbit.menu.FlashSize.4M.build.partitions=default



lionbit.menu.UploadSpeed.115200=115200
lionbit.menu.UploadSpeed.115200.upload.speed=115200
lionbit.menu.UploadSpeed.256000.windows=256000
lionbit.menu.UploadSpeed.256000.upload.speed=256000
lionbit.menu.UploadSpeed.230400.windows.upload.speed=256000
lionbit.menu.UploadSpeed.230400=230400
lionbit.menu.UploadSpeed.230400.upload.speed=230400
lionbit.menu.UploadSpeed.460800.linux=460800
lionbit.menu.UploadSpeed.460800.macosx=460800
lionbit.menu.UploadSpeed.460800.upload.speed=460800


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

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

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

##############################################################
92 changes: 92 additions & 0 deletions variants/lionbit/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#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 16

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

static const uint8_t LED_BUILTIN = 0; // GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1,EMAC_TX_CLK
static const uint8_t SWITCH_A = 2; // GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0,SD_DATA0
static const uint8_t SWITCH_B = 4; // GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1,SD_DATA1, EMAC_TX_ER

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

/* LionBit pin setup */
static const uint8_t D0 = 3; //Rx GPIO3, U0RXD, CLK_OUT2
static const uint8_t D1 = 1; //TX GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
//-------------------------------------------------------------------

//Please do not use while using QIO SPI mode ; Use only DIO flash mode
static const uint8_t D2 = 9; //I/O U1RX GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD
static const uint8_t D3 = 10; //I/O U1TX GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD
//-------------------------------------------------------------------
static const uint8_t U1RX = 9; //I/O U1RX
static const uint8_t U1TX = 10; //I/O U1TX

//Second Segment - Sector -01 (Voltage (*5v or 3.3V) can be selected by using D4-7 Jumper
static const uint8_t D4 = 16; //I/O U2RX GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
static const uint8_t D5 = 17; //I/O U2TX GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
static const uint8_t D6 = 21; //I/O SDA GPIO21, VSPIHD, EMAC_TX_EN
static const uint8_t D7 = 22; //I/O SCl GPIO22, VSPIWP, U0RTS, EMAC_TXD1

//Second Segment - Sector -02 (Voltage (*5v or 3.3V) can be selected by using D8-11 Jumper
static const uint8_t D8 = 5; //I/O GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
static const uint8_t D9 = 23; //I/O GPIO23, VSPID, HS1_STROBE **********************************************Don not use when display "ON or USE"*************************
static const uint8_t D10 = 19; //I/O GPIO19, VSPIQ, U0CTS, EMAC_TXD0
static const uint8_t D11 = 18; //I/O GPIO18, VSPICLK, HS1_DATA7 **********************************************Don not use when display "ON or USE"*************************


// Analog to Digital Converter (Support 5V) ADC2 pins not recommended while using Wifi
static const uint8_t A0 /*ADC2_CH3 */ = 12; //MAX 5V,I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2,SD_DATA2, EMAC_TXD3
static const uint8_t A1 /*ADC1_CH0 */ = 14; //MAX 5V,I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK,SD_CLK, EMAC_TXD2
static const uint8_t A2 /*ADC2_CH6 */ = 34; //MAX 5V,GPIO34, ADC1_CH6, RTC_GPIO4 ***********************/////////////////////Connected LDR/////////////////////////////
static const uint8_t A3 /*ADC1_CH7 */ = 35; //MAX 5V,GPIO35, ADC1_CH7, RTC_GPIO5
static const uint8_t A4 /*ADC2_CH5 */ = 15; //MAX 5V,GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD,SD_CMD, EMAC_RXD3
static const uint8_t A5 /*ADC2_CH4 */ = 13; //MAX 5V,GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3,SD_DATA3, EMAC_RX_ER
//-------------------------------------------------------------------

//------------------Touch Sensors-------------------------------------------------
static const uint8_t VP = 36; // GPIO36, ADC1_CH0, RTC_GPIO0
static const uint8_t VN = 39; // GPIO39, ADC1_CH3, RTC_GPIO3

static const uint8_t T0 = 36;
static const uint8_t T1 = 39;

static const uint8_t DAC1 = 25; // I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, EMAC_RXD0
static const uint8_t DAC2 = 26; // I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1

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

/* Hardware HSPI */
static const uint8_t MOSI = 13; // 13;
static const uint8_t MISO = 12; // 12;
static const uint8_t SCK = 14; // 14;
static const uint8_t SS = 15; // 15;

/* Software VSPI [Note : D9 and D11 Do not use when display "ON or USE"]*/
static const uint8_t VMOSI = 23; //23 /*Do not use when display "ON or USE"*/
static const uint8_t VMISO = 19; // 19
static const uint8_t VSCK = 18; // 18 /*Do not use when display "ON or USE"*/
static const uint8_t VSS = 5; // 5

// Inbuilt Display Unit 128*128 ST7735 Driver
static const uint8_t RST = 33; // - RESET GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output),ADC1_CH5, TOUCH8, RTC_GPIO8
static const uint8_t CLK = 18; // - (18) CLK (D11) and D9 pin will engaged when display "ON or USE"
static const uint8_t CS = 27; // - CS GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
static const uint8_t DC = 32; //- DC/A0 GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4,TOUCH9, RTC_GPIO9
static const uint8_t ST_MOSI = 23; // - MOSI (D9) This D9 pin will engaged when display "ON or USE"

static const uint8_t MTDO = 15; // A4 JTAG SIGNAL -> TDO
static const uint8_t MTDI = 12; // A0 JTAG SIGNAL -> TDI
static const uint8_t MTCK = 13; // A5 JTAG SIGNAL -> TCK
static const uint8_t MTMS = 14; // A1 JTAG SIGNAL -> TMS

#endif /* Pins_Arduino_h */