Skip to content

Commit 56cfcbe

Browse files
authored
Merge pull request #20 from halak0013/master
New verison
2 parents 009f9d9 + 11068ff commit 56cfcbe

File tree

1,765 files changed

+65800
-37783
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,765 files changed

+65800
-37783
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
releases
2+
*zip

boards.txt

Lines changed: 247 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Deneyap Gelistirme Kartlari
2-
# version=1.3.12
2+
# version=1.3.13
33

44
# Official Espressif options
55
menu.UploadSpeed=Upload Speed
@@ -20,6 +20,7 @@ menu.EventsCore=Events Run On
2020
menu.MemoryType=Memory Type
2121
menu.EraseFlash=Erase All Flash Before Sketch Upload
2222
menu.JTAGAdapter=JTAG Adapter
23+
menu.PinNumbers=Pin Numbering
2324

2425
# Custom options
2526
menu.Revision=Board Revision
@@ -623,6 +624,251 @@ dydk1a_mpv20.menu.EraseFlash.all.upload.erase_cmd=-e
623624

624625
##############################################################
625626

627+
dydk1a_mpv30.name=Deneyap Kart 1A v3
628+
629+
dydk1a_mpv30.vid.0=0x303a #! burası değişebilir
630+
dydk1a_mpv30.pid.0=0x8147
631+
632+
dydk1a_mpv30.bootloader.tool=esptool_py
633+
dydk1a_mpv30.bootloader.tool.default=esptool_py
634+
635+
dydk1a_mpv30.upload.tool=esptool_py
636+
dydk1a_mpv30.upload.tool.default=esptool_py
637+
dydk1a_mpv30.upload.tool.network=esp_ota
638+
639+
dydk1a_mpv30.upload.maximum_size=1310720
640+
dydk1a_mpv30.upload.maximum_data_size=327680
641+
dydk1a_mpv30.upload.flags=
642+
dydk1a_mpv30.upload.extra_flags=
643+
dydk1a_mpv30.upload.use_1200bps_touch=false
644+
dydk1a_mpv30.upload.wait_for_upload_port=false
645+
646+
dydk1a_mpv30.serial.disableDTR=false
647+
dydk1a_mpv30.serial.disableRTS=false
648+
649+
dydk1a_mpv30.build.tarch=xtensa
650+
dydk1a_mpv30.build.bootloader_addr=0x0
651+
dydk1a_mpv30.build.target=esp32s3
652+
dydk1a_mpv30.build.mcu=esp32s3
653+
dydk1a_mpv30.build.core=esp32
654+
dydk1a_mpv30.build.variant=dydk1a_mpv30
655+
dydk1a_mpv30.build.board=DYDK1Av3
656+
657+
dydk1a_mpv30.build.usb_mode=1
658+
dydk1a_mpv30.build.cdc_on_boot=1 #0 bakılmalı
659+
dydk1a_mpv30.build.msc_on_boot=0
660+
dydk1a_mpv30.build.dfu_on_boot=0
661+
dydk1a_mpv30.build.f_cpu=240000000L
662+
dydk1a_mpv30.build.flash_size=4MB
663+
dydk1a_mpv30.build.flash_freq=80m
664+
dydk1a_mpv30.build.flash_mode=dio
665+
dydk1a_mpv30.build.boot=qio
666+
dydk1a_mpv30.build.boot_freq=80m
667+
dydk1a_mpv30.build.partitions=default
668+
dydk1a_mpv30.build.defines=-DBOARD_HAS_PSRAM #burası bos
669+
dydk1a_mpv30.build.loop_core=
670+
dydk1a_mpv30.build.event_core=
671+
dydk1a_mpv30.build.psram_type=opi
672+
dydk1a_mpv30.build.memory_type={build.boot}_{build.psram_type}
673+
674+
## IDE 2.0 Seems to not update the value
675+
dydk1a_mpv30.menu.JTAGAdapter.default=Disabled
676+
dydk1a_mpv30.menu.JTAGAdapter.default.build.copy_jtag_files=0
677+
dydk1a_mpv30.menu.JTAGAdapter.builtin=Integrated USB JTAG
678+
dydk1a_mpv30.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
679+
dydk1a_mpv30.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
680+
dydk1a_mpv30.menu.JTAGAdapter.external=FTDI Adapter
681+
dydk1a_mpv30.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
682+
dydk1a_mpv30.menu.JTAGAdapter.external.build.copy_jtag_files=1
683+
dydk1a_mpv30.menu.JTAGAdapter.bridge=ESP USB Bridge
684+
dydk1a_mpv30.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
685+
dydk1a_mpv30.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
686+
687+
dydk1a_mpv30.menu.PSRAM.opi=OPI PSRAM
688+
dydk1a_mpv30.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
689+
dydk1a_mpv30.menu.PSRAM.opi.build.psram_type=opi
690+
dydk1a_mpv30.menu.PSRAM.disabled=Disabled
691+
dydk1a_mpv30.menu.PSRAM.disabled.build.defines=
692+
dydk1a_mpv30.menu.PSRAM.disabled.build.psram_type=qspi
693+
dydk1a_mpv30.menu.PSRAM.enabled=QSPI PSRAM
694+
dydk1a_mpv30.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
695+
dydk1a_mpv30.menu.PSRAM.enabled.build.psram_type=qspi
696+
697+
dydk1a_mpv30.menu.FlashMode.qio=QIO 80MHz
698+
dydk1a_mpv30.menu.FlashMode.qio.build.flash_mode=dio
699+
dydk1a_mpv30.menu.FlashMode.qio.build.boot=qio
700+
dydk1a_mpv30.menu.FlashMode.qio.build.boot_freq=80m
701+
dydk1a_mpv30.menu.FlashMode.qio.build.flash_freq=80m
702+
dydk1a_mpv30.menu.FlashMode.qio120=QIO 120MHz
703+
dydk1a_mpv30.menu.FlashMode.qio120.build.flash_mode=dio
704+
dydk1a_mpv30.menu.FlashMode.qio120.build.boot=qio
705+
dydk1a_mpv30.menu.FlashMode.qio120.build.boot_freq=120m
706+
dydk1a_mpv30.menu.FlashMode.qio120.build.flash_freq=80m
707+
dydk1a_mpv30.menu.FlashMode.dio=DIO 80MHz
708+
dydk1a_mpv30.menu.FlashMode.dio.build.flash_mode=dio
709+
dydk1a_mpv30.menu.FlashMode.dio.build.boot=dio
710+
dydk1a_mpv30.menu.FlashMode.dio.build.boot_freq=80m
711+
dydk1a_mpv30.menu.FlashMode.dio.build.flash_freq=80m
712+
dydk1a_mpv30.menu.FlashMode.opi=OPI 80MHz
713+
dydk1a_mpv30.menu.FlashMode.opi.build.flash_mode=dout
714+
dydk1a_mpv30.menu.FlashMode.opi.build.boot=opi
715+
dydk1a_mpv30.menu.FlashMode.opi.build.boot_freq=80m
716+
dydk1a_mpv30.menu.FlashMode.opi.build.flash_freq=80m
717+
718+
dydk1a_mpv30.menu.FlashSize.4M=4MB (32Mb)
719+
dydk1a_mpv30.menu.FlashSize.4M.build.flash_size=4MB
720+
dydk1a_mpv30.menu.FlashSize.8M=8MB (64Mb)
721+
dydk1a_mpv30.menu.FlashSize.8M.build.flash_size=8MB
722+
dydk1a_mpv30.menu.FlashSize.8M.build.partitions=default_8MB
723+
dydk1a_mpv30.menu.FlashSize.16M=16MB (128Mb)
724+
dydk1a_mpv30.menu.FlashSize.16M.build.flash_size=16MB
725+
#dydk1a_mpv30.menu.FlashSize.32M=32MB (256Mb)
726+
#dydk1a_mpv30.menu.FlashSize.32M.build.flash_size=32MB
727+
dydk1a_mpv30.menu.FlashSize.32M.build.partitions=app5M_fat24M_32MB #yeni geldi
728+
729+
dydk1a_mpv30.menu.LoopCore.1=Core 1
730+
dydk1a_mpv30.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
731+
dydk1a_mpv30.menu.LoopCore.0=Core 0
732+
dydk1a_mpv30.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
733+
734+
dydk1a_mpv30.menu.EventsCore.1=Core 1
735+
dydk1a_mpv30.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
736+
dydk1a_mpv30.menu.EventsCore.0=Core 0
737+
dydk1a_mpv30.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
738+
739+
dydk1a_mpv30.menu.USBMode.hwcdc=Hardware CDC and JTAG
740+
dydk1a_mpv30.menu.USBMode.hwcdc.build.usb_mode=1
741+
dydk1a_mpv30.menu.USBMode.default=USB-OTG (TinyUSB)
742+
dydk1a_mpv30.menu.USBMode.default.build.usb_mode=0
743+
744+
dydk1a_mpv30.menu.CDCOnBoot.cdc=Enabled
745+
dydk1a_mpv30.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
746+
dydk1a_mpv30.menu.CDCOnBoot.default=Disabled
747+
dydk1a_mpv30.menu.CDCOnBoot.default.build.cdc_on_boot=0
748+
749+
dydk1a_mpv30.menu.MSCOnBoot.default=Disabled
750+
dydk1a_mpv30.menu.MSCOnBoot.default.build.msc_on_boot=0
751+
dydk1a_mpv30.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
752+
dydk1a_mpv30.menu.MSCOnBoot.msc.build.msc_on_boot=1
753+
754+
dydk1a_mpv30.menu.DFUOnBoot.default=Disabled
755+
dydk1a_mpv30.menu.DFUOnBoot.default.build.dfu_on_boot=0
756+
dydk1a_mpv30.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
757+
dydk1a_mpv30.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
758+
759+
dydk1a_mpv30.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
760+
dydk1a_mpv30.menu.UploadMode.cdc.upload.use_1200bps_touch=true
761+
dydk1a_mpv30.menu.UploadMode.cdc.upload.wait_for_upload_port=true
762+
dydk1a_mpv30.menu.UploadMode.default=UART0 / Hardware CDC
763+
dydk1a_mpv30.menu.UploadMode.default.upload.use_1200bps_touch=false
764+
dydk1a_mpv30.menu.UploadMode.default.upload.wait_for_upload_port=false
765+
766+
dydk1a_mpv30.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
767+
dydk1a_mpv30.menu.PartitionScheme.default.build.partitions=default
768+
dydk1a_mpv30.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
769+
dydk1a_mpv30.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
770+
dydk1a_mpv30.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
771+
dydk1a_mpv30.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
772+
dydk1a_mpv30.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
773+
dydk1a_mpv30.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
774+
dydk1a_mpv30.menu.PartitionScheme.minimal.build.partitions=minimal
775+
dydk1a_mpv30.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2) #yeni geldi
776+
dydk1a_mpv30.menu.PartitionScheme.no_fs.build.partitions=no_fs #yeni geldi
777+
dydk1a_mpv30.menu.PartitionScheme.no_fs.upload.maximum_size=2031616 #yeni geldi
778+
dydk1a_mpv30.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
779+
dydk1a_mpv30.menu.PartitionScheme.no_ota.build.partitions=no_ota
780+
dydk1a_mpv30.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
781+
dydk1a_mpv30.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
782+
dydk1a_mpv30.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
783+
dydk1a_mpv30.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
784+
dydk1a_mpv30.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
785+
dydk1a_mpv30.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
786+
dydk1a_mpv30.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
787+
dydk1a_mpv30.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
788+
dydk1a_mpv30.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
789+
dydk1a_mpv30.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
790+
dydk1a_mpv30.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
791+
dydk1a_mpv30.menu.PartitionScheme.huge_app.build.partitions=huge_app
792+
dydk1a_mpv30.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
793+
dydk1a_mpv30.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
794+
dydk1a_mpv30.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
795+
dydk1a_mpv30.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
796+
dydk1a_mpv30.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
797+
dydk1a_mpv30.menu.PartitionScheme.fatflash.build.partitions=ffat
798+
dydk1a_mpv30.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
799+
dydk1a_mpv30.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
800+
dydk1a_mpv30.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
801+
dydk1a_mpv30.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
802+
dydk1a_mpv30.menu.PartitionScheme.rainmaker=RainMaker
803+
dydk1a_mpv30.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
804+
dydk1a_mpv30.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
805+
# alttakiler yeni
806+
dydk1a_mpv30.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS)
807+
dydk1a_mpv30.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB
808+
dydk1a_mpv30.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592
809+
dydk1a_mpv30.menu.PartitionScheme.app5M_little24M_32MB=32M Flash (4.8MB APP/22MB LittleFS)
810+
dydk1a_mpv30.menu.PartitionScheme.app5M_little24M_32MB.build.partitions=large_littlefs_32MB
811+
dydk1a_mpv30.menu.PartitionScheme.app5M_little24M_32MB.upload.maximum_size=4718592
812+
dydk1a_mpv30.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL)
813+
dydk1a_mpv30.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728
814+
dydk1a_mpv30.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin
815+
dydk1a_mpv30.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16
816+
dydk1a_mpv30.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
817+
dydk1a_mpv30.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
818+
dydk1a_mpv30.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720
819+
dydk1a_mpv30.menu.PartitionScheme.custom=Custom
820+
dydk1a_mpv30.menu.PartitionScheme.custom.build.partitions=
821+
dydk1a_mpv30.menu.PartitionScheme.custom.upload.maximum_size=16777216
822+
823+
824+
dydk1a_mpv30.menu.CPUFreq.240=240MHz (WiFi)
825+
dydk1a_mpv30.menu.CPUFreq.240.build.f_cpu=240000000L
826+
dydk1a_mpv30.menu.CPUFreq.160=160MHz (WiFi)
827+
dydk1a_mpv30.menu.CPUFreq.160.build.f_cpu=160000000L
828+
dydk1a_mpv30.menu.CPUFreq.80=80MHz (WiFi)
829+
dydk1a_mpv30.menu.CPUFreq.80.build.f_cpu=80000000L
830+
dydk1a_mpv30.menu.CPUFreq.40=40MHz
831+
dydk1a_mpv30.menu.CPUFreq.40.build.f_cpu=40000000L
832+
dydk1a_mpv30.menu.CPUFreq.20=20MHz
833+
dydk1a_mpv30.menu.CPUFreq.20.build.f_cpu=20000000L
834+
dydk1a_mpv30.menu.CPUFreq.10=10MHz
835+
dydk1a_mpv30.menu.CPUFreq.10.build.f_cpu=10000000L
836+
837+
dydk1a_mpv30.menu.UploadSpeed.921600=921600
838+
dydk1a_mpv30.menu.UploadSpeed.921600.upload.speed=921600
839+
dydk1a_mpv30.menu.UploadSpeed.115200=115200
840+
dydk1a_mpv30.menu.UploadSpeed.115200.upload.speed=115200
841+
dydk1a_mpv30.menu.UploadSpeed.256000.windows=256000
842+
dydk1a_mpv30.menu.UploadSpeed.256000.upload.speed=256000
843+
dydk1a_mpv30.menu.UploadSpeed.230400.windows.upload.speed=256000
844+
dydk1a_mpv30.menu.UploadSpeed.230400=230400
845+
dydk1a_mpv30.menu.UploadSpeed.230400.upload.speed=230400
846+
dydk1a_mpv30.menu.UploadSpeed.460800.linux=460800
847+
dydk1a_mpv30.menu.UploadSpeed.460800.macosx=460800
848+
dydk1a_mpv30.menu.UploadSpeed.460800.upload.speed=460800
849+
dydk1a_mpv30.menu.UploadSpeed.512000.windows=512000
850+
dydk1a_mpv30.menu.UploadSpeed.512000.upload.speed=512000
851+
852+
dydk1a_mpv30.menu.DebugLevel.none=None
853+
dydk1a_mpv30.menu.DebugLevel.none.build.code_debug=0
854+
dydk1a_mpv30.menu.DebugLevel.error=Error
855+
dydk1a_mpv30.menu.DebugLevel.error.build.code_debug=1
856+
dydk1a_mpv30.menu.DebugLevel.warn=Warn
857+
dydk1a_mpv30.menu.DebugLevel.warn.build.code_debug=2
858+
dydk1a_mpv30.menu.DebugLevel.info=Info
859+
dydk1a_mpv30.menu.DebugLevel.info.build.code_debug=3
860+
dydk1a_mpv30.menu.DebugLevel.debug=Debug
861+
dydk1a_mpv30.menu.DebugLevel.debug.build.code_debug=4
862+
dydk1a_mpv30.menu.DebugLevel.verbose=Verbose
863+
dydk1a_mpv30.menu.DebugLevel.verbose.build.code_debug=5
864+
865+
dydk1a_mpv30.menu.EraseFlash.none=Disabled
866+
dydk1a_mpv30.menu.EraseFlash.none.upload.erase_cmd=
867+
dydk1a_mpv30.menu.EraseFlash.all=Enabled
868+
dydk1a_mpv30.menu.EraseFlash.all.upload.erase_cmd=-e
869+
870+
##############################################################
871+
626872
dym_mpv10.name=Deneyap Mini
627873

