Commit graph

293 commits

Author SHA1 Message Date
rljonesau
0765882256 Can launch SoftAP with web server from boot with no WiFiManager credentials.
Now to set some NV flags to control the boot to either web server or WifiManager with no creds.
2019-01-14 07:16:45 +11:00
rljonesau
4d780ed3a1 Have portal working from boot, reboot after setting up WiFiManager to connect to new network 2019-01-14 06:59:32 +11:00
rljonesau
bbb225e3b7 Can finally get WifiManager configportal up using the pushbutton, but only if no credentials 2019-01-13 08:32:13 +11:00
rljonesau
59d24d96b9 Simplified timer NV store load/save 2019-01-12 12:57:32 +11:00
rljonesau
713724eaab restored comment on line in BTCWifi.cpp 2019-01-12 12:21:29 +11:00
rljonesau
74daefe644 Added validatedLoad for checking and correcting values read by Preferences at time of read. 2019-01-12 12:19:55 +11:00
rljonesau
28cd89ad5e Changed NV storage to use Preferences with discreet entries - no more conflation across branches :-) 2019-01-12 10:33:45 +11:00
James
86f1c2df4c Added /wmconfig and /resetwifi uri's 2019-01-11 21:37:59 +11:00
rljonesau
e8a110a308 Fixed wm access from BTCWebServer.cpp for James 2019-01-11 19:50:27 +11:00
James
8005636f30 Added /reset and /wmconfig pages to reset wifi settings and start config portal on request 2019-01-11 19:28:22 +11:00
rljonesau
a8f654e991 Core panic in core 1 after merge. fixed by removing ISR blockade about dallas read temp code. 2019-01-11 17:13:22 +11:00
rljonesau
6a3e57ca11 Merge remote-tracking branch 'remotes/origin/JCWebColorChangeBar'
Resolved Conflicts in :
	Arduino/BTCDieselHeater/BTCDieselHeater.ino
	Arduino/BTCDieselHeater/src/WiFi/mainpage.cpp
