Commit Graph

2772 Commits

Author SHA1 Message Date
Yonsm
fa9ff7dee7 Check value range for PMSX005 and SenseAir CO2 sensor (#1865) 2019-08-22 03:23:50 +03:00
Tercio Gaudencio Filho
85a09a2b47 Add #ifndef guard for BMX280_... defines (#1867) 2019-08-22 03:10:40 +03:00
Max Prokhorov
c15d87a517 Remove gpio 0 pinmode in analog sensor
Thanks to @tonilopezmr 
1c3d68af34
2019-08-22 03:08:28 +03:00
foxman69
43a44cf964 Authenticate /reset endpoint (#1858) 2019-08-16 02:46:21 +03:00
Max Prokhorov
b100d5f603 ws: create incoming buffer once, no need to delay 2019-08-16 02:44:48 +03:00
Max Prokhorov
c126ff4604 ws: include queue header 2019-08-16 02:44:48 +03:00
Max Prokhorov
4ef069abb0 Fully fit unsigned char in the format 2019-08-16 02:44:48 +03:00
Max Prokhorov
c5827b228d Fix WS memory leak when disconnected (#1857) 2019-08-15 18:23:58 +03:00
Max Prokhorov
9d9df478bd Fix WEB_SUPPORT=0 and missing definitions (#1853)
* clean-up ws declarations, remove old stubs

* always fw declare callback types

* wsPost is only possible with WEB_SUPPORT

* some more ws methods
2019-08-15 18:05:26 +03:00
Max Prokhorov
ef153b4eff Core 2.6.0+ fixes (#1852)
* Core 2.6.0+ fixes

* fix env -> config, run travis04 job

* don't duplicate free heap in frag data, use single stats struct

* fix dtostrf warnings, bump buffer sizes

* ...and even less words for fragmentation stat
2019-08-15 18:04:55 +03:00
Max Prokhorov
d4311211ad Lock relay status on boot (#1705)
* relays: locked status

* remove debug

* Disable relay toggle when locked

* fixup! Disable relay toggle when locked

* Send lock with status, fix "disable" condition

* typo

* Update WebUI
2019-08-13 00:33:27 +03:00
Max Prokhorov
d4dea17f94 Fix missing WS debug messages (#1851)
Amend #1843 , since we have updated ESPAsyncWebServer
Fixes (again) #1300

Gather WS debug messages in a buffer and flush every N times
info,keys,crash actually output data now
2019-08-13 00:18:45 +03:00
Max Prokhorov
21423431ce Fixed size json payload & other WS bugfixes (#1843)
- update every dynamicjsonbuffer with fixed size constructor argument
- change to ws callback registration to use a class builder (just cosmetic)
- test multiple ws data callbacks for each module
- remove some of the static strings in favour of ws data callback
- improve sensor ws callback data size, remove duplicated strings
- use static buffer in wsDebugSend
- postpone wsSend until loop, implement wsPost to allow other modules to queue message callbacks. remove Ticker based ws callbacks for data
- update WebUI files
2019-08-12 23:24:52 +03:00
Max Prokhorov
9156eb1477 Experimental support of HTTPUpdate for OTA (#1751)
- add httpupdate ota impelementation
- move async ota into a separate module
- support bearssl & axtls through wificlientsecure
- allow to disable arduino ide ota module
2019-08-12 23:16:06 +03:00
Max Prokhorov
f4e3ced56a Port PROGMEM from 2.5.0 (#1374)
* Port PROGMEM from 2.5.0

* Update prototypes.h

* Guard for <2.5.0, prettify
2019-08-12 21:46:42 +03:00
Niek van der Maas
274f71d7d9 Allow offline building - skip package updater if there is no connection (#1841) 2019-08-06 15:13:08 +03:00
Max Prokhorov
437424aaac .ld scripts refactoring (#1559)
* initial ldscripts refactoring

* add missing menu options

* board for 2.3.0 and 2.4.2

* test with core 2.5.0

* typo

* ...same typo in other boards.local.txt

* generate boards.local.txt from common template

* Depend on file presence instead of platform version

* sdk selection

* Override only relevant entries

* generate ldscripts

* formatting

* unused

* fix section scope

* fix linker script comment and build getting stuck

* py2 compat

platformio from pip still does not support py3

* add TODO for py3

* chmod +x, remove leading newline

* comment with real spiffs size

* fixup! chmod +x, remove leading newline

* regenerate all ldscripts

* Preventive fix of spiffs_end calculation

* update arg parsing

* generate only 2.3.0 and latest

* readme for boards.local.txt

* Update ldscript readme

* unique flash sizes

* fix sub

* line break

* correct way to get framework path

* Alias for _FS_... symbols

* unused 2m1m1s

* bump?

* show travis logs

* ensure latest toolchain for travis

* check platform packages when building
2019-08-05 19:44:21 +03:00
Max Prokhorov
8d009a66f5 Add missing DOMOTICZ_... ifndef guards
https://github.com/xoseperez/espurna/issues/1839#issuecomment-518248474
2019-08-05 19:35:23 +03:00
Pavel S
228fba5b3a Enable multiple Digital & Events sensors (#1832)
* enable multiple Digital, Events & PulseMeter

* delete SPI dependency

* back to only one PulseMeter

* deprecared pins
2019-08-05 19:20:10 +03:00
Laine Walker-Avina
7e536be79c Add iselector-sm-pw702 (#1837) 2019-08-05 19:01:05 +03:00
Sandeep Sirpatil
6d74f4e958 Add etekcity-esw01-usa (#1836)
*  * Added support for Etekcity ESW01-USA device

* Update hardware.h

* Update hardware.h
2019-08-05 18:57:08 +03:00
Max Prokhorov
c8547fa728 Add itead-sonoff-s31-lite (#1830)
This adds a hardware profile for the S31 "Lite" version, which does not have the power monitoring chip installed on the board. The device is otherwise identical. It uses the exact same board and components as the regular S31.

Signed-off-by: Michael Murton <6764025+CrazyIvan359@users.noreply.github.com>
2019-08-05 18:47:37 +03:00
Max Prokhorov
e49e538ce3 Update arduino.h 2019-08-05 18:46:35 +03:00
Michael Murton
dfb0cfb717 add s31-lite hardware profile
Signed-off-by: Michael Murton <6764025+CrazyIvan359@users.noreply.github.com>
2019-07-20 09:26:59 -04:00
arihant daga
fbf2b71749 Backup EEPROM before performing OTA (#1808, #1809)
* [Fix] Backing up EEPROM before performing OTA.For fixing - [#1808]

* Guard ArduinoOTA, different handler for async
2019-07-18 02:05:25 +03:00
Max Prokhorov
6765fd830f Fix assert condition 2019-07-18 02:04:17 +03:00
Max Prokhorov
e169a9dc6d Always apply channel inputValue->value 2019-07-18 02:04:17 +03:00
Max Prokhorov
5883617ee6 Light: move gamma to PROGMEM 2019-07-18 02:04:17 +03:00
Max Prokhorov
c918791920 Light: split RGBWW and only W brightness 2019-07-18 02:04:17 +03:00
Max Prokhorov
f8a0b9935c Terminal: Add description for each channel 2019-07-18 02:04:17 +03:00
Antonio López Marín
2e8ff3ab3d Add Shelly 1PM (#1822)
* Add Shelly 1PM

* Improve Shelly 1PM temperature tabs

* Add shelly 1pm button
2019-07-18 02:03:51 +03:00
Max Prokhorov
4469ec8575 env:wemos-d1mini is 4MB board 2019-07-15 00:44:42 +03:00
m-kozlowski
8dac0bbe49 Build date in ota.py (mDNS) (#1736)
* include build_date in mdns (and ota.py)

* ota.py: correct number of dashes in header
2019-07-15 00:42:12 +03:00
Max Prokhorov
98fbb8fc6f Update platformio.ini
Fix upload_... -> ota_upload_...
2019-07-13 05:35:38 +03:00
Max Prokhorov
b454cc4ed8 Web OTA: check authentication result before accepting payload (#1812) 2019-07-13 05:18:08 +03:00
Max Prokhorov
dd7760e76a Fixes for platformio builds (#1818)
* Define ota_upload_port, ota_upload_flags

* Update core builds - basic, wps and smartconfig
2019-07-13 02:58:43 +03:00
konsgn
ee8a6e022a Nexete A19 RGBW bulb (#1814)
* adding Nexete

Started Adding Nexete A19 Bulb

* Update hardware.h

* fixed pinout

* Rename to Nexete_A19 + added non-ota
2019-07-13 02:58:04 +03:00
Niek van der Maas
9be43c364a Telnet/WiFiServer: alternative to ESPAsyncTCP (#1799)
* Telnet rewrite, no longer using ESPAsyncTCP

* Support two telnet server implementations

* Clean up diff

* Update types, no free() calls, cleanup

* Use std::unique_ptr

* Fix nullptr checks

* Fix double log with async server

* Common new connection method

* use same connected() check as sync variant

* fixup! use same connected() check as sync variant

* Fix compile issue, close connection in case of timeout and when max connections reached

* Use AyncsClient* in function call

* Allow overriding telnet port + max clients

* Do not allocate 512 bytes by default

* Use TERMINAL_BUFFER_SIZE
2019-07-13 02:56:31 +03:00
Rui Caridade
3bb5cc879f Make compilation more flexible (#1816)
* Make compilation more flexible allowing to define in custom.h your own variation to devices and define four wifi networks

* Implement suggestion from Max Prokhorov, it's simpler and cleaner

* Change a #elif by #else

* Move ESPurna Core comment
2019-07-13 02:54:53 +03:00
Niek van der Maas
a8f602a401 Use basic BearSSL ciphers on low memory boards (#1810)
* Use basic BearSSL ciphers on low memory boards

* Move BearSSL basic flag to recommendation
2019-07-13 02:43:20 +03:00
Max Prokhorov
1d133bee16 Build with platformio 4 (#1805)
- update file paths: .pioenvs -> .pio/build, .piolibdeps -> .pio/libdeps
- modify envs to use common settings
- enable shared libs in travis and ota scripts
2019-07-11 00:34:17 +03:00
Niek van der Maas
900bcb8bf1 PIO4: default_envs (#1793) 2019-07-07 22:55:01 +03:00
Max Prokhorov
9bae101ed1 PIO: Update for recent platforms (#1811)
* PlatformIO development platforms

* Properly detect platform directory

* Naming

* Update platformio.ini
2019-07-07 11:35:50 +03:00
Max Prokhorov
bd00758162 Thingspeak: async client fixes (#1806)
* Thingspeak: async client fixes

- remove memory management in async client callbacks
- instead of global one, reference asyncclient from callback argument
- transfer temporary data-buffer to the global scope, avoid accidental String copy
- implement strnstr to search onData payload

* fixup format strings

* update retry time each attempt

* start with default attempts value

* trying to work with lwip2-536

* count time from last request

* promptly run flush
2019-07-07 11:21:15 +03:00
Max Prokhorov
d09b3f156f Update ESPAsyncTCP to 7e9ed22 (#1752, #1806)
Fix random resets when connection closes prematurely
2019-07-07 10:57:36 +03:00
Max Prokhorov
c44c74f70e Import Encoder library (#1769)
* Update encoder

- import modified Encoder library
- customize minimum delta value

* minimum delta in header config

* fixup! minimum delta in header config

* fix dead code, actually use interrupts

* move static class methods to normal funcs, apply namespace

* drop hardcoded register use

- use peripheral api (see cores/esp8266/esp8266_peri.h)
- remove bitmask and register struct members

* add a note about changes

* fixup! add a note about changes
2019-07-07 10:55:01 +03:00
Vencislav Atanasov
dc26a69642 Add support for MagicHome RGBWW LED strip (#1787)
* Add support for MagicHome RGBWW LED strip

This adds support for MagicHome 5 channel LED strip. It is using ESP8285 board, labelled as ESP-M4, has 5 powerful MOSFETs (M3006D, up to 80A! continuous/160A peak) at 12-24V. They are driven by smaller transistors. Red LED is connected to 3.3V power supply, and can't be controller. Green LED is connected to GPIO. Pin mappings:
BTN IO0
R Q8 Q2 IO14
G Q6 Q3 IO12
B Q9 Q4 IO13
WW Q10 Q5 IO15
CW Q7 Q1 IO5
GREEN_LED IO2
Looks like the same board is used in another product which has support for RF remote, but mine doesn't, so I don't include RF config, if yours has it should be a simple copy/paste job to add it.

* Add config for push button

* Fix copy/paste mistake

* Turn on/off LEDs using the push button
2019-07-02 05:43:29 +03:00
Max Prokhorov
1baeec545f Revert "fix led invert for yjzk switches (#1779)" (#1804)
https://github.com/xoseperez/espurna/pull/1779#issuecomment-504789747
2019-07-02 05:42:14 +03:00
Max Prokhorov
ff046eb0f1 DEBUG_SUPPORT check for crashSetup (#1807) 2019-07-02 05:41:26 +03:00
Max Prokhorov
0d76910b6d Update EventsSensor (#1771)
- cache ms<->clockcycles conversions
- move callback invocation outside of ISR handler
- remember last event value
2019-06-30 02:10:40 +03:00