Commit Graph

244 Commits

Author SHA1 Message Date
Theo Arends b073905a2e Consolidate ESP specific functions 2021-02-08 11:34:29 +01:00
Stephan Hadinger 48c4b64879 Fix and improvement to ext_snprintf 2021-01-25 16:02:56 +01:00
Stephan Hadinger cf52f1c99e Added ext_snprintf to support extended types 2021-01-24 16:35:36 +01:00
Theo Arends efaed8046d Refactor AddLog usage 2021-01-23 16:26:23 +01:00
Theo Arends 5561de02fa Add support for Sugar Valley NeoPool Controller
Add support for Sugar Valley NeoPool Controller by Norbert Richter (#10637)
2021-01-20 17:03:53 +01:00
Theo Arends 96c0951587 move includes 2021-01-20 15:43:26 +01:00
Stephan Hadinger 2f139d0e47 More PROGMEM 2021-01-18 21:48:04 +01:00
Theo Arends fdbd1dcc0a Changed command ``Sleep 0``
Changed command ``Sleep 0`` removes any sleep from wifi modem except when ESP32 BLE is active
2021-01-14 17:03:01 +01:00
Theo Arends 85b2d62225 ESP8266 Support for 2MB and up linker files with 1MB and up LittleFS
Breaking Change: ESP8266 until now NOT SUPPORTED linker files 2MB and up. Current settings will be overwritten once LittleFS is enabled
2021-01-11 17:56:18 +01:00
Theo Arends d53fa3234d Refactor web upload 2021-01-10 17:46:30 +01:00
BBBits f99f413065 mDNS Performance Fix & mDNS ESP32 Support 2021-01-10 22:04:16 +13:00
Theo Arends 8a269c8902 Integrate filesystem in core
Integrate filesystem in core
2021-01-08 15:00:40 +01:00
Theo Arends c7545d93dc Fix RTC related power on sequence 2021-01-05 11:49:13 +01:00
Theo Arends 5c92c5a9a9 Optimize sleepdelay 2021-01-04 12:47:00 +01:00
Theo Arends d1ef1c3255 Optimize sleepdelay after profiling 2021-01-04 12:31:05 +01:00
Theo Arends f9403c8489 Optimize sleepdelay
Optimize sleepdelay (#10379)
2021-01-03 16:30:45 +01:00
Theo Arends 7b5184c89b Optimize sleepdelay
Optimize sleepdelay (#10379)
2021-01-03 15:28:52 +01:00
Theo Arends 628f17de8c Add TasAutoMutex 2021-01-01 17:04:36 +01:00
Theo Arends ee146b2e29
Merge pull request #10336 from btsimonh/loggingmutex
Add mutex/semaphore for logging - protects new logging_buffer
2021-01-01 16:26:19 +01:00
Theo Arends dcbb3f1e0e Happy New Year 2021-01-01 13:44:04 +01:00
Theo Arends 58e6ec55f1 Breaking change replacing SPI CS and SPI DC
Breaking change replacing SPI CS and SPI DC by device specific CS and DC
2020-12-31 16:17:30 +01:00
Simon Hailes 6b2daa14d0 Add mutex/semaphore for logging - protects new logging_buffer 2020-12-31 11:36:35 +00:00
Theo Arends 593675eb7a Removal of global log_data providing re-entry
Removal of global log_data providing re-entry and freeing 700k RAM
2020-12-23 18:26:15 +01:00
Theo Arends b8197181d0 Remove obsolete version marker 2020-12-23 16:40:46 +01:00
Theo Arends 244611f12f Add logging buffer management 2020-12-22 15:26:07 +01:00
Theo Arends dcfb74f457 Support for GPIO option selection
- Support for GPIO option selection
- Gpio ``Option_a1`` enabling PWM1 high impedance if powered off and no fading as used by Wyze bulbs (#10196)
2020-12-20 13:22:01 +01:00
Theo Arends bafcee4b05 Effort to get rid of PrepLog_P
Effort to get rid of PrepLog_P now syslog and mqttlog are async
2020-12-18 16:49:11 +01:00
Theo Arends 2eb4eef08c Rename web_log to log_buffer 2020-12-18 16:30:37 +01:00
Theo Arends f243a01adf Fic initial milliseconds 2020-12-17 16:41:04 +01:00
Theo Arends 2f47a4b5c9 Refactor serial init 2020-12-07 17:03:22 +01:00
Theo Arends b9a3fd4342 Fix initial baudrate
Fix initial baudrate (#7447)
2020-12-07 15:33:09 +01:00
Theo Arends 5892cffbda Prep RC522 rfid reader pt2 2020-11-30 17:54:40 +01:00
Theo Arends 4b5dbe7a86 Fix reset to defaults after 6 hours of DeepSleep
Fix reset to defaults after 6 hours of DeepSleep (#9993)
2020-11-27 16:43:56 +01:00
Theo Arends c57e79d51f
Merge pull request #9995 from emontnemery/fix_backlog_wrap_around
Fix wraparound bug in backlog
2020-11-27 15:31:29 +01:00
Erik aa12879356 Fix wraparound bug in backlog 2020-11-27 14:43:45 +01:00
Theo Arends fa7fdbd51a Consolidate `AddLog_P`
Consolidate `AddLog_P` into `AddLog_P2` and rename to `AddLog_P`
2020-11-06 17:09:13 +01:00
Christopher Tremblay b5b6b97295 Swapped strstr for strchr where applicable
strstr calls with a single character were changed to strchr which should be more efficient.
2020-11-04 02:20:17 -08:00
Jason2866 e10cbfc81f
No core_version.h in ESP32 stage 2020-11-01 15:24:12 +01:00
Theo Arends 8338a9cc80 Refactor module change detection 2020-11-01 12:12:27 +01:00
Theo Arends af5082320d Use global struct 2020-10-30 12:29:48 +01:00
Theo Arends 8a703adf84 Use global struct 2020-10-29 16:16:34 +01:00
Theo Arends e59bfc1d69 Use global struct 2020-10-29 13:58:50 +01:00
Theo Arends 280f0a9de7 Use global struct 2020-10-29 13:37:09 +01:00
Theo Arends 0d85f5c583 Use global struct 2020-10-29 12:58:22 +01:00
Theo Arends 0cfe1ac3e1 Use global struct 2020-10-29 12:39:44 +01:00
Theo Arends 3bebfb32d3 Use global struct 2020-10-29 12:21:24 +01:00
Theo Arends f1ac7b2d67 Use global struct 2020-10-28 19:03:39 +01:00
Theo Arends b93b719108 Use global struct 2020-10-28 17:32:07 +01:00
Theo Arends 594f57464f Prep global struct 2020-10-28 12:40:52 +01:00
Theo Arends 66f5d5d180 Prep global struct 2020-10-28 11:48:57 +01:00
Theo Arends 85d2626e84 Refactor feature list build 2020-10-28 11:37:59 +01:00
Theo Arends 7bc8956d86 Changed management of serial baudrate
Changed management of serial baudrate (#9554)
2020-10-16 15:18:16 +02:00
Theo Arends 074aec0a23 Adjust command ``NoDelay`` 2020-10-15 15:33:17 +02:00
Theo Arends 29e73dae9b Add command ``NoDelay``
Add command ``NoDelay`` for immediate backlog command execution by Erik Montnemery (#9544)
2020-10-15 12:32:40 +02:00
Theo Arends 7a73dd7019 Merge branch 'development' into dev-gpio16 2020-09-30 14:54:29 +02:00
Theo Arends c00d7035d9 Redesign GPIO to 16-bit 2020-09-29 18:10:21 +02:00
Theo Arends 9cbd2d531d Initial GPIO redesign 2020-09-25 18:15:31 +02:00
Theo Arends 27caccf7a0 Remove ArduinoJson in favour of JSMN
Remove ArduinoJson library in favour of JSMN library
2020-09-25 11:33:12 +02:00
Stephan Hadinger 019e402fe7 Move IR from ArduinoJson to JSMN 2020-09-24 08:51:43 +02:00
Theo Arends 423b4c0712 Workaround compilation regression
Workaround compilation regression (#9223)
2020-09-03 20:31:31 +02:00
Stephan Hadinger f8f0f4f616 Reduce memory usage of BackLog 2020-09-03 15:11:14 +02:00
Theo Arends 4724fa2c49 Add support for DYP ME007
Add support for DYP ME007 ultrasonic distance sensor by Janusz Kostorz (#9113)
2020-08-17 16:25:24 +02:00
Theo Arends 1eea0978ed Change Fast Reboot Cycle prefix 2020-08-13 17:15:57 +02:00
Theo Arends f268697e54 Add command ``Restart 2`` to halt system
Add command ``Restart 2`` to halt system. Needs hardware reset or power cycle to restart (#9046)
2020-08-10 16:19:44 +02:00
Theo Arends a5857ac03f Add masterlog_level to control master log level control 2020-07-31 11:53:12 +02:00
Theo Arends 934ca43463 Remove Arduino ESP8266 Core support before 2.7.1
Remove Arduino ESP8266 Core support for versions before 2.7.1
2020-07-17 11:49:56 +02:00
Theo Arends 6b0870343b Change to limited support of Arduino IDE
Change to limited support of Arduino IDE as an increasing amount of features cannot be compiled with Arduino IDE
2020-07-16 18:21:19 +02:00
Theo Arends 06c06705dd Fix minimal binary fast reboot issue 2020-07-15 16:09:32 +02:00
Theo Arends cc301e9395
Merge pull request #8837 from gemu2015/scripter-update
Scripter update
2020-07-02 18:18:41 +02:00
Theo Arends 0cc1dd957b Add SO98 to control user rotary support 2020-07-02 18:13:14 +02:00
gemu2015 67b3702b0b Update tasmota.ino 2020-07-02 06:48:07 +02:00
gemu2015 64bd9f1974 scripter fixes 2020-07-02 06:46:04 +02:00
Theo Arends 83b6665c39 Rotary experiments 2020-07-01 10:24:46 +02:00
Theo Arends 9ac4502c78 Rotary experiments 2020-07-01 10:22:20 +02:00
Theo Arends 7dafeb280e Rename global temp and pressure
- Rename global temp and pressure (#8808, #8810)
- Fix SGP30 calculation (#8808)
2020-06-28 12:23:18 +02:00
Theo Arends 83bbe757db Add command ``Module2``
Add command ``Module2`` to configure fallback module on fast reboot (#8464)
2020-06-17 14:06:46 +02:00
gemu2015 865769767d scripter call >BS after sensor init 2020-06-16 10:36:16 +02:00
Theo Arends ef0b797686 Add basic support for ESP32 ethernet
Add basic support for ESP32 ethernet adding commands ``Wifi 0/1`` and ``Ethernet 0/1`` both default ON (#8503)
2020-06-15 18:27:04 +02:00
Theo Arends cdf7aa74bf Add rule trigger ``System#Init``
Add rule trigger ``System#Init`` to allow early rule execution without wifi and mqtt initialized yet (#8673)
2020-06-14 12:36:44 +02:00
Theo Arends 0abfcf1954 Fix global temperature
- Fix global temperature use of float solving intermittend power off (#8175)
- Fix BL0940 power monitoring when powered on but no load present
2020-06-12 16:51:21 +02:00
Stephan Hadinger 1d68fe9bc6 Cleaned TLS options and prepare for TELEGRAM 2020-06-10 20:14:46 +02:00
Theo Arends aafa0862ab Refactor LedPwm code 2020-05-23 13:09:16 +02:00
George e21cbfdc5d More sensible behaviour
* When setting PWM values, updates all the LEDs (instant response). Uses led_power values.
* If LEDLINK not set, but LED1 is, LED1 is the status led. When turning on/off, setledlink uses digitalwrite (which does not respect the new pwm operation). In this case only, we will use the setledpoweridx instead of digitalwrite - costly (every 250ms this runs), but edge case / legacy. Allows more intuitive operation - if we blink an LED with the max and min PWM limits, we'd expect it to respect these. In this case, blink will also now update the led_power status, which keeps this accurate e.g. if ledpower 1 cmnd was sent, then blink occurred, led_state would read a 1 for that bit but the led would be off (but nothing was reading it for status so it didn't cause any trouble). Leaving digitalwrite when LEDLINK is defined as this is more efficient and the use case for pwm leds is to find buttons - link indicator would become more ambiguous for no benefit.
2020-05-20 13:23:53 +10:00
Theo Arends d7f6c78ed9 Add command ``DeviceName``
Add command ``DeviceName`` defaults to FriendlyName1 and replaces FriendlyName1 in GUI
2020-05-17 17:10:17 +02:00
Theo Arends 4aa1c18d82 Revert uart buffer size increase
Revert uart buffer size increase but visit uart buffer reads more often to solve possible uart buffer overrun caused by sleep
2020-05-11 16:45:22 +02:00
Theo Arends 125ee62ff3 Add Serial buffer overrun detection
Add Serial buffer overrun detection and fix serial corruption by increasing uart serial buffer to 520
2020-05-11 15:27:29 +02:00
Theo Arends 892be892fa Remove gpio to pin support 2020-05-01 17:37:56 +02:00
Theo Arends 5d18ad1c74 Add experimental basic support for ESP32
- Add experimental basic support for Tasmota on ESP32 based on work by Jörg Schüler-Maroldt
- Bump version to 8.2.0.6
- This ESP32 upgrade breaks current ESP32 templates
2020-05-01 17:30:09 +02:00
Theo Arends 7177c7d8e0 Change ESP32 pin allocation part 4 2020-05-01 16:47:41 +02:00
Theo Arends d805803daa Change pin array names
Change pin array names to block unwanted use of direct access
2020-04-29 14:01:02 +02:00
Theo Arends c24de18278 Change ESP32 pin allocation part 1 2020-04-28 18:27:07 +02:00
Theo Arends 60e7a73b60 Switch from GPIO array to Pin array 2020-04-28 14:42:47 +02:00
Theo Arends c9149b53c5 Change pin handling part 1 2020-04-26 17:33:27 +02:00
Theo Arends 104e3c4838 Implement ARRAY_SIZE macro 2020-04-25 11:37:36 +02:00
Theo Arends 9ed8e7c254 Fix internal array size checks 2020-04-24 17:39:26 +02:00
Theo Arends 684b7dc3a4 Update ESP32 optional brownout disable 2020-04-18 16:34:29 +02:00
Theo Arends b70ca01231 Add ESP32 optional brownout disable
Add ESP32 brownout disable for weak onboard LDO's - eventually you'll need to change the LDO to a better one.
2020-04-17 18:27:31 +02:00
Theo Arends e8f3d1d986 Increase ESP32 compatibility
Increase ESP32 compatibility (breaks current ESP32 configuration again!)
2020-04-13 17:45:06 +02:00
Theo Arends 93fd5dd618 Add experimental minimal support for ESP32
Add experimental minimal support for ESP32 (#8110)
2020-04-10 18:24:08 +02:00
Theo Arends a0b0c32ff4 Update references 2020-04-10 10:52:22 +02:00
Theo Arends d1b1585d1c Prep for easier preconfigurations 2020-04-09 15:32:23 +02:00
Paul C Diem d16f1a7a0f Add Light skip_light_fade flag and Dimmer3 command, Ignore MCU dimmer changes after sending dimmer command 2020-03-05 18:15:58 -06:00
Theo Arends 0ce89e53e3 Fix Arduino IDE compile error 2020-03-02 17:48:19 +01:00
Paul C Diem a550fe3ac7 Use newly allocated settings and flag 2020-02-24 16:34:45 -06:00
Paul C Diem f409d7258e Initial device groups support (power and light) 2020-02-21 09:09:21 -06:00
Theo Arends 8079ee9749 Change MQTT message size
Change MQTT message size with additional 200 characters
2020-02-12 18:00:53 +01:00
Theo Arends af63bb363d Add support for FiF LE-01MR energy meter
Add support for FiF LE-01MR energy meter by saper-2 (#7584)
2020-02-10 15:18:11 +01:00
Theo Arends ac486f2186 Document my_image 2020-01-23 10:57:29 +01:00
Theo Arends 405da3ee3f
Update tasmota.ino
Keep hackbox commit insert possibility
2020-01-23 10:33:08 +01:00
Patrick Domack 2e89370f1e Add ability to define more subversions in user overrides and remove ram/flash usage to store all versions. 2020-01-22 16:49:28 -05:00
Theo Arends 45ed0257b6 Better support for Prefix1 equals Prefix2 2020-01-18 16:57:48 +01:00
Theo Arends 0db458c774 Fix exception 9 restart on log message
Fix exception 9 restart on log message in Ticker interrupt service routines NTP, Wemos and Hue emulation (#7496)
2020-01-14 12:47:48 +01:00
Theo Arends e7b061ce5a Fix Tuya PowerOn state
Fix Tuya PowerOn state (#7412)
2020-01-11 15:39:56 +01:00
Theo Arends 8c2ff7237e Fix Arduino_OTA compile error
Fix Arduino_OTA compile error (#7413)
2020-01-03 16:50:56 +01:00
Theo Arends 8aa9109656 Happy New Year
Happy New Year
2019-12-31 14:23:34 +01:00
Theo Arends 1526a59162 Refactor HotPlug 2019-12-30 14:23:37 +01:00
Theo Arends df944ed058 Fix Serial initialization regression
Fix Serial initialization regression from previous fix
2019-12-29 13:27:48 +01:00
Theo Arends 5682675ac9 Fix some serial interface initializations
Fix Sonoff Bridge, Sc, L1, iFan03 and CSE7766 serial interface to forced speed, config and disable logging
2019-12-27 15:13:40 +01:00
Theo Arends ad4a7e91ac Add support for max 150 characters
Add support for max 150 characters in most command parameter strings (#3686, #4754)
2019-12-22 15:23:52 +01:00
Theo Arends 7459a8a424 Add restriction if fallback firmware is incompatible
Add restriction if fallback firmware is incompatible with settings resulting in unreachable device
2019-12-20 15:12:44 +01:00
Theo Arends aae86a6718 Add fallback functionality
Add fallback functionality from next version 7.1.2.7
2019-12-16 15:13:57 +01:00
Laurent Dong ee37c258e6 Embeded IF statement in backlog did not been processed
The backlog_mutex blocked the execution of IF statement during call ExecuteCommand(), because all IF statement need to use backlog to perform commands.
2019-12-06 10:12:13 -05:00
Theo Arends 00fd7f2f7c Bump version to 7.1.2.2
Add command ``SerialConfig 0..23`` or ``SerialConfig 8N1`` to select Serial Config (#7108)
2019-12-06 15:02:05 +01:00
Theo Arends 70673b8c74 Add support_tasmota 2019-12-02 10:44:27 +01:00
Theo Arends e150717e95 Restore hardware detection 2019-12-02 10:31:33 +01:00
Theo Arends 7777fa08b0 Sanitize code 2019-11-20 20:53:12 +01:00
Theo Arends 11c5947c23 Fix possible reboot loop regression 2019-11-18 11:02:04 +01:00
Theo Arends f6a7722a3c Refactor RtcReboot counter 2019-11-16 10:42:28 +01:00
Theo Arends 0636113147 Revert "Version bump 7.0.0.5"
This reverts commit edcc17c41b.
2019-11-15 21:30:59 +01:00
Theo Arends edcc17c41b Version bump 7.0.0.5
Add one time flash sdk reset on initial execution solving possible SDK wifi releated issues
2019-11-15 18:10:46 +01:00
Theo Arends 5c324357e6 Add command SetOption76 0/1
Add command SetOption76 0/1 to enable incrementing bootcount when deepsleep is enabled (#6930)
2019-11-15 11:50:41 +01:00
Theo Arends 76d17bd198 Fix possible teleperiod misses 2019-11-13 09:25:09 +01:00
Theo Arends fa03f57ca8 Refactor deepsleep
Refactor deepsleep allowing time to update GUI before going to sleep (#6890)
2019-11-12 22:30:44 +01:00
Theo Arends 48e15216be Refactor Sensor MQTT data adding rule support 2019-11-10 17:40:37 +01:00
Theo Arends b2e6a2fe75 Refactor I2C driver detection phase 5 2019-11-10 17:02:02 +01:00
Theo Arends 69af996ca1 Fix SerialReceived JSON error
Fix SerialReceived JSON error (#6893)
2019-11-10 12:19:26 +01:00
Theo Arends c7a74b82d0 Fix DeepSleep bootloop disable
Fix DeepSleep bootloop disable (#6890)
2019-11-10 12:05:09 +01:00
Theo Arends 1f521ed748 Refactor I2C driver detection phase 3 2019-11-07 17:08:58 +01:00
Theo Arends 6be5daa77c Fix Tele message when DeepSleepTime is 0
Fix Tele message when DeepSleepTime is 0 (#6842)
2019-11-07 14:49:29 +01:00
Theo Arends 4b49979274 Add SetOption comments to code 2019-11-03 13:51:22 +01:00
Theo Arends 5f4e38023d Add SetOption comments to code 2019-11-03 12:33:36 +01:00
Theo Arends e497421ace Add command SetOption75 0/1 to switch between grouptopic
Add command SetOption75 0/1 to switch between grouptopic (0) using fulltopic replacing %topic% or (1) is cmnd/<grouptopic> (#6779)
2019-10-31 17:24:06 +01:00
Theo Arends 200edd46fb Change binary names from sonoff to tasmota 2019-10-27 12:44:37 +01:00
Theo Arends 0e07397ff7 Change Sonoff-Tasmota to Tasmota 2019-10-27 12:04:08 +01:00