Have been working on the software to retrieve the TV listing and here is where I am at.
- Reworked an existing Stax Parser to run with a fairly small memory foot print. Will need this to handle the XML SOAP response. I have sample SOAP responses from Schedules Direct that are huge (>500k), and that was for only a 2 hour period. I am really impressed with the amount of detail returned for the TV listing such as Rating, close Captioned, the obvious start time and duration. Some even more interesting are the original air date and even the actors names. Most of the information I do not need, so a Stax parser makes sense.
- Stored the station data in EEPROM to save memory and allow the enable/disable of the station. The user does not want to disable a TV station and then lose that setting during a device power cycle.
- The ESP8266 memory allocation overhead is very large so I had to create my own memory managed “string buffer”. This is based on simple RLE (Run Length Encoding) where the first byte of the string contains its length. the See my other posting for details on memory allocation overheads.
- Now have the TV program data stored in memory ready for display. Problem now is the amount of memory the display double buffer (8k) takes up which causes my ESP to reset….out of memory is my assumption. If you do the math 256 x 64 /2 is the number of bytes for the buffer (8K). I am going to work on the ESP8266_SSD1322 driver to allow me to define the number of bits per pixel to be defined up to a max of 4. If I go with 1 bit per pixel I can get the buffer down to 2 k (256 x 64 / 8), but of course I lose my 16 shades.
- Need to go back to the hardware and add a couple of tactile buttons for navigation of menus.
- Also going to start working on the display and start to get some TV shows scrolling. Have not completely though out the best way to show the TV shows on the display, but will detail my thought on another post.