2019-01-11 16:58:32 +11:00
rljonesau
b40f9d3538 Improved DS18B20 handling (not connected), Fan Sensor & Operating voltage added to JSON.
Wireless AP no go on new green board....
2019-01-11 16:40:25 +11:00
Jimmy C
8786263734 Moved tempsensor.begin to top - Added code to scan for DS18B20 sensor
Corrected wifi ap mode gateway address - Now 192.168.100.1
2019-01-11 00:10:05 +11:00
rljonesau
74107d93d0 Added support for (horrid) 0.96" OLED via BTCConfig.h - BEST USE 1.3" SH1106 DISPLAYS
HC-05 bug fix for bare modules - not happy with empty AT lines being sent ERROR:(0) returns!
Had UART pins for HC-05 reversed on green board.
2019-01-10 16:01:52 +11:00
rljonesau
9007f0856b commented out NVstore.getDimTime() until can properly define in menus. Tends to head toward 0 when trying other branches - defeating the dim function! 2018-12-23 22:15:36 +11:00
Jimmy C
d378d902ac Added date picker and time setup input boxes
Added two start and stop timers - No code attached - Simply UI at this stage
2018-12-23 02:27:17 +11:00
rljonesau
e5db792179 OLED Display dims after 1 minute of no keyboard action. Keypress restores brightness for another minute.
Allows for user defined interval, if zero display will not dim (user adjustment to be implemented)
2018-12-22 21:32:13 +11:00
rljonesau
54fa331d23 No longer insert smart errors into received data frames. With JSON we can just build an error. 2018-12-22 17:34:10 +11:00
Jimmy C
5d2f42acba Added input boxes 2018-12-22 16:48:43 +11:00
rljonesau
e6ea53496f Fixed raw blue wire data reporting, now shows true raw data received (and sent by us)
Added state machine reporting toggle to debug menu
New state machine diagram
2018-12-22 08:48:39 +11:00
rljonesau
18ce10e202 BUG FIX: OLED was showing E-07 faults when there should not have been 2018-12-21 21:58:39 +11:00
rljonesau
e315a06747 merged to master from James's coloured title bar - BUG fix of OLED error reporting 2018-12-21 17:27:25 +11:00
rljonesau
b99623108b got colour changing title bar working 2018-12-21 15:57:19 +11:00
rljonesau
03500a2919 Merge remote-tracking branch 'remotes/origin/master' into JCWebColorChangeBar 2018-12-21 15:29:56 +11:00
rljonesau
f395fc9d27 deleted commented out junk 2018-12-21 14:27:03 +11:00
James C (SkinnyBuddah)
60392e733e Update Arduino/BTCDieselHeater/src/WiFi/mainpage.cpp 2018-12-21 03:24:29 +00:00
rljonesau
7bb0ffd022 Tidied up E-07 reporting, new AI app 2018-12-21 12:27:03 +11:00
rljonesau
887c19c50a Forces E-07 in JSON ErrorState and ErrorStateStr messages now when no heater data detected upon blue wire
V9 protocol document - ALTITUDE decoded!
2018-12-21 09:22:29 +11:00
rljonesau
4d0ae22961 Rename state machine "report" states to "validate" - better match in JSON world
State machine diagram updated to suit latest design with extra temperature read state
2018-12-20 20:59:53 +11:00
rljonesau
5db72af511 Added suppression of blue wire recycling warnings for when not connected to blue wire <W> toggles 2018-12-20 18:33:44 +11:00
rljonesau
27d55f7c90 OLED now reports and resists illegal changes when an OEM controller is active 2018-12-20 17:29:00 +11:00
rljonesau
7eda32b9e7 Omitted new file: UtilClasses.cpp 2018-12-20 15:49:33 +11:00
rljonesau
5268d0704c Tidy up of state machine in JSON world
Hit <SPC> to get debug console menu
Toggle reporting of CHeaterPackage to debug console - using <B> on debug console
Toggle reporting of JSON to debug console - using <J> on debug console
Only allow temperature and heating mode changes when not using an OEM controller
2018-12-20 15:19:59 +11:00
rljonesau
f2732ba1ac BUG FIX: was not detecting OEM controller! Added Bluewire activity to JSON reporting 2018-12-20 06:13:28 +11:00
rljonesau
dbde3c9065 Refactor JSON moderation to a single moderator for all possible clients, BT or WiFi.
Any change in client connection status will force a refresh to all possible clients.
2018-12-19 23:07:51 +11:00
rljonesau
a90571ae5b Merge branch 'SubDirectories' 2018-12-19 19:40:04 +11:00
rljonesau
403c182724 Comprehensive stuff up - editing a test branch - incorporated changes back into proper repo 2018-12-19 19:39:07 +11:00
rljonesau
4fc2e1898d Added dummy favicon to web page 2018-12-19 18:45:50 +11:00
rljonesau
620425e978 left out fonts! 2018-12-16 18:39:23 +11:00
rljonesau
3b52e93482 WHOOPSY - left out .ino file! 2018-12-16 18:38:34 +11:00
rljonesau
529ac5d8e0 Pushed and shoved and edited and finally there - structured file directories 2018-12-16 18:34:39 +11:00
rljonesau
b07b7db8db Starting to move files about, fonts first 2018-12-16 14:55:12 +11:00
rljonesau
e000927d88 added missing licence headers 2018-12-16 14:27:08 +11:00
rljonesau
4019e42925 Error reporting and runstate annotations away from standby and run. JC's nasty throbber included. 2018-12-16 13:45:13 +11:00
rljonesau
49bd71c569 Added JSON ErrorString - reports to web page OK 2018-12-16 11:06:36 +11:00
rljonesau
3ed4335db0 BUG FIX: variable name JSON for slider controls. Supports Fixed Hz now 2018-12-16 09:07:31 +11:00
rljonesau
4a3a28540b Fixed bug with slider sending wrong ID in web page. Honours fixed/thermostat mode from heater info. 2018-12-16 01:09:10 +11:00
rljonesau
ff6715e018 New moderator applied to BTCwebserver. Bug fixes in mainpage.cpp - wrong InnerHTML for desired temp! 2018-12-15 23:21:55 +11:00
rljonesau
db62e38274 Merge remote-tracking branch 'remotes/origin/TelnetSpyRevisited'
Resolved Conflicts:
	Arduino/BTCDieselHeater/BTCWebServer.cpp
	Arduino/BTCDieselHeater/BTCota.cpp
