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
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
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
rljonesau
9d79c107c5
Fine tuning OLED presentation, adding mini font
2018-11-17 13:08:22 +11:00
rljonesau
5158630996
Advancing with OLED display...
2018-11-14 22:12:18 +11:00
rljonesau
1cdb019401
Added SPI OLED (SH1106) on HSPI port and DS18B20 on pin 5.
...
*** NEED TO COMMENT OUT SPIClass SPI in ESP32 library!!!!!! ***
Added new state for temperature reading and OLED updates
2018-11-13 22:02:14 +11:00
rljonesau
7d187b3393
Added WiFi options to BTCConfig.h
2018-11-08 05:23:40 +11:00
rljonesau
a7b6399c30
On/Off requests now repeat.
...
Using Minimal SPIFFS, can now fit internal Bluetooth code BUT internal Bluetooth and WiFi
bang radio heads - refusing to co-operate :-(
2018-11-07 21:31:00 +11:00
rljonesau
dc8e1940f2
Merged remote-tracking branch 'remotes/origin/ESP32HTTP'
...
Conflict resolved in
Arduino/BTCDieselHeater/BTCDieselHeater.ino
2018-11-07 19:56:47 +11:00
James
b3de89595d
Try again to upload BTCWebServer.cpp
2018-11-07 15:07:11 +11:00
rljonesau
2e9dfba3fc
added getTemperature_Actual. Include guard in debugport.h.
2018-11-07 06:41:14 +11:00
James
fc2182ee1d
Add very simple webserver code -
...
http://ipaddress/on to poweron
http://ipaddress/off to power off
2018-11-07 04:18:12 +11:00
rljonesau
668870580e
Added code to allow injection of test commands into unknown protocol values to see if some sort of
...
reaction could be found - none so far.
Added Blue LED flash on ESP32 when Rx'ing serial blue wire data.
Created a UtilClasses.h file for utility classes.
2018-11-06 20:43:54 +11:00
rljonesau
d57f74482f
RENAMED TO BTCDieselHeater.ino from SenderTrial2.ino - Using DebugPort in BTCWifi.cpp
2018-11-06 14:23:28 +11:00