Commit Graph

263 Commits

Author SHA1 Message Date
rjwats
f2b53a6d53
Consistency fixes (#167)
Minor consistency fixes from @proddy's comments
2020-07-07 00:13:38 +01:00
rjwats
1f07dcdab2
OTA Upload Feature (#162)
* Improve restart behaviour under esp8266
* Backend to support firmware update over HTTP
* UI for uploading new firmware
* Documentation changes
2020-06-29 00:25:58 +01:00
rjwats
e86607bff3
PSRAM Status (#159)
Show PSRAM on status screen
Use correct calculation for heap fragmentation
Fix display of application error component
2020-06-21 23:02:07 +01:00
rjwats
f045e4d9e7
Improve interface docs (#157)
Improve interface documentation
2020-06-19 20:25:13 +01:00
rjwats
0bea2fde92
Add admin security predicate to time endpoint (#154) 2020-06-17 09:20:33 +01:00
rjwats
55511e0611
Allow time & date to be configured manually when NTP is inactive (#153)
* Allow time to be configured manually when NTP is not active
* Standarize on primary button on the outside of dialog boxes
2020-06-16 22:24:15 +01:00
rjwats
003fd8af28
Fix broken path in README (#150)
* Fix broken path in README
2020-06-12 18:47:20 +01:00
rjwats
449d3c91ce
Allow features to be disabled at build time (#143)
* Add framework for built-time feature selection
* Allow MQTT, NTP, OTA features to be disabled at build time
* Allow Project screens to be disabled at build time
* Allow security features to be disabled at build time
* Switch to std::function for StatefulService function aliases for greater flexibility
* Bump various UI lib versions
* Update docs
2020-06-09 21:57:44 +01:00
rjwats
88748ac30d
Merge pull request #147 from rjwats/ts-fixes
Reorder props to avoid TS error
2020-06-08 18:16:55 +01:00
Rick Watson
5269b47edc Reorder props to avoid TS error 2020-06-08 17:48:00 +01:00
rjwats
c1fdb9b485
Resolve issue causing demo project to crash on esp8266 (#142)
Exception 3, Exception 9 and Exception 28 are thrown sporadically if printing to serial during WebSocket RX
Believed to be due to serial buffer causing RX to block, investigating as part of #123
2020-05-31 19:40:29 +01:00
rjwats
555b3efd8d
Access point fixes (#137)
* add lingering mode to access point fix bug which prevents active access point from being re-configured
2020-05-30 09:47:24 +01:00
rjwats
ddbb84454f
Merge pull request #136 from rjwats/ui-use-enums
prefer enums over named consts in UI for better static analysis
2020-05-29 21:05:29 +01:00
Rick Watson
0004cf988b prefer enums over named consts in UI for better static analysis 2020-05-29 20:58:09 +01:00
rjwats
0d39c5ca00
Apply updates alternative (#135)
* Rename "serialize" and "deserialize" functions to "read" and "update" to reflect API in StatefulService
* Move new definitions to StatefulService.h so it is obvious it is not general purpose
* Update README
2020-05-29 20:18:43 +01:00
rjwats
d9ae0f5cf9
Header logo (#133)
* Display project icon in the top of application menu bar

Co-authored-by: kasedy <kasedy@gmail.com>
2020-05-26 20:46:20 +01:00
rjwats
1e05546ecb
Merge pull request #128 from rjwats/status-improvements2
Status improvements - add file system
2020-05-25 16:29:09 +01:00
Rick Watson
f73c957477 add TODO 2020-05-25 11:35:03 +01:00
Rick Watson
b4f3fbe823 Remove SPIFFS reference from ESP8266 react, use FS pointer instead 2020-05-25 11:30:13 +01:00
Rick Watson
98f49fd024 use "fs" instead of "spiffs" as spiffs is implementation specific 2020-05-25 11:04:13 +01:00
Rick Watson
aa04cfd80c fix imports
use FSInfo struct for esp8266
2020-05-25 11:00:42 +01:00
rjwats
f2dcc4e1e9
Merge pull request #127 from raomin/e82/master
SPIFFS size info in System view
2020-05-25 10:28:55 +01:00
Raomin
6510a72789 apply PR comments 2020-05-25 01:41:45 +02:00
Raomin
681b9f67cf
Merge branch 'master' into e82/master 2020-05-24 23:47:05 +02:00
raomin
ab1c8e9ac1 Merged 2020-05-24 23:44:04 +02:00
Raomin
49910e1272 add spiffs size + formatting 2020-05-24 23:35:32 +02:00
Raomin
ce8929fd39 add spiffs size + formatting 2020-05-23 23:12:11 +02:00
rjwats
d68afe5e59
Update readme (#126)
* Be more explicit about optional FS upoad step in readme
2020-05-23 10:08:59 +01:00
rjwats
bcb1098402
Make StatefulService buffer size configurable (#118)
Introduce DEFAULT_BUFFER_SIZE for StatefulService related classes
Add configurable buffer sizes for StatefulService related classes
Remove redundant function from HttpEndpoint
2020-05-22 19:26:12 +01:00
rjwats
4fa491e309
adopt explicit initialization - with the exception of trivial classes (#122) 2020-05-21 23:41:29 +01:00
rjwats
db0d98d425
Extend Status (#121)
* Added Sdk Version and ~heap fragmentation to system page
* Add flash chip speed to status page

Co-authored-by: kasedy <kasedy@gmail.com>
2020-05-21 22:52:07 +01:00
kasedy
13f97b630f
Fixed currentUpdatedHandlerId variable appearing multiple times in several build units. (#120)
* Fixed currentUpdatedHandlerId variable appearing multiple times in several build units
2020-05-21 20:55:22 +01:00
rjwats
0e2124062f
Use references & flash strings where approperate (#110)
* pass originId as const reference
* store strings for serial logging in flash
* Use string references where approperate.
2020-05-21 08:42:21 +01:00
kasedy
4e6823ceec
Fixed crash due to uninitialized variable (#116)
* Fixed crash due to uninitialized variable "Fatal exception 9(LoadStoreAlignmentCause)"
2020-05-20 18:51:04 +01:00
rjwats
a59f32c420
Factory reset feature (#114)
Implemented factory-reset feature
Extract factory settings into separate ini file
Hide reset/factory reset from guest user

Co-authored-by: kasedy <kasedy@gmail.com>
2020-05-20 00:32:49 +01:00
kasedy
51dabb705f
Fix MqttPubSub Constructor
* Fix MqttPubSub constructor
* Add MQTT client accessor to MqttConnector
2020-05-17 22:02:00 +01:00
rjwats
7d3bbf4240
UI Usability Fixes
* Fallback to sessionStorage if localStorage is absent
* Disable auto-correct and auto-capitalize on username field (SignIn)
* Fix SignIn component name
* Improve support for low screen widths

Co-authored-by: kasedy <kasedy@gmail.com>
2020-05-16 12:39:18 +01:00
rjwats
a1f4e57a21
Rework backend add MQTT and WebSocket support
* Update back end to add MQTT and WebSocket support
* Update demo project to demonstrate MQTT and WebSockets
* Update documentation to describe newly added and modified functionallity
* Introduce separate MQTT pub/sub, HTTP get/post and WebSocket rx/tx classes
* Significant reanaming - more accurate class names
* Use PROGMEM_WWW as default
* Update README documenting PROGMEM_WWW as default
* Update README with API changes
2020-05-14 23:23:45 +01:00
Rick Watson
c47ea49a5d ui fixes
remove unused fuction
2020-03-28 21:30:10 +00:00
rjwats
fb7053610f
fix issue with number inputs not serializing correctly due to setting values as strings instead of numbers (#94)
consolidate number, string and checkbox value change functions

(cherry picked from commit 22c1590885db0534afabff74be7504ca9a0998b5)
2020-02-27 00:05:38 +00:00
rjwats
a042633d8f
Minor UI Updates (#93)
* simplify props set to constant true

* reduce icon size in users table for better small screen compatibility

* use lib_compat_mode property over library exclusion

* get travis to build esp32 environment in addition to esp8266 during CI build
2020-02-19 00:04:57 +00:00
rjwats
245a713a9f
fix issue with platformio 4.2.0 not discriminating transitive dependencies from ESPAsyncWebServer's library.json correctly (#91) 2020-02-14 19:22:18 +00:00
rjwats
260e9a18d0
Re-engineer UI in TypeScript (#89)
* Re-engineer UI in TypeScript
* Switch to named imports where possible
* Restructure file system layout
* Update depencencies
* Update README.md
* Change explicit colors for better support for dark theme
2020-02-09 10:21:13 +00:00
rjwats
ea6aa78d60
Fix issue under ESP32 where there is a delay re-configuring WiFi
When re-configuring we must wait for it to disconnect and stop before reconnecting.
2020-02-01 20:21:18 +00:00
rjwats
39a86b0411
External config
Allow config to be accessed from outside the framework core code.
2020-02-01 08:44:26 +00:00
rjwats
0ca9530afa
disable sorting of include blocks - it's breaking the ESP32 build. (#82)
(cherry picked from commit 9ef70b2ad49ff5a9a50ee7748c459bc9be6e2722)
2020-01-22 23:52:34 +00:00
rjwats
ced5b74ba1
NTP Timezone & Enable/Disable Setting (#80)
* quick and dirty WIP to investigate timezones, currently only building under esp8266 platform
much of the status stuff has been stripped for now, to test the concepts

* support set of common features across ESP32/ESP8266 WRT timezone and sntp
return dates as ISO format strings

* remove time library, and timelib fix which is no longer required

* fix the icons

* remove temporary changes to demo project
2020-01-20 11:14:46 +00:00
rjwats
59326c6426
provide OTA defaults (#77)
(cherry picked from commit 438b2585463e902b6e9710ae26c3aea4fe64928d)
2020-01-08 23:02:36 +00:00
rjwats
bcfeef8004
Interface data storage in PROGMEM (#71)
Adds a webpack plugin to package interface as PROGMEM into a header file in the framework.
Adds a build flag to optionally enable serving from PROGMEM or SPIFFS as required
Adds documentation changes to describe changes
2019-12-29 17:54:12 +00:00
rjwats
14f50c1e31
Fix broken build under ESP32
Fix broken imports & standardise import style
2019-12-26 15:12:27 +00:00