Commit Graph

6378 Commits

Author SHA1 Message Date
Alexander Schliebner 2335f2fedd
Bugfix in function 'mp'
If optional parameter v2 was omitted, evaluation failed.
2020-03-07 18:52:24 +01:00
Alexander Schliebner 7df46f051d
Optimized function 'mp'
Leaner syntax of function `mp` and simplified implementation.
New documentation:
Mapping function `mp`

It addresses a standard task with less code and much flexibility: mapping an arbitrary incoming numeric value into a defined schema of allowed/reasonable ranges.
The numeric value `x` passed as the first parameter is compared to the mprules in the order they are provided as subsequent parameters. If the value matches the criteria, the defined value is returned. Subsequent mprules are skipped. If `x` matches none of the mprules, `x` is returned unchanged. 
```
mp(x mprule1 mprule2 ... mprule<n>)
```

An mprule starts with one of the comparison operators `<`, `>` or `=`, followed by a numeric value `v1`, optionally followed by a second numeric value `v2`:
```
<|>|=v1[ v2]
```

Example 1: `<8 0` - this rule reads: If x is less than 8, return 0.
Example 2: `>100` - this rule reads: If x is greater than 100, return 100. 

Example 3:
```
y=mp(x <8 0 >100)
```
Assigns 0 to y if x is less than 8.
Assigns 100 to y if x is greater than 100.
Assigns x to y for all values of x that do not meet the above criteria (8 to 100).

The above code of example 3 does the same as the following code - with just one line of code and 19 characters less:
```
y=x
if x<8 {
y=0
}
if x>100 {
y=100
}
```

Every of the above mentioned numeric values `x`, `v1` and `v2` can be a literal, an expression or a variable.
2020-03-07 16:53:49 +01:00
Theo Arends df43217a18
Merge pull request #7864 from Staars/nrf24
MI_NRF24: add GCD1, missing PDU-type, small refactoring
2020-03-07 14:57:43 +01:00
Theo Arends 3a4ca76a7c
Merge pull request #7865 from maxela/patch-1
Added rule-based mapping function for scripting
2020-03-07 14:55:43 +01:00
Alexander Schliebner cd14bde1f7
Update xdrv_10_scripter.ino
Added mapping function `mp`
´´´
mp(x str1 str2 ... str<n>)
´´´
It addresses a standard task with less code and much flexibility: mapping an arbitrary incoming numeric value into the allowed range.
The numeric value `x` passed as the first parameter is compared to the rules in the order they are provided as subsequent sting parameters. If the value matches the criteria, the defined value is returned. Subsequent rules are skipped. If `x` matches none of the rules, `x` is returned unchanged. 

Rules consist of one of the comparison operators `< > =` followed by a numeric value `v1`, optionally followed by a colon and another numeric value `v2`.
```
<|>|=v1[:v2] 
```
Example 1: `"<8:0"` - this rule reads: If x is less than 8, return 0.
Example 2: `">100"` - this rule reads: If x is greater than 100, return 100. 

Example 3:
```
y=mp(x "<8:0" ">100")
```
Assigns 0 to y if x is less than 8.
Assigns 100 to y if x is greater than 100.
Assigns x to y for all values of x that do not meet the above criteria (8 to 100).