2018-12-15 22:33:33 +11:00
rljonesau
6a307eeb81 changed timeout of state machine to fall thru temperature read state 2018-12-15 22:15:30 +11:00
Jimmy C
b7b15e8532 Added reusable slider function - Now send the JSON keyname to update
Added AdvSettings finally
Added 'r' to telnetspy to allow for restarting of esp via telnet
2018-12-15 21:50:02 +11:00
rljonesau
97b2c849e2 Fully migrated to JSON comms over Bluetooth. New .aia file for App Inventor included.
All JSON commands now accepted by ESP.
Output JSON from ESP is moderated.
2018-12-15 20:34:58 +11:00
Jimmy C
89a52403ca Added current date and current time - Working on date picker for setting the current date 2018-12-15 15:57:00 +11:00
Jimmy C
f2fc37d7b7 added date picker to mainpage 2018-12-15 15:40:39 +11:00
James
44d3a40dd2 Added console.log lines for debug - commiting to share on all machines 2018-12-15 13:19:31 +11:00
James Clark
fe36e3d884 Added more time testing javascript to get browser localtime and use that to update the RTC 2018-12-15 01:16:51 +11:00
James
f4d8bc8cd8 Added initial settings layout idea 2018-12-15 00:31:02 +11:00
rljonesau
a168cea5d2 templated moderator. added JSON formatting module 2018-12-13 23:19:10 +11:00
rljonesau
77dbb4de82 Improved telnetspy interaction with OTA. Does graceful telnet close after upload. 2018-12-13 19:42:35 +11:00
rljonesau
eb64b1a775 Reverted to standard Adafruit SH1106 library (for ESP32) 2018-12-12 21:37:02 +11:00
rljonesau
e576ec4849 TelnetSpy added for debug log via telnet (port 23) as well as Serial (USB) 2018-12-12 20:47:20 +11:00
rljonesau
ae51dd2271 Tidied BTCwebserver by moving CModerator class into a module 2018-12-12 20:03:44 +11:00
rljonesau
838fb98151 implemented web server send moderator using std::map 2018-12-12 06:42:52 +11:00
rljonesau
4fc80e6b9c FFS - screwed up animation of Wifi Tx - fixed 2018-12-11 22:37:18 +11:00
rljonesau
b7cbf50db3 proper check if we should even bother to send fresh web data from ESP32 2018-12-11 22:31:58 +11:00
rljonesau
c5b5165ba5 Moderated delivery of web page JSON to only send changes.
Need to develop better method of delta checking, but works for now.
2018-12-11 22:25:32 +11:00
rljonesau
4259cbe22b stupid error - left a test variable usage behind in cleanup 2018-12-11 22:02:20 +11:00
rljonesau
0393c38831 javascript JSON interpret now only acts upon actual proper name/value pairs received 2018-12-11 21:59:29 +11:00
rljonesau
4395b17ba5 Merge branch 'JC_JSON' 2018-12-11 21:24:35 +11:00
rljonesau
dee79ecebc Converted to JSON commands back to EPS32 2018-12-11 21:19:02 +11:00
rljonesau
10c33c3515 broke outgoing arrow flag in BTWebServer - fixed 2018-12-10 22:10:49 +11:00
rljonesau
2c136eb34c Ray fiddles to get temp slider to talk to heater, and show desired temp value. 2018-12-10 21:26:29 +11:00
James C (SkinnyBuddah)
ff3fcc89f4 Update Arduino/BTCDieselHeater/mainpage.cpp 2018-12-09 23:25:54 +00:00
James C (SkinnyBuddah)
e0a8f2ff9f Update Arduino/BTCDieselHeater/mainpage.cpp 2018-12-09 23:03:52 +00:00
James C (SkinnyBuddah)
dfb04d97d8 Removed commented code 2018-12-09 22:55:13 +00:00
James C (SkinnyBuddah)
30a954f123 Update Arduino/BTCDieselHeater/mainpage.cpp 2018-12-09 22:53:39 +00:00
rljonesau
f0d7d669ff fixed runstate JSON in javascript 2018-12-10 06:30:36 +11:00
rljonesau
43d35493c0 First play with ArduinoJson library and javascript JSON.parse() - too fucking easy! 2018-12-10 06:28:02 +11:00
James
f4a52afd42 fixed parsing data into the webpage - need to get data coming out in the same format.
TRY THIS ONE RAY
2018-12-10 00:38:59 +11:00
rljonesau
1c9727b675 Merge branch 'JCWebPretty' of gitlab.com:mrjones.id.au/bluetoothheater into JCWebPretty
Conflicts resolved:
Arduino/BTCDieselHeater/mainpage.cpp
2018-12-09 20:19:51 +11:00
rljonesau
40305d6224 Fixed Console vs console, commented out new event code 2018-12-09 20:06:04 +11:00
James
374d299cf1 Fixed evt to Event ... FML 2018-12-09 17:24:18 +11:00
James
e24caea95d fixed again 2018-12-09 17:21:04 +11:00
James
528b2b1fd3 missed } 2018-12-09 17:18:04 +11:00
James
ba5bd51b14 Fixed small issue of not terminating init() function correctly 2018-12-09 17:15:27 +11:00
James
2bc415b2af Fixed on off toggle switch so it works 2018-12-09 17:09:50 +11:00
James
1d98716dd4 next 2018-12-09 15:41:44 +11:00
James
b2db3dddad Hell yes its pretty.... doesn't do anything more than when Ray last updated the code - But I think i've nailed the design for now. 2018-12-09 15:07:18 +11:00
rljonesau
f40f750c49 Extended range of actual temperature bar graph in screen 1 2018-12-09 14:00:40 +11:00
rljonesau
85ff28d347 Support for DS3231, DS1307, PCF8523 or millis() based RTCs - Use BTCConfig.h to select 2018-12-09 12:10:56 +11:00
rljonesau
55c33af996 added missing files! Dumbkoppf 2018-12-09 09:55:55 +11:00
rljonesau
90569c319c Encapsulated RTC and timer functionality inside CClock class. 2018-12-09 09:51:16 +11:00
rljonesau
2a7e3fce1b Added large clock screen 2018-12-08 23:25:53 +11:00
rljonesau
069633c61f Added isConnected() to ESP32 Bluetooth classes (enables polymorphism from CBluetoothAbstract)
key repeat added to time setting screen
2018-12-08 20:31:15 +11:00
rljonesau
0f397e93f8 Slowed DS3231 I2C accesses to 400kHz 2018-12-08 16:44:48 +11:00
rljonesau
fbe39980ce Bug fixes: timer that spans midnight, stale info in timer setup screens 2018-12-08 15:18:37 +11:00
rljonesau
ec1631b84b Now can define day timer operates on 2018-12-08 12:39:41 +11:00
rljonesau
283eff4288 Timers now start/stop as required, and self clear if non-repeating.
Adding notion of Day of Week timers.
2018-12-08 09:30:55 +11:00
rljonesau
e51b2be8d1 dual timers, header icons for timers 2018-12-07 22:16:04 +11:00
Ray Jones
31f825ba5b vectorising CScreenManager Screens 2018-12-07 15:53:08 +11:00
Ray Jones
157bf4fa0f Adding Screen 7 for setting timer 2018-12-07 15:18:24 +11:00
rljonesau
00e68f3cc3 Removed SPI OLED support 2018-12-07 06:53:45 +11:00
rljonesau
3c8f0cff25 Added DS3231 support, and new screen to set the time/date 2018-12-07 06:47:36 +11:00
rljonesau
e2a1a8cf6e keypad pins adjusted to suit final PCB pinout 2018-12-05 21:48:31 +11:00
rljonesau
dafe2efecf Added missing arial and tahoma fonts 2018-12-02 17:31:26 +11:00
rljonesau
859419639d Bug fix in Dot factory bitmaps when > 255 bytes in array.
Added Access Point determination for OLED reporting of mode/IP address, now auto shows AP on icon
Fixed latency issue when switching thermo/fixed mode in Screen3
2018-12-02 17:30:40 +11:00
rljonesau
bbede54cdc Final neat and tidy WiFi traffic animation code 2018-12-02 06:14:34 +11:00
rljonesau
d947a4708c simultaneous wifi traffic animation 2018-12-02 05:51:53 +11:00
rljonesau
e2b207625e Improved WiFi traffic animation 2018-12-02 05:25:10 +11:00
rljonesau
27d7c70068 Split CScreen base class out for fundamental screen functions
Added CScreenHeader for standard header items, then all other screens inherit from there.
Removed "get" helpers, now use getHeaterInfo() "CProtocolPackage"
2018-12-01 11:36:25 +11:00
rljonesau
891fa9f5c3 all menu items now use _drawMenuText, fully functioning with border when required 2018-12-01 00:33:49 +11:00
rljonesau
a784943349 Immensely tidied Screen3's handling of fixed/thermo mode by adding _printInverted to CScreen 2018-11-30 07:09:46 +11:00
rljonesau
abc8f63590 Added drawMenuText methods to considerably tidy up screen update code
Created an automatically resetting, transient font usage class.
2018-11-29 22:11:50 +11:00
rljonesau
0b4fe001fa Added _drawMenuText variants, tidied up Screen5 so far 2018-11-29 06:32:26 +11:00
rljonesau
388aef2c48 Screen5 completed - can set and save fuel settings OK.
Also enhanced pump setters/getters to use float.
Added selection box methods to CScreen
2018-11-28 22:15:23 +11:00
rljonesau
fac5c8d1ae Further work on Screen5 - Fuel/Air settings menu 2018-11-28 06:40:01 +11:00
rljonesau
36a0755005 Have presentation of Fuel settings screen settled, need to allow adjustments 2018-11-27 21:44:47 +11:00
rljonesau
885573a4dc Rolled custom changes out of Adafruit_SH1106.cpp (other than 1 bug fix)
Splash screen now a bitmap drawn from display.cpp before initial _pDisplay->display()
Added BSDlicense.txt as we are including Adafruit library code in project
2018-11-27 06:25:51 +11:00
rljonesau
66c8407382 Gone crazy with license text headers 2018-11-26 22:58:15 +11:00
rljonesau
ab539f0569 Merged remote-tracking branch 'remotes/origin/RLJ_WebSockets_I2C_OLED' 2018-11-26 21:45:28 +11:00
rljonesau
5bcddf1a24 Merged with code changes from RLJ_WebServer_I2C_OLED to obtain I2C OLED An javascript web server 2018-11-26 21:26:38 +11:00
rljonesau
b5e57de2f2 Modified web server javascript to use bluetooth commands.
I2C OLED changes added
2018-11-26 20:05:05 +11:00
rljonesau
b77bbb127e Revamped screens to now be based upon CScreen class, along with a CScreenManager class. 2018-11-25 15:45:17 +11:00
James
269da353de Merge branch 'NewPinout' of gitlab.com:mrjones.id.au/bluetoothheater into ESP32WebSockets
# Conflicts:
#	Arduino/BTCDieselHeater/.vscode/arduino.json
2018-11-25 13:39:30 +11:00
James
f77c24e21b Merge branch 'ESP32WebSockets' of gitlab.com:mrjones.id.au/bluetoothheater into ESP32WebSockets 2018-11-25 13:29:10 +11:00
James
35217d9924 WebSocket Just Needs Background Code 2018-11-25 13:27:29 +11:00
James
603bb2eb14 Added WebScoket sessions
Have added a place holder for temp data
Slider now working
Off Off slide switch should work.

Not a full test code rollout
2018-11-25 13:26:47 +11:00
James
297757c4a7 Cleaned up code files 2018-11-25 13:26:46 +11:00
James
8a7d29d2f6 * Added 2 additional libraries
* Correct WifiManager Filename for auto unarchive
2018-11-25 13:24:58 +11:00
James
6320e08566 Removed unused Libraries. 2018-11-25 13:24:57 +11:00
James
f7b1e745bf First Test 2018-11-25 13:24:57 +11:00
James
337043f0af WebSocket Just Needs Background Code 2018-11-25 11:20:15 +11:00
James
e340ebb357 Added WebScoket sessions
Have added a place holder for temp data
Slider now working
Off Off slide switch should work.

Not a full test code rollout
2018-11-25 04:04:37 +11:00
rljonesau
346056f982 Now host 4 OLED screens, includes helper functions for fundamental inspection/operations 2018-11-24 22:03:47 +11:00
James
5b5a57d1c7 Cleaned up code files 2018-11-24 21:00:15 +11:00
James
99b8d12047 * Added 2 additional libraries
* Correct WifiManager Filename for auto unarchive
2018-11-24 20:58:15 +11:00
James
aa736d69ef Removed unused Libraries. 2018-11-24 20:57:40 +11:00
rljonesau
03e7d6b89f Screen2 (simple display) pretty much done 2018-11-24 11:51:09 +11:00
rljonesau
efe8afeff3 Added Screen2 - simple presentation with ability to toggle thermostat and change set point (keypad) 2018-11-23 21:34:37 +11:00
rljonesau
fc23538ceb Introducing concept of multiple screens, with individual key handling via callbacks 2018-11-22 21:30:51 +11:00
rljonesau
9826399835 created CKeyPad class, added key event callback functionality 2018-11-22 06:40:31 +11:00
rljonesau
100aa4e493 removed test code from keypad handling 2018-11-22 05:46:02 +11:00
rljonesau
831f2ab516 Added 5 way keypad sensing 2018-11-21 20:53:12 +11:00
James
bdde5e26b1 First Test 2018-11-21 10:50:59 +11:00
rljonesau
63800ec900 removed old pin definitions 2018-11-21 06:43:47 +11:00
rljonesau
4f9a077bd7 Added large and mini fonts, using derived class to print The Dot Factory style font definitions 2018-11-20 22:01:27 +11:00
rljonesau
4924eac137 New pin allocations, updated OLED presentation 2018-11-20 06:31:20 +11:00
rljonesau
50abc1b890 Initialise filtered temperature upon initial pass.
Added WiFi icon
2018-11-18 10:45:15 +11:00
rljonesau
a36af395ea OLED working with small fonts, update @100ms
Now restart Serial1 if CRC errors or other issues with reception
2018-11-17 22:59:16 +11:00