Commit Graph

262 Commits

Author SHA1 Message Date
Stephan Hadinger 800f86d56e Moving more to PROGMEM 2021-01-12 19:31:15 +01:00
Theo Arends 15598d71a9 Fix reset 5 and 6 when filesystem in use 2021-01-12 14:54:12 +01:00
gemu2015 07d88be281 fix sspi log 2021-01-09 08:50:29 +01:00
Theo Arends f8de9150d0 Add rotary No Pullup GPIO selection
Add rotary No Pullup GPIO selection ``Rotary A/B_n`` (#10407)
2021-01-06 12:51:12 +01:00
Theo Arends 97da3c7034 Add SDCard detection 2021-01-04 16:45:46 +01:00
Theo Arends ee1648d3e0 Prep SSD1331 driver 2021-01-01 16:05:06 +01:00
Theo Arends 54c1a2d029 Add support for SPI display driver for ST7789 TFT
Add support for SPI display driver for ST7789 TFT by Gerhard Mutz (#9037)
2021-01-01 15:05:58 +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
Theo Arends 9c2b8040f1 Revert "Breaking change replaced NRF24L01 GPIO selection"
This reverts commit 01f3a7da19.
2020-12-30 17:52:05 +01:00
Theo Arends 01f3a7da19 Breaking change replaced NRF24L01 GPIO selection
Breaking change replaced NRF24L01 GPIO selection from ``GPIO_SPI_CS`` by ``GPIO_NRF24_CS`` and ``GPIO_SPI_DC`` by ``GPIO_NRF24_DC``
2020-12-30 17:49:52 +01:00
Theo Arends f004cfea60 Breaking change regarding MFRC522 and ILI9341
- Replaced MFRC522 13.56MHz rfid card reader GPIO selection from ``GPIO_SPI_CS`` by ``GPIO_RC522_CS``
- Replaced ILI9341 GPIO selection from ``GPIO_SPI_CS`` by ``GPIO_ILI9341_CS`` and ``GPIO_SPI_DC`` by ``GPIO_ILI9341_DC``
2020-12-29 17:42:53 +01:00
Theo Arends b1b20c53b4 Prep removal of global log_data
Prep removal of global log_data providing re-entry
2020-12-23 18:00:59 +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 b7af08c03b Redesign syslog and mqttlog using log buffer
Redesign syslog and mqttlog using log buffer (#10164)
2020-12-18 15:37:20 +01:00
Theo Arends b9a3fd4342 Fix initial baudrate
Fix initial baudrate (#7447)
2020-12-07 15:33:09 +01:00
Theo Arends 7be7d96de6 Fix SPI regression from 9.1 2020-11-30 11:51:27 +01:00
Theo Arends b527ab4d66 Prep for ESP32-C3 ph1 2020-11-28 12:46:17 +01:00
Theo Arends 547e5d9c5d Fix command ``gpio``
Fix command ``gpio`` using non-indexed functions regression from v9.1.0 (#9962)
2020-11-24 15:14:22 +01:00
Theo Arends 138ddfb16e Removed version compatibility check
Removed version compatibility check
2020-11-07 15:43:52 +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
Theo Arends 488a360d5b Fixed NTP fallback server functionality
Fixed NTP fallback server functionality (#9739)
2020-11-06 15:22:03 +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
Federico Leoni f7ba0ba95e Switches: MQTT decoupling 2020-11-02 20:44:07 -03:00
Erik Montnemery ed8058b3e2
Attempt to fix regression introduced by #9589 2020-11-01 17:52:10 +01:00
Theo Arends c2482e9913 Add command ``SwitchText``
Add command ``SwitchText`` to change JSON switch names by barbudor (#9691)
2020-11-01 13:26:35 +01:00
Theo Arends 8338a9cc80 Refactor module change detection 2020-11-01 12:12:27 +01:00
Theo Arends 432051a7ef Fix setting last module 2020-10-31 12:04:28 +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 0f805014e6 Support WT32-ETH01
- Support for fixed output Hi or Lo GPIO
- Support for ESP32 based Wireless-Tag WT32-ETH01 (#9496)
2020-10-23 15:18:58 +02:00
Paul C Diem caaf7ac39c Make button press rules override PWM Dimmer functions 2020-10-20 10:48:49 -05:00
Paul C Diem f075a89d6b Add PWM Dimmer multi-press and ledmask support 2020-10-19 20:12:41 -05: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 490e7d838e Fix Template using ``#define USER_TEMPLATE``
Fix Template using ``#define USER_TEMPLATE`` (#9506)
2020-10-10 12:20:15 +02:00
Theo Arends 0c90f71e00 Fix ADC initalization sequence
Fix ADC initalization sequence (#9473)
2020-10-06 12:12:14 +02:00
Theo Arends 677bb85ecd Fix ledlink blink when no network connected
Fix ledlink blink when no network connected regression from 8.3.1.4 (#9292)
2020-10-04 17:08:11 +02:00
Theo Arends a9630b9d05 Change pulsetime to allow use for all relays
Change pulsetime to allow use for all relays with 8 interleaved so ``Pulsetime1`` is valid for Relay1, Relay9, Relay17 etc. (#9279)
2020-10-02 17:32:45 +02:00
Theo Arends c00d7035d9 Redesign GPIO to 16-bit 2020-09-29 18:10:21 +02:00
Theo Arends 805f93cfab Redesign GPIO to 16-bit 2020-09-29 14:08:48 +02:00
Theo Arends 46cbe13e9b Fix ESP32 compilation 2020-09-25 18:34:14 +02:00
Theo Arends 9cbd2d531d Initial GPIO redesign 2020-09-25 18:15:31 +02:00
Theo Arends ace6097052 Allow software SPI without hardware SPI 2020-08-23 15:34:19 +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
Paul C Diem c3112b20e0 Fix missed merge of device_group_count initialization. Rename remote_device_mode setting to multiple_device_groups. 2020-08-09 10:16:15 -05:00
Theo Arends b8973d64d0
Merge pull request #9023 from stefanbode/patch-16
Added exposure of MCP Out Pins as Relays
2020-08-03 18:23:51 +02:00
Theo Arends a3445e5b5f Add ESP32 ADC framework 2020-08-03 18:21:34 +02:00
stefanbode d16cdb108c
Added required hooks 2020-08-03 18:08:49 +02:00
Theo Arends 1d990ad091 Fix ESP32 PWM range 2020-08-03 11:52:25 +02:00
Theo Arends e1b825ed75 Fix ESP32 PWM resolution calculation 2020-08-02 12:40:15 +02:00
Theo Arends a84ebe552a Refactor rules processing 2020-07-20 17:24:51 +02:00
Theo Arends eeed6768d0 Third try to fix counter interrupt storm 2020-07-20 11:20:58 +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 84ee6393a5 Add second rotary support
Add second rotary support default used for CW light control when first rotary is used for RGB light control (#8864)
2020-07-13 15:10:23 +02:00
Theo Arends b5f45aa295 Fix ESP32 SPI config 2020-06-20 17:58:21 +02:00
Norbert Richter 9b44a369d8
Fix some json unescapes 2020-06-19 12:33:31 +02:00
Theo Arends daef0a759d Stop blinks when no network configured 2020-06-15 22:40:15 +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
Paul C Diem 3d42fae8bd Fix SO88 incoming power state check 2020-05-29 18:55:33 -05:00
Staars 55e56fee43 Touch pin as button for ESP32 2020-05-27 15:59:32 +02:00
Paul C Diem bc6d7ceb87 Add support for SetOption88 to put each relay in a separate device groups 2020-05-26 22:07:25 -05:00
Theo Arends 32a39b828c
Merge pull request #8553 from phjr/fix-device-power-on-esp8266
fix default power state logic invoked even if already serviced by a d…
2020-05-26 18:31:32 +02:00
Peter Halicky f80d2ede3a fix default power state logic invoked even if already serviced by a driver 2020-05-26 18:20:46 +02:00
Theo Arends 66233b1749 Add support for full MAC address
Add support for unique MQTTClient (and inherited fallback topic) by full Mac address using ``mqttclient DVES_%12X`` (#8300)
2020-05-26 17:08:13 +02:00
Theo Arends bacb730b53 Fix escape of non-JSON received serial data
Fix escape of non-JSON received serial data (#8329)
2020-05-26 12:35:21 +02:00
Matthijs Abma 7210934774 Cleanup code and only allocate buffer when needed 2020-05-24 17:47:57 +02:00
Matthijs Abma a4ce4830e8 Encode content when not raw or json 2020-05-24 17:47:57 +02:00
Matthijs Abma 7f18e1e8e3 Split logic for adding char to buffer and sending
the buffer, to make sure the char doesn't get
lost when the buffer is full
2020-05-23 17:44:49 +02:00
Matthijs Abma 2626345662 Store if current byte is delimiter for later reuse 2020-05-23 17:44:49 +02:00
Theo Arends aafa0862ab Refactor LedPwm code 2020-05-23 13:09:16 +02:00
George e780f25283 Gamma correction
Implement changes proposed by @s-hadinger review.
* Use 0-255 range in settings
* Apply gamma correction from xdrv_light & use changuintscale helper fn (as per pwm light routine)
2020-05-23 17:13:04 +10:00
George 603b628f97 Add pwm mode masking
* Extra setting & command to set - allows masking of pwm mode. Use case is for leds attached to buttons for seeing at night; this way user can combine both pwm and digital leds (i.e. pwm for the button leds but non-button status leds can stay on/off).
2020-05-20 13:23:54 +10: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
George fb179c27af Fixes
* Setting commands don't update if no data is sent
* Didn't understand how pin mapping worked duh. Fixed.
2020-05-20 13:23:53 +10:00
George ce2696fef0 Fix compile errors
Missing brackets and semicolons of course. Blame python.
2020-05-20 13:23:53 +10:00
George a305f435e8 First pass at led pwm settings
* Added settings for ledpwm_on and ledpwm_off with defaults that mimic current digitalwrite function
* Changed ledpoweridx from digitalwrite to analogwrite
* Add commands to change new settings
2020-05-20 13:23:52 +10:00
Theo Arends cd7f719563 Add more functionality to ``Switchmode`` 11 and 12 (#8450)
Add more functionality to ``Switchmode`` 11 and 12 (#8450)
2020-05-19 15:52:10 +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 23a9948d29 Fix ESP32 compilation 2020-05-04 11:07:52 +02:00
Theo Arends d410420110 Tasmotify ESP32 webcam 2020-05-03 18:37:12 +02:00
Theo Arends 99178c2f5d
Merge pull request #8315 from gemu2015/esp32-pwm
esp32 initial pwm support
2020-05-01 18:04:43 +02:00
gemu2015 bf29904b7a esp32 initial pwm support 2020-05-01 17:38:40 +02:00
Theo Arends 892be892fa Remove gpio to pin support 2020-05-01 17:37:56 +02:00
Theo Arends 7177c7d8e0 Change ESP32 pin allocation part 4 2020-05-01 16:47:41 +02:00
Theo Arends ef61668037 Change ESP32 pin allocation part 2 2020-04-29 17:44:03 +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 60e7a73b60 Switch from GPIO array to Pin array 2020-04-28 14:42:47 +02:00
Theo Arends 3fef91d6ca Change pin handling part 6 2020-04-27 17:28:05 +02:00
Theo Arends ae4ec4325d Change pin handling part 5 2020-04-27 17:16:52 +02:00
Theo Arends c939077514 Change pin handling part 3 2020-04-27 12:54:07 +02:00
Theo Arends 5d9be9a4d0 Fix pin handling part 1 2020-04-27 10:35:38 +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 5f75a4c354 Fix future compile error ;-) 2020-04-24 15:50:27 +02:00
Theo Arends be1fb3756c Change ESP32 freeHeap to MaxAllocHeap 2020-04-22 16:07:52 +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 d8f750ebb9 Add legacy support 2020-04-09 14:00:02 +02:00
Stephan Hadinger 7a6628d903 Add command ``SetOption41 <x>`` to force sending gratuitous ARP every <x> seconds 2020-04-07 14:07:00 +02:00
Theo Arends caff54da7c Fix unquoted non-json data
Fix unquoted non-json data (#8040)
2020-04-01 14:39:43 +02:00
Theo Arends dbc9f16ffc Add support for up to four MQTT GroupTopics
- Bump version to 8.2.0.2
- Add support for up to four MQTT GroupTopics using the same optional Device Group names (#8014)
2020-03-28 16:48:36 +01:00
Norbert Richter 898fff9dbc
Add multiple GroupTopic<x> (x=1-4) (default disabled)
grouptopic (1-4) subscription even when USE_DEVICE_GROUPS
is not used.
2020-03-28 11:17:16 +01:00
Theo Arends aede481b61 Move not used GPIO init up in chain 2020-03-25 11:29:46 +01:00
Theo Arends 5471de6f1c Change GPIO initialization solving possible Relay toggle on (OTA) restart
Change GPIO initialization solving possible Relay toggle on (OTA) restart
2020-03-22 17:42:32 +01:00
Theo Arends 0a0afe3615 Add Dew point to more sensors
Add Dew point to more sensors and refactor JSON Temperature and Humidity message
2020-03-17 16:29:59 +01:00
Theo Arends 566bc47af4 Add Dewpoint to Temp/Hum sensors Prt. 1
- Add Dewpoint to Temp/Hum sensors Prt. 1
- Update AHT10 driver (#7930)
2020-03-16 16:52:22 +01:00
Paul C Diem fec34434a6 Merge branch 'development' of https://github.com/arendst/Tasmota into pwm-dimmer3 2020-03-15 18:26:46 -05:00
Theo Arends 1a825db2b9 Fix ghost logging 2020-03-14 17:45:36 +01:00
Paul C Diem a72acf37fe Use Light module to manage PWM, Rework multi-button sequences 2020-03-13 12:08:44 -05:00
Theo Arends 0006d44e63 Fix HASS button discovery 2020-03-04 18:02:27 +01:00
Theo Arends 71e702c659 Change minimal filename construction 2020-03-04 15:36:37 +01:00
Theo Arends 71d810aac4 Update Tx2x Sensor
Update Tx2x Sensor with command SpeedUnit (#7843)
2020-03-02 15:51:33 +01:00
Norbert Richter 94dbc4d1a2
refactor TX2x sensor driver 2020-02-29 16:11:59 +01:00
Paul C Diem c0a5156d8f Initial pwm dimmer support 2020-02-24 07:19:15 -06:00
Paul C Diem 8182d6ef7b Merge branch 'development' of https://github.com/pcdiem/Tasmota into device-groups 2020-02-21 09:15:47 -06:00
Paul C Diem f409d7258e Initial device groups support (power and light) 2020-02-21 09:09:21 -06:00
Theo Arends 5e4d8e5641 Fix relation between RSSI and signal strength
Fix relation between RSSI and signal strength
2020-02-20 10:07:00 +01:00
Theo Arends 504570d5d5 Fix MaxPower functionality
Fix MaxPower functionality (#7647)
2020-02-09 16:21:48 +01:00
Theo Arends 48d70bc7bb Add Buzzer commands
Add command ``Buzzer -1`` for infinite mode and command ``Buzzer -2`` for following led mode (#7623)
2020-02-06 16:25:37 +01:00
Theo Arends 709fa19eb2
Merge pull request #7623 from to-scho/feature/buzzer_modes
Buzzer extensions
2020-02-06 16:05:18 +01:00
Theo Arends d779a2b9b4 Add switch modes 11 and 12
Add switch modes 11 (PUSHHOLDMULTI) and 12 (PUSHHOLDMULTI_INV) (#7603)
2020-02-06 14:53:35 +01:00
to-scho 72935bdcc6 Buzzer extensions
Add infinite mode (count==-1), add follow led mode (count==-2), add count>1 for tune playback
2020-01-28 11:22:36 +01:00
Theo Arends 45ed0257b6 Better support for Prefix1 equals Prefix2 2020-01-18 16:57:48 +01:00
Theo Arends 5716d08de9 Refactor MQTT Logging and publish 2020-01-18 15:34:01 +01:00
Theo Arends be5c7a4367 Document and add errorchecks to OTA
Document and add errorchecks to OTA
2020-01-17 17:14:53 +01:00
Theo Arends e8ce1eb641 Fix OTA minimal gzipped detection
Fix OTA minimal gzipped detection regression from 8.1.0.3
2020-01-17 15:38:03 +01:00
Theo Arends 5b797a8f4e Add new SwitchMode options
Add ``SwitchMode 8`` ToggleMulti, ``SwitchMode 9`` FollowMulti and ``SwitchMode 10`` FollowMultiInverted (#7522)
2020-01-16 10:39:59 +01:00
Theo Arends ceef563414 Add simple check for serialreceived JSON
Add simple check for serialreceived JSON (#7506)
2020-01-14 15:58:56 +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 0e0d8190fa Change some commands displaying all items
Change commands ``Prefix``, ``Ssid``, ``StateText``, ``NTPServer``, and ``FriendlyName`` displaying all items
2020-01-12 13:10:21 +01:00
Theo Arends e7b061ce5a Fix Tuya PowerOn state
Fix Tuya PowerOn state (#7412)
2020-01-11 15:39:56 +01:00
Theo Arends 8db49a0fe3 Add support for tasmota-minimal.bin.gz 2020-01-07 17:28:06 +01:00
Theo Arends 1c0db7e689 Refactor version compatibility 2020-01-07 17:01:48 +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