The above code of example 3 does the same as the following code - with just one line of code and 15 characters less:
```
y=x
if x<8 {
y=0
}
if x>100 {
y=100
}
```
2020-03-06 21:13:12 +01:00
Staars 048474f7ac add missing PDU-type, small refactoring 2020-03-06 19:22:30 +01:00
Theo Arends bd98c1816c Update TEMPLATE and RELEASE info 2020-03-06 15:52:46 +01:00
Theo Arends bea5abc003
Merge pull request #7863 from Jason2866/patch-1
Use latest feature stage version for Tasmota...
2020-03-06 13:51:59 +01:00
Jason2866 0b36bedace
Use latest feature stage version for Tasmota...
Core Stage.
udp: fix again pbuf management
2020-03-06 13:02:25 +01:00
Theo Arends 59408b453e
Merge pull request #7860 from pcdiem/tuya-mcu1
Add Light skip_light_fade flag and Dimmer3 command, Ignore MCU dimmer…
2020-03-06 11:49:56 +01: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 c52680f836 Fix -minimal compile error 2020-03-05 18:45:43 +01:00
Theo Arends f4047b4337 Fix GUI channel offset
Fix GUI channel offset when relays are present (#7855)
2020-03-05 14:53:51 +01:00
Theo Arends a8e369e5ce Update feature information 2020-03-05 14:00:47 +01:00
Theo Arends 93f2ddd5d5
Merge pull request #7854 from s-hadinger/zigbee_distinct_topics
Add Zigbee use distinct MQTT topics per device for SENSOR, allowing retained messages (#7835)
2020-03-04 21:49:15 +01:00
Hadinger 8855d2a218 Add Zigbee use distinct MQTT topics per device for SENSOR, allowing retained messages (#7835) 2020-03-04 21:00:57 +01:00
Theo Arends 0006d44e63 Fix HASS button discovery 2020-03-04 18:02:27 +01:00
Theo Arends 74f1ad8a1b Fix APDS9960 compile error 2020-03-04 16:34:06 +01:00
Theo Arends 50b19712ac Fix DS1624 with KNX compilation error
Fix DS1624 with KNX compilation error (#7853)
2020-03-04 15:51:50 +01:00
Theo Arends 71e702c659 Change minimal filename construction 2020-03-04 15:36:37 +01:00
Theo Arends 46e6c3a796 Fix RO compilation 2020-03-04 12:18:32 +01:00
Theo Arends f0a8305b13 Add localization for Romanian 2020-03-04 11:56:35 +01:00
Theo Arends 2f3f06ab0b
Merge pull request #7851 from s-hadinger/jitter_2
PWM anti-flicker, latest changes from Arduino Core
2020-03-04 11:01:18 +01:00
Hadinger 3a2a3cde88 Sync with https://github.com/esp8266/Arduino/pull/7057 2020-03-04 08:59:45 +01:00
Theo Arends 25c2a6f639
Merge pull request #7845 from to-scho/hotfix/shutterbuttons_multipress_window_timing
extended multipress window from 0.5s to 0.75s
2020-03-02 21:32:16 +01:00
Theo Arends 4cb2690288
Merge pull request #7844 from to-scho/hotfix/shutterbuttons_singlebutton
Shutterbutton does not work for 1 button, fixes #7793
2020-03-02 21:31:47 +01:00
to-scho 543f83218e extended multipress window from 0.5s to 0.75s 2020-03-02 20:49:11 +01:00
to-scho 02ba705eca Shutterbutton does not work for 1 button, fixes #7793 2020-03-02 20:32:55 +01:00
Theo Arends 0ce89e53e3 Fix Arduino IDE compile error 2020-03-02 17:48:19 +01:00
Theo Arends aae4924201
Merge pull request #7820 from Jason2866/patch-1
Remove obsolete Arduino files...
2020-03-02 16:50:34 +01:00
Theo Arends 71d810aac4 Update Tx2x Sensor
Update Tx2x Sensor with command SpeedUnit (#7843)
2020-03-02 15:51:33 +01:00
Theo Arends 669f88a5aa Add Settings.flag2.speed_conversion 2020-03-02 14:00:57 +01:00
Theo Arends a837a8ac7c Fix compile error 2020-03-01 22:13:02 +01:00
Theo Arends 2b438328dd Add DimmerRange support to Sonoff D1
Add DimmerRange support to Sonoff D1 (#7598)
2020-03-01 16:13:59 +01:00
Theo Arends 473892d5c9 Add updated experimental Sonoff D1 support
Add updated experimental Sonoff D1 support (#7598)
2020-03-01 15:31:08 +01:00
Theo Arends 3343164da9 Add support for MaxBotix HRXL-MaxSonar
Add support for MaxBotix HRXL-MaxSonar ultrasonic range finders by Jon Little (#7814)
2020-03-01 14:20:19 +01:00
Theo Arends fc573027b3
Merge pull request #7814 from burundiocibu/development
Adding support for MaxBotix HRXL line of sonar ranging sensors
2020-03-01 13:57:42 +01:00
Theo Arends ece0e57a6b
Merge pull request #7822 from curzon01/development
refactor TX2x sensor driver
2020-03-01 13:54:15 +01:00
Theo Arends c40fce0099
Merge pull request #7831 from Phonog/development
Fix switchmode 6 according to issue 7778
2020-03-01 13:52:18 +01:00
Theo Arends 82954e2928
Delete launch.json 2020-03-01 13:52:01 +01:00
Theo Arends 46fe19bcd7
Merge pull request #7832 from s-hadinger/zigbee_32
Add Zigbee features and improvements
2020-03-01 13:49:43 +01:00
Hadinger 7cf8c1750f Add Zigbee features and improvements 2020-03-01 11:25:59 +01:00
Phonog 9498cde5e5 Fix switchmode 6 according to issue 7778 2020-03-01 09:42:59 +00:00
Norbert Richter 94dbc4d1a2
refactor TX2x sensor driver 2020-02-29 16:11:59 +01:00
Theo Arends b7c6a7bcbb
Merge pull request #7819 from s-hadinger/ir_274
IRremoteESP8266 library updated to v2.7.4
2020-02-29 15:31:29 +01:00
Jason2866 9b8b8ca376
Delete esp8266.flash.1m0.ld 2020-02-29 14:39:23 +01:00
Jason2866 d8e43829bc
Delete platform.txt 2020-02-29 14:36:31 +01:00
Jason2866 6dde795e0c
Delete boards.txt 2020-02-29 14:36:21 +01:00
Jason2866 44cf797778
Delete platform.txt 2020-02-29 14:36:07 +01:00
Jason2866 53a622ee3d
Delete boards.txt 2020-02-29 14:35:56 +01:00