628874
dym_mpv10.vid.0=0x303a

cores/esp32/Arduino.h

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,13 @@
110110
#define analogInPinToBit(P) (P)
111111
#if SOC_GPIO_PIN_COUNT <= 32
112112
#define digitalPinToPort(pin) (0)
113-
#define digitalPinToBitMask(pin) (1UL << (pin))
113+
#define digitalPinToBitMask(pin) (1UL << digitalPinToGPIONumber(pin))
114114
#define portOutputRegister(port) ((volatile uint32_t*)GPIO_OUT_REG)
115115
#define portInputRegister(port) ((volatile uint32_t*)GPIO_IN_REG)
116116
#define portModeRegister(port) ((volatile uint32_t*)GPIO_ENABLE_REG)
117117
#elif SOC_GPIO_PIN_COUNT <= 64
118-
#define digitalPinToPort(pin) (((pin)>31)?1:0)
119-
#define digitalPinToBitMask(pin) (1UL << (((pin)>31)?((pin)-32):(pin)))
118+
#define digitalPinToPort(pin) ((digitalPinToGPIONumber(pin)>31)?1:0)
119+
#define digitalPinToBitMask(pin) (1UL << (digitalPinToGPIONumber(pin)&31))
120120
#define portOutputRegister(port) ((volatile uint32_t*)((port)?GPIO_OUT1_REG:GPIO_OUT_REG))
121121
#define portInputRegister(port) ((volatile uint32_t*)((port)?GPIO_IN1_REG:GPIO_IN_REG))
122122
#define portModeRegister(port) ((volatile uint32_t*)((port)?GPIO_ENABLE1_REG:GPIO_ENABLE_REG))
@@ -129,6 +129,18 @@
129129
#define NOT_AN_INTERRUPT -1
130130
#define NOT_ON_TIMER 0
131131

132+
// some defines generic for all SoC moved from variants/board_name/pins_arduino.h
133+
#define NUM_DIGITAL_PINS SOC_GPIO_PIN_COUNT // All GPIOs
134+
#if SOC_ADC_PERIPH_NUM == 1
135+
#define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0))
136+
#elif SOC_ADC_PERIPH_NUM == 2
137+
#define NUM_ANALOG_INPUTS (SOC_ADC_CHANNEL_NUM(0)+SOC_ADC_CHANNEL_NUM(1))
138+
#endif
139+
#define EXTERNAL_NUM_INTERRUPTS NUM_DIGITAL_PINS // All GPIOs
140+
#define analogInputToDigitalPin(p) (((p)<NUM_ANALOG_INPUTS)?(analogChannelToDigitalPin(p)):-1)
141+
#define digitalPinToInterrupt(p) ((((uint8_t)digitalPinToGPIONumber(p))<NUM_DIGITAL_PINS)?digitalPinToGPIONumber(p):NOT_AN_INTERRUPT)
142+
#define digitalPinHasPWM(p) (((uint8_t)digitalPinToGPIONumber(p))<NUM_DIGITAL_PINS)
143+
132144
typedef bool boolean;
133145
typedef uint8_t byte;
134146
typedef unsigned int word;
@@ -220,5 +232,6 @@ void noTone(uint8_t _pin);
220232
#endif /* __cplusplus */
221233

222234
#include "pins_arduino.h"
235+
#include "io_pin_remap.h"
223236

224237
#endif /* _ESP32_CORE_ARDUINO_H_ */

cores/esp32/Esp.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ unsigned long long operator"" _GB(unsigned long long x)
119119

120120
EspClass ESP;
121121

122-
void EspClass::deepSleep(uint32_t time_us)
122+
void EspClass::deepSleep(uint64_t time_us)
123123
{
124124
esp_deep_sleep(time_us);
125125
}
@@ -240,6 +240,10 @@ String EspClass::getSketchMD5()
240240
md5.add(buf.get(), readBytes);
241241
lengthLeft -= readBytes;
242242
offset += readBytes;
243+
244+
#if CONFIG_FREERTOS_UNICORE
245+
delay(1); // Fix solo WDT
246+
#endif
243247
}
244248
md5.calculate();
245249
result = md5.toString();

cores/esp32/Esp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class EspClass
8383
inline uint32_t getCycleCount() __attribute__((always_inline));
8484
const char * getSdkVersion();
8585

86-
void deepSleep(uint32_t time_us);
86+
void deepSleep(uint64_t time_us);
8787

8888
uint32_t getFlashChipSize();
8989
uint32_t getFlashChipSpeed();

cores/esp32/FunctionalInterrupt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ void ARDUINO_ISR_ATTR interruptFunctional(void* arg)
2828
void attachInterrupt(uint8_t pin, std::function<void(void)> intRoutine, int mode)
2929
{
3030
// use the local interrupt routine which takes the ArgStructure as argument
31-
__attachInterruptFunctionalArg (pin, (voidFuncPtrArg)interruptFunctional, new InterruptArgStructure{intRoutine}, mode, true);
31+
__attachInterruptFunctionalArg (digitalPinToGPIONumber(pin), (voidFuncPtrArg)interruptFunctional, new InterruptArgStructure{intRoutine}, mode, true);
3232
}
3333

3434
extern "C"

cores/esp32/FunctionalInterrupt.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@
1212
#include <stdint.h>
1313

1414
struct InterruptArgStructure {
15-
std::function<void(void)> interruptFunction;
15+
std::function<void(void)> interruptFunction;
1616
};
1717

18-
void attachInterrupt(uint8_t pin, std::function<void(void)> intRoutine, int mode);
19-
18+
// The extra set of parentheses here prevents macros defined
19+
// in io_pin_remap.h from applying to this declaration.
20+
void (attachInterrupt)(uint8_t pin, std::function<void(void)> intRoutine, int mode);
2021

2122
#endif /* CORE_CORE_FUNCTIONALINTERRUPT_H_ */

0 commit comments

Comments
 (0)