Commit Graph

110 Commits

Author SHA1 Message Date
Theo Arends ca8b38d0d0 Add LedPwm commands
Add commands ``LedPwmOn 0..255``, ``LedPwmOff 0..255`` and ``LedPwmMode1 0/1`` to control led brightness by George (#8491)
2020-05-23 15:17:13 +02:00
Theo Arends dc9ce42888 Refactor LedPwm code 2020-05-23 13:04:17 +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 bea58f223f Oops
Compile error. Forgot bracket.
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 e1fbf64037 Add command ``Rule0``
Add command ``Rule0`` to change global rule parameters
2020-05-19 11:15:31 +02:00
Theo Arends 90e833238f Allow no DeviceName 2020-05-17 17:38:28 +02: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 80c8bf675c Publish teleperiod data on command TelePeriod
Publish teleperiod data on command ``TelePeriod`` (#2567)
2020-05-16 17:44:29 +02:00
Theo Arends af32b3f5e5 Add ESP32 configuration webcam 2020-05-12 15:42:16 +02:00
Theo Arends 02f61a5259 Allow rule processing on single Status command
Allow rule processing on single Status command only
2020-05-10 11:10:55 +02:00
Stephan Hadinger 646f76e459 Minor size optimizations 2020-05-06 08:56:09 +02:00
Stephan Hadinger b07edd1d74 Move constants in PMEM 2020-05-04 20:00:05 +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 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 c0a05e9586 Change ESP32 pin allocation part 3 2020-04-30 18:47:34 +02:00
Theo Arends ef61668037 Change ESP32 pin allocation part 2 2020-04-29 17:44:03 +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 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 c0bc7abeee
Merge pull request #8272 from joerg555/development
Nimble no warnig, optimise CommandHandler()
2020-04-25 09:36:29 +02:00
Theo Arends 209c8f4eb7
Merge pull request #8270 from pcdiem/device-groups-10
Use defined mcast addr for device groups instead of sharing emuation
2020-04-25 09:35:22 +02:00
Jörg Schüler-Maroldt 4c0a85ba0f CommandHandler() optimize and maybe security fix 2020-04-25 00:55:39 +02:00
Theo Arends 9ed8e7c254 Fix internal array size checks 2020-04-24 17:39:26 +02:00
Paul C Diem 81a874ec72 Use defined mcast addr for device groups instead of sharing emuation's, Code size reductions 2020-04-24 09:12:43 -05:00
Theo Arends be1fb3756c Change ESP32 freeHeap to MaxAllocHeap 2020-04-22 16:07:52 +02:00
Theo Arends 965c44c0a9 Fix shortcut SO response 2020-04-21 10:03:34 +02:00
Theo Arends 6c5e9a89c4 Add command ``SO`` as shortcut for command ``SetOption`` 2020-04-21 09:48:27 +02:00
Theo Arends 19796a7f97 Refactor ESP32 code 2020-04-19 16:58:13 +02:00
Theo Arends e1d7416a36 Add features to ESP32
- Decided to support ONLY flash mode DOUT (no software change but allows for RX1/TX1)
- Add GPIO9 (RX1) and GPIO10 (TX1) for hardware serial support
- Add above two GPIOs to template
- Moved basic ADC0 support from GPIO36 to GPIO33
2020-04-18 18:10:41 +02:00
Theo Arends 09599bb4a1 Provide ESP32 base module support 2020-04-17 16:17:01 +02:00
Theo Arends 367658b75b More ESP32 compatibility 2020-04-16 18:33:26 +02:00
Paul C Diem b7454d7bd8 Add DevGroupStatus command, Include member add/remove logging 2020-04-15 08:40:18 -05:00
Theo Arends ba01cb2046 Fix GlobalTemp and GlobalHum
Fix GlobalTemp and GlobalHum (#8156)
2020-04-14 11:58:24 +02:00
Theo Arends e8f3d1d986 Increase ESP32 compatibility
Increase ESP32 compatibility (breaks current ESP32 configuration again!)
2020-04-13 17:45:06 +02:00
device111 20c9a9cadf Add change global hum and temp with command 2020-04-13 13:26:49 +02:00
Theo Arends ad1054a6ae Increase ESP32 compatibility
Increase ESP32 compatibility (breaks current ESP32 configuration!)
2020-04-12 18:17:35 +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 03968925eb Small optimization in Group Topic 2020-04-10 14:38:00 +02:00
Theo Arends aad1aa0dbd Fix grpflg regression
Fix grpflg regression (#8114)
2020-04-10 10:38:39 +02:00
Theo Arends 24fa00ad57 Fix grpflg detection
Fix grpflg detection (#8095)
2020-04-09 11:51:39 +02:00
Paul C Diem 9794f12460 Add DevGroupSend command 2020-04-07 13:25:58 -05:00
Paul C Diem 2a367512d7 Add DevGroupName command 2020-04-06 12:29:50 -05:00
Theo Arends d713468c0c Add support for longer template names
Add support for longer template names
2020-03-29 17:41:31 +02:00