Skip to content
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

Integrate WiP Arduino 3.0 Tasmota in development branch #19270

Merged
merged 1 commit into from
Aug 6, 2023
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
44 changes: 44 additions & 0 deletions boards/esp32c6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"build": {
"arduino":{
"ldscript": "esp32c6_out.ld"
},
"core": "esp32",
"extra_flags": "-DESP32_4M -DESP32C6",
"f_cpu": "160000000L",
"f_flash": "80000000L",
"flash_mode": "dio",
"mcu": "esp32c6",
"variant": "esp32c6",
"partitions": "partitions/esp32_partition_app2880k_fs320k.csv"
},
"connectivity": [
"wifi",
"bluetooth"
],
"debug": {
"openocd_target": "esp32c6.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Espressif Generic ESP32-C6 >= 4M Flash, Tasmota 2880k Code/OTA, 320k FS",
"upload": {
"arduino": {
"flash_extra_images": [
[
"0x10000",
"variants/tasmota/tasmota32c6-safeboot.bin"
]
]
},
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
"vendor": "Espressif"
}
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"])
1 change: 1 addition & 0 deletions platformio_override_sample.ini
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ default_envs =
; tasmota-zbbridge
; tasmota-ir
; tasmota32
; tasmota32-arduino30
; tasmota32-zbbrdgpro
; tasmota32-bluetooth
; tasmota32-webcam
Expand Down
2 changes: 1 addition & 1 deletion platformio_tasmota32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ build_flags = ${esp_defaults.build_flags}
-Wno-switch-unreachable
-Wno-stringop-overflow
-fno-exceptions
-flto
-flto=auto
-DBUFFER_LENGTH=128
-DHTTP_UPLOAD_BUFLEN=2048
-DMQTT_MAX_PACKET_SIZE=1200
Expand Down
42 changes: 42 additions & 0 deletions platformio_tasmota_env32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,48 @@ lib_ignore =
; tasmota/berry/modules/Partition_Manager.tapp
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='""'
lib_extra_dirs = lib/lib_ssl, lib/libesp32
lib_ignore =
ESP Mail Client
IRremoteESP8266
NeoPixelBus
OneWire
MFRC522
universal display Library
ESP8266Audio
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='""'
lib_extra_dirs = lib/lib_ssl, lib/libesp32
lib_ignore =
ESP Mail Client
IRremoteESP8266
NeoPixelBus
OneWire
MFRC522
universal display Library
ESP8266Audio
ESP8266SAM

[env:tasmota32-safeboot]
extends = env:tasmota32_base
build_flags = ${env:tasmota32_base.build_flags}
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