User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
users:dagnall53:oled [2019/02/14 13:12]
users:dagnall53:oled [2019/05/20 19:00] (current)
Line 1: Line 1:
 +  * [[:​users:​Dagnall53:​Description|WiRocS Description]] ​
 +  * [[https://​​dagnall53/​WiRocS|Source Code]]
 +  * [[:​users:​Dagnall53:​OLED |Oled Display]] ​
 +      * [[users:​dagnall53:​RDTextAlign|RocDisplay Formatting / Syntax]]: ​
 +      * [[users:​dagnall53:​Using Schedules|Using Schedules]]:​
 +  * [[:​users:​Dagnall53:​Node_Setup|Node_Setup]] ​
 +  * [[:​users:​Dagnall53:​Hardware|Hardware]] ​
 +  * [[:​users:​Dagnall53:​Troubleshooting|Troubleshooting]] ​
 ====== OLED display ====== ====== OLED display ======
-The new WiRocS code has integrated OLED (I2C) capability that is partially ​compatible with the RocDisplay ​formattiing.\\ +The new WiRocS code has integrated OLED (I2C) capability that is largely ​compatible with the RocDisplay ​formatting.\\ 
-{{ :​users:​dagnall53:​img_2635.jpg?​400 |}}+{{:​users:​dagnall53:​img_2866.jpg?​300 |Example Schedule using Jan's test workspace for Haarlem}}{{ :​users:​dagnall53:​img_2906.jpg?​300|The OLED is not as straight in the frame as I would like}} 
 +To use the feature, a "​standard"​ 0.96" 128*64 (or 128*32) 4 pin I2C OLED display is connected to the WiRocS node.\\ 
 +When the node starts it scans its I2C bus(s) to see if any OLED displays are present (it expects Addresses 60d and/or 61d)\\ 
 +IF OLEDs are found, the code will display messages and clocks on the display(s).\\ 
 +If there are no OLEDS present, the I2C bus pins are released back so they can be used general purpose I/O use.\\ 
 +See [[users:​dagnall53:​rocdisplaytop#​roc_display_lite_hardware|Hardware description]] \\ 
 +{{:​users:​dagnall53:​img_2635.jpg?​300 |Note: The picture shows the OLED connected to the Secondary bus, using D1 and D2}} 
 +On the ESP8266 version, I prefer to use the board with the NodeMCU Motor Shield, as it provides easy pin locations for the servos. ​ The "​primary"​ I2C bus uses uses D3 and D4, which (when the board is on the Motor shield) are the 'Motor direction'​ pins. Pins D1 and D2 are used for the "​Secondary"​ I2C bus, and remain connected to the 'Motor PWM' pins. This means that if any the "​primary"​ I2C bus is used, the Motor Shield outputs can still be used as dimmable filament light drives (because the "​direction"​ (being changed all the time as these pins are the OLED data)  does not matter to a filament light!). ​  
 +The ESP32 version uses extra pins for the Main I2C bus so none are "​lost"​ if only one I2C bus is needed.\\ 
 +{{:​users:​dagnall53:​img_2731.jpg?​300 |}}When no Roc-Display Messages are sent to the displays, they default to show the Rocrail Power Status, RocRail Time, and WiFi Signal Strength.\\ 
 +==== Information messages and RocDisplay Compatibility ==== 
 +{{:​users:​dagnall53:​img_2697.jpg?​200 |}}The OLED will display messages to show how the node is progressing during boot. 
 +This can be helpful in diagnosing any issues. 
 +The code includes a simplified text parser that can accept RocDisplay messages and display them as a station announcements.  
 +A separate page [[users:​dagnall53:​rocdisplaytop|Roc Display Compatible Hardware]] documents how the parsing in this "Lite version"​ of the protocol works and goes into more detail about the displays. 
 +Please also read [[users:​dagnall53:​Suitable OLED Hardware|Selecting OLED Types]] 
-When the node starts they scan the I2C bus to see if any OLED displays are present (Addresses 60 and 61) . +====Automatic Display from Schedules==== ​ 
-IF the OLED is seen, the code then initiates the OLED and uses it to display status messages, RocRail Time, WiFi signal strengthand Rocrail power status.\\+{{:​users:​dagnall53:​oled_schedule_test.jpg?200 |}} 
 +See  [[users:​dagnall53:​Using Schedules|users:​dagnall53:​Using Schedules]])
-===== RocDisplay ===== 
-The code includes a very simplified text parser that can accept RocDisplay messages and display them as a station announcements. The above example uses one of Peter'​s RocDisplay test codes. ​ 
-The Parser cannot do flashing messages or bitmaps, but the effect is reasonably good.  
users/dagnall53/oled.1550146367.txt.gz · Last modified: 2019/02/14 13:12 by dagnall53