Skip to content

Commit

Permalink
integrate Arduino 3.0 in devel Tasmota
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason2866 committed Aug 6, 2023
1 parent 69607c4 commit fd8596f
Show file tree
Hide file tree
Showing 5 changed files with 91 additions and 9 deletions.
3 changes: 3 additions & 0 deletions pio-tools/add_c_flags.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@

# General options that are passed to the C compiler (C only; not C++).
env.Append(CFLAGS=["-Wno-discarded-qualifiers", "-Wno-implicit-function-declaration"])

# General options that are passed to the C++ compiler
env.Append(CXXFLAGS=["-Wno-volatile"])
5 changes: 2 additions & 3 deletions platformio_override_sample.ini
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,7 @@
; *** Build/upload environment
default_envs =
; *** Uncomment the line(s) below to select version(s)
tasmota32-arduino30
tasmota32c6-safeboot
; tasmota
tasmota
; tasmota-debug
; tasmota-minimal
; tasmota-lite
Expand All @@ -30,6 +28,7 @@ default_envs =
; tasmota-zbbridge
; tasmota-ir
; tasmota32
; tasmota32-arduino30
; tasmota32-zbbrdgpro
; tasmota32-bluetooth
; tasmota32-webcam
Expand Down
4 changes: 2 additions & 2 deletions platformio_tasmota32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build_unflags = ${esp_defaults.build_unflags}
-Wpointer-arith
build_flags = ${esp_defaults.build_flags}
; comment next line to disable IPv6 support
;-DUSE_IPV6
-DUSE_IPV6
-Wno-switch-unreachable
-Wno-stringop-overflow
-fno-exceptions
Expand Down Expand Up @@ -43,7 +43,7 @@ extra_scripts = pre:pio-tools/add_c_flags.py
${esp_defaults.extra_scripts}

[core32]
platform = https://github.com/Jason2866/platform-espressif32/releases/download/v3.0.0/platform-espressif32-3.0.0.zip
platform = https://github.com/tasmota/platform-espressif32/releases/download/2023.07.00/platform-espressif32.zip
platform_packages =
build_unflags = ${esp32_defaults.build_unflags}
build_flags = ${esp32_defaults.build_flags}
13 changes: 9 additions & 4 deletions platformio_tasmota_env32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,15 @@ lib_ignore =
custom_files_upload = no_files

[env:tasmota32-arduino30]
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF5
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/1457/framework-arduinoespressif32-release_v5.1-69cdc81680.zip
extends = env:tasmota32_base
board = esp32
build_unflags = ${env:tasmota32_base.build_unflags}
-DUSE_IPV6
build_flags = ${env:tasmota32_base.build_flags}
-DFIRMWARE_ARDUINO30
-DOTA_URL='""'
; *** Do not use safe boot scheme
board_build.partitions = partitions/esp32_partition_app1856k_fs320k.csv
; Safeboot not used in this partition scheme -> an empty entry needed to overwrite the default setting
board_upload.arduino.flash_extra_images =
lib_extra_dirs = lib/lib_ssl, lib/libesp32
lib_ignore =
ESP Mail Client
Expand All @@ -61,8 +62,12 @@ lib_ignore =
ESP8266SAM

[env:tasmota32c6-safeboot]
platform = https://github.com/Jason2866/platform-espressif32.git#Arduino/IDF5
platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/1457/framework-arduinoespressif32-release_v5.1-69cdc81680.zip
extends = env:tasmota32_base
board = esp32c6
build_unflags = ${env:tasmota32_base.build_unflags}
-DUSE_IPV6
build_flags = ${env:tasmota32_base.build_flags}
-DFIRMWARE_SAFEBOOT
-DOTA_URL='""'
Expand Down
75 changes: 75 additions & 0 deletions tasmota/include/tasmota_configurations_ESP32.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,81 @@

#endif // FIRMWARE_SAFEBOOT

/*********************************************************************************************\
* FIRMWARE_ARDUINO30
* Provide an image which compiles with WiP Arduino 3.0.x
\*********************************************************************************************/

#ifdef FIRMWARE_ARDUINO30

#ifndef CODE_IMAGE_STR
#define CODE_IMAGE_STR "arduino30"
#endif


#undef FIRMWARE_LITE // Disable tasmota-lite with no sensors
#undef FIRMWARE_SENSORS // Disable tasmota-sensors with useful sensors enabled
#undef FIRMWARE_KNX_NO_EMULATION // Disable tasmota-knx with KNX but without Emulation
#undef FIRMWARE_DISPLAYS // Disable tasmota-display with display drivers enabled
#undef FIRMWARE_IR // Disable tasmota-ir with IR full protocols activated
#undef FIRMWARE_WEBCAM
#undef FIRMWARE_BLUETOOTH
#undef FIRMWARE_LVGL
#undef FIRMWARE_TASMOTA32

#undef USE_EMULATION // Disable Wemo or Hue emulation
#undef USE_EMULATION_HUE // Disable Hue Bridge emulation for Alexa (+14k code, +2k mem common)
#undef USE_EMULATION_WEMO // Disable Belkin WeMo emulation for Alexa (+6k code, +2k mem common)


// -- Optional modules ----------------------------
#undef ROTARY_V1 // Disable support for MI Desk Lamp
#undef USE_SONOFF_RF // Disable support for Sonoff Rf Bridge (+3k2 code)
#undef USE_RF_FLASH // Disable support for flashing the EFM8BB1 chip on the Sonoff RF Bridge. C2CK must be connected to GPIO4, C2D to GPIO5 on the PCB
#undef USE_SONOFF_SC // Disable support for Sonoff Sc (+1k1 code)
#undef USE_TUYA_MCU // Disable support for Tuya Serial MCU
#undef USE_ARMTRONIX_DIMMERS // Disable support for Armtronix Dimmers (+1k4 code)
#undef USE_PS_16_DZ // Disable support for PS-16-DZ Dimmer and Sonoff L1 (+2k code)
#undef USE_SONOFF_IFAN // Disable support for Sonoff iFan02 and iFan03 (+2k code)
#undef USE_BUZZER // Disable support for a buzzer (+0k6 code)
#undef USE_ARILUX_RF // Disable support for Arilux RF remote controller
#undef USE_SHUTTER // Disable Shutter support for up to 4 shutter with different motortypes (+6k code)
#undef USE_DEEPSLEEP // Disable support for deepsleep (+1k code)
#undef USE_EXS_DIMMER // Disable support for EX-Store WiFi Dimmer
#undef USE_HOTPLUG // Disable support for HotPlug
#undef USE_DEVICE_GROUPS // Disable support for device groups (+3k5 code)
#undef USE_PWM_DIMMER // Disable support for MJ-SD01/acenx/NTONPOWER PWM dimmers (+4k5 code)
#undef USE_PWM_DIMMER_REMOTE // Disbale support for remote switches to PWM Dimmer
#undef USE_KEELOQ // Disable support for Jarolift rollers by Keeloq algorithm (+4k5 code)
#undef USE_SONOFF_D1 // Disable support for Sonoff D1 Dimmer (+0k7 code)
#undef USE_SHELLY_DIMMER // Disable support for Shelly Dimmer (+3k code)

#undef USE_LIGHT // Disable support for lights
#undef USE_WS2812

#undef USE_DS18x20 // Disable DS18x20 sensor

#undef USE_I2C // Disable all I2C sensors and devices

#undef USE_ENERGY_SENSOR // Disable energy sensors

#undef USE_IR_REMOTE // Disable IR driver

#undef USE_TX20_WIND_SENSOR // Disable support for La Crosse TX20 anemometer
#undef USE_TX23_WIND_SENSOR // Disable support for La Crosse TX23 anemometer

#undef USE_AC_ZERO_CROSS_DIMMER // Disable support for AC_ZERO_CROSS_DIMMER

#define USE_TLS
#define USE_WEBSERVER
#define USE_WEBCLIENT
#define USE_WEBCLIENT_HTTPS
#define USE_SERIAL_BRIDGE // Add support for software Serial Bridge console Tee (+2k code)
#define USE_ETHERNET

#endif // FIRMWARE_ARDUINO30


/*********************************************************************************************\
* [tasmota32-webcam.bin]
* Provide an image with useful supported sensors enabled
Expand Down

0 comments on commit fd8596f

Please sign in to comment.