Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1ca741e

Browse files
Merge branch 'master' into release/v2.x
2 parents 8a458d1 + 12bd525 commit 1ca741e

File tree

36 files changed

+1270
-254
lines changed

36 files changed

+1270
-254
lines changed

‎boards.txt

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6964,6 +6964,171 @@ dfrobot_beetle_esp32c3.menu.EraseFlash.none.upload.erase_cmd=
69646964
dfrobot_beetle_esp32c3.menu.EraseFlash.all=Enabled
69656965
dfrobot_beetle_esp32c3.menu.EraseFlash.all.upload.erase_cmd=-e
69666966

6967+
6968+
##############################################################
6969+
6970+
dfrobot_firebeetle2_esp32e.name=FireBeetle 2 ESP32-E
6971+
6972+
dfrobot_firebeetle2_esp32e.upload.tool=esptool_py
6973+
dfrobot_firebeetle2_esp32e.upload.maximum_size=1310720
6974+
dfrobot_firebeetle2_esp32e.upload.maximum_data_size=327680
6975+
dfrobot_firebeetle2_esp32e.upload.flags=
6976+
dfrobot_firebeetle2_esp32e.upload.extra_flags=
6977+
6978+
dfrobot_firebeetle2_esp32e.serial.disableDTR=true
6979+
dfrobot_firebeetle2_esp32e.serial.disableRTS=true
6980+
6981+
dfrobot_firebeetle2_esp32e.build.tarch=xtensa
6982+
dfrobot_firebeetle2_esp32e.build.bootloader_addr=0x1000
6983+
dfrobot_firebeetle2_esp32e.build.target=esp32
6984+
dfrobot_firebeetle2_esp32e.build.mcu=esp32
6985+
dfrobot_firebeetle2_esp32e.build.core=esp32
6986+
dfrobot_firebeetle2_esp32e.build.variant=dfrobot_firebeetle2_esp32e
6987+
dfrobot_firebeetle2_esp32e.build.board=DFROBOT_FIREBEETLE_2_ESP32E
6988+
6989+
dfrobot_firebeetle2_esp32e.build.f_cpu=240000000L
6990+
dfrobot_firebeetle2_esp32e.build.flash_size=4MB
6991+
dfrobot_firebeetle2_esp32e.build.flash_freq=40m
6992+
dfrobot_firebeetle2_esp32e.build.flash_mode=dio
6993+
dfrobot_firebeetle2_esp32e.build.boot=dio
6994+
dfrobot_firebeetle2_esp32e.build.partitions=default
6995+
dfrobot_firebeetle2_esp32e.build.defines=
6996+
dfrobot_firebeetle2_esp32e.build.loop_core=
6997+
dfrobot_firebeetle2_esp32e.build.event_core=
6998+
6999+
dfrobot_firebeetle2_esp32e.menu.PSRAM.disabled=Disabled
7000+
dfrobot_firebeetle2_esp32e.menu.PSRAM.disabled.build.defines=
7001+
dfrobot_firebeetle2_esp32e.menu.PSRAM.disabled.build.extra_libs=
7002+
dfrobot_firebeetle2_esp32e.menu.PSRAM.enabled=Enabled
7003+
dfrobot_firebeetle2_esp32e.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw
7004+
dfrobot_firebeetle2_esp32e.menu.PSRAM.enabled.build.extra_libs=
7005+
7006+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
7007+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.default.build.partitions=default
7008+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
7009+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
7010+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.default_8MB=8M Flash (3MB APP/1.5MB FAT)
7011+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
7012+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
7013+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
7014+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.minimal.build.partitions=minimal
7015+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
7016+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.no_ota.build.partitions=no_ota
7017+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
7018+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
7019+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
7020+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
7021+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
7022+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
7023+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
7024+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
7025+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
7026+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
7027+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
7028+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.huge_app.build.partitions=huge_app
7029+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
7030+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
7031+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
7032+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
7033+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FAT)
7034+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.fatflash.build.partitions=ffat
7035+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
7036+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS)
7037+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
7038+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
7039+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker=RainMaker
7040+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
7041+
dfrobot_firebeetle2_esp32e.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
7042+
7043+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.240=240MHz (WiFi/BT)
7044+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.240.build.f_cpu=240000000L
7045+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.160=160MHz (WiFi/BT)
7046+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.160.build.f_cpu=160000000L
7047+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.80=80MHz (WiFi/BT)
7048+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.80.build.f_cpu=80000000L
7049+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.40=40MHz (40MHz XTAL)
7050+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.40.build.f_cpu=40000000L
7051+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.26=26MHz (26MHz XTAL)
7052+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.26.build.f_cpu=26000000L
7053+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.20=20MHz (40MHz XTAL)
7054+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.20.build.f_cpu=20000000L
7055+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.13=13MHz (26MHz XTAL)
7056+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.13.build.f_cpu=13000000L
7057+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.10=10MHz (40MHz XTAL)
7058+
dfrobot_firebeetle2_esp32e.menu.CPUFreq.10.build.f_cpu=10000000L
7059+
7060+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qio=QIO
7061+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qio.build.flash_mode=dio
7062+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qio.build.boot=qio
7063+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dio=DIO
7064+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dio.build.flash_mode=dio
7065+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dio.build.boot=dio
7066+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qout=QOUT
7067+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qout.build.flash_mode=dout
7068+
dfrobot_firebeetle2_esp32e.menu.FlashMode.qout.build.boot=qout
7069+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dout=DOUT
7070+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dout.build.flash_mode=dout
7071+
dfrobot_firebeetle2_esp32e.menu.FlashMode.dout.build.boot=dout
7072+
7073+
dfrobot_firebeetle2_esp32e.menu.FlashFreq.80=80MHz
7074+
dfrobot_firebeetle2_esp32e.menu.FlashFreq.80.build.flash_freq=80m
7075+
dfrobot_firebeetle2_esp32e.menu.FlashFreq.40=40MHz
7076+
dfrobot_firebeetle2_esp32e.menu.FlashFreq.40.build.flash_freq=40m
7077+
7078+
dfrobot_firebeetle2_esp32e.menu.FlashSize.4M=4MB (32Mb)
7079+
dfrobot_firebeetle2_esp32e.menu.FlashSize.4M.build.flash_size=4MB
7080+
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M=8MB (64Mb)
7081+
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.flash_size=8MB
7082+
dfrobot_firebeetle2_esp32e.menu.FlashSize.8M.build.partitions=default_8MB
7083+
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M=2MB (16Mb)
7084+
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.flash_size=2MB
7085+
dfrobot_firebeetle2_esp32e.menu.FlashSize.2M.build.partitions=minimal
7086+
dfrobot_firebeetle2_esp32e.menu.FlashSize.16M=16MB (128Mb)
7087+
dfrobot_firebeetle2_esp32e.menu.FlashSize.16M.build.flash_size=16MB
7088+
7089+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.921600=921600
7090+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.921600.upload.speed=921600
7091+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.115200=115200
7092+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.115200.upload.speed=115200
7093+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.256000.windows=256000
7094+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.256000.upload.speed=256000
7095+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.230400.windows.upload.speed=256000
7096+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.230400=230400
7097+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.230400.upload.speed=230400
7098+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.460800.linux=460800
7099+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.460800.macosx=460800
7100+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.460800.upload.speed=460800
7101+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.512000.windows=512000
7102+
dfrobot_firebeetle2_esp32e.menu.UploadSpeed.512000.upload.speed=512000
7103+
7104+
dfrobot_firebeetle2_esp32e.menu.LoopCore.1=Core 1
7105+
dfrobot_firebeetle2_esp32e.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
7106+
dfrobot_firebeetle2_esp32e.menu.LoopCore.0=Core 0
7107+
dfrobot_firebeetle2_esp32e.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
7108+
7109+
dfrobot_firebeetle2_esp32e.menu.EventsCore.1=Core 1
7110+
dfrobot_firebeetle2_esp32e.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
7111+
dfrobot_firebeetle2_esp32e.menu.EventsCore.0=Core 0
7112+
dfrobot_firebeetle2_esp32e.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
7113+
7114+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.none=None
7115+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.none.build.code_debug=0
7116+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.error=Error
7117+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.error.build.code_debug=1
7118+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.warn=Warn
7119+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.warn.build.code_debug=2
7120+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.info=Info
7121+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.info.build.code_debug=3
7122+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.debug=Debug
7123+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.debug.build.code_debug=4
7124+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.verbose=Verbose
7125+
dfrobot_firebeetle2_esp32e.menu.DebugLevel.verbose.build.code_debug=5
7126+
7127+
dfrobot_firebeetle2_esp32e.menu.EraseFlash.none=Disabled
7128+
dfrobot_firebeetle2_esp32e.menu.EraseFlash.none.upload.erase_cmd=
7129+
dfrobot_firebeetle2_esp32e.menu.EraseFlash.all=Enabled
7130+
dfrobot_firebeetle2_esp32e.menu.EraseFlash.all.upload.erase_cmd=-e
7131+
69677132
##############################################################
69687133

69697134
dfrobot_firebeetle2_esp32s3.name=DFRobot Firebeetle 2 ESP32-S3

‎cores/esp32/Arduino.h

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,19 @@ typedef unsigned int word;
137137
void setup(void);
138138
void loop(void);
139139

140+
// The default is using Real Hardware random number generator
141+
// But when randomSeed() is called, it turns to Psedo random
142+
// generator, exactly as done in Arduino mainstream
143+
long random(long);
140144
long random(long, long);
141-
#endif
145+
// Calling randomSeed() will make random()
146+
// using pseudo random like in Arduino
142147
void randomSeed(unsigned long);
148+
// Allow the Application to decide if the random generator
149+
// will use Real Hardware random generation (true - default)
150+
// or Pseudo random generation (false) as in Arduino MainStream
151+
void useRealRandomGenerator(bool useRandomHW);
152+
#endif
143153
long map(long, long, long, long, long);
144154

145155
#ifdef __cplusplus
@@ -207,8 +217,6 @@ void setToneChannel(uint8_t channel = 0);
207217
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration = 0);
208218
void noTone(uint8_t _pin);
209219

210-
// WMath prototypes
211-
long random(long);
212220
#endif /* __cplusplus */
213221

214222
#include "pins_arduino.h"

‎cores/esp32/WMath.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,22 @@ extern "C" {
2929
}
3030
#include "esp32-hal-log.h"
3131

32+
// Allows the user to choose between Real Hardware
33+
// or Software Pseudo random generators for the
34+
// Arduino random() functions
35+
static bool s_useRandomHW = true;
36+
void useRealRandomGenerator(bool useRandomHW) {
37+
s_useRandomHW = useRandomHW;
38+
}
39+
40+
// Calling randomSeed() will force the
41+
// Pseudo Random generator like in
42+
// Arduino mainstream API
3243
void randomSeed(unsigned long seed)
3344
{
3445
if(seed != 0) {
3546
srand(seed);
47+
s_useRandomHW = false;
3648
}
3749
}
3850

@@ -46,7 +58,9 @@ long random( long howbig )
4658
if (howbig < 0) {
4759
return (random(0, -howbig));
4860
}
49-
return esp_random() % howbig;
61+
// if randomSeed was called, fall back to software PRNG
62+
uint32_t val = (s_useRandomHW) ? esp_random() : rand();
63+
return val % howbig;
5064
}
5165

5266
long random(long howsmall, long howbig)

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /