RSS Parser Update 1

I'm still working on my RSS Parser. The actual parser has been done for a few days now but I have been adding different functions to the device.

I spent yesterday writing code to allow me to avoid the annoying habit of my 16x2 LCD ( HD44780 ) from Sparkfun Electronics. The PIC code doesn't include a check to see if the user actually wants text wrap, and I don't yet know how to (or if I even can) update the firmware on the thing. I'm not bashing Sparkfun. They are awesome and this LCD does what it is supposed to do. My only complaint is that features should almost always be optional.

Current Feature List

Hardware

  • Internet connection through ethernet (RJ45 Magjack)
  • Serial Enabled 16x2 LCD by Sparkfun Electronics( sku: LCD-09395 http://www.sparkfun.com/products/9395 )
  • mbed LPC1768 (I know, surprised aren't you?)
  • One button (wired to NR pin for external reset)
  • One quadrature encoder from Sparkfun Electronics ( sku: COM-09117 http://www.sparkfun.com/products/9117 )
  • All of this is jammed into a Sparkfun Inventors Kit box. Yes, I am using the box from an Arduino kit as my mbed project box. It just happened to be the right size.

Firmware

  • Connects to the internet. If connection times out, continues on in offline mode using cached data.
  • Uses LocalFileSystem for write and read.
  • If online it downloads the most current RSS file and closes the file after write. If offline it does not attempt.
  • Reads the currently stored RSS file and grabs the contents of all title tags that happen after the item tag.
  • Stores the selected stream (tweet) in a character array.
  • Closes the file.
  • Scrolls the contents of the array across the top line of the 16x2 LCD and displays the number of the stream and the total number of streams available on the bottom line of the LCD.
  • When encoder is clicked it displays the menu.
  • Rotating the encoder cycles through the menu options.
  • Clicking the encoder again executes code for the selected option (although right now all it does is display a text message).
  • If the menu is not open main() waits a few seconds and then scrolls the stream again.

Libraries

  • EthernetNetIF <<program users="" donatien="" programs="" EthernetNetIf="" latest="">>
  • HTTPClient <<program users="" donatien="" programs="" HTTPClient="" latest="" docs=""/>>
  • QEI <<library users="" aberk="" libraries="" QEI="" latest="">>
  • My own personal HD44780 library that I am still developing. It has not yet been published, but probably will soon.

Planned Features

  • Manual control of text scrolling through use of the encoder.
  • Fully functional menu.
  • Selectable streams (individual tweets). At the moment the selected tweet is hardcoded.
  • Selectable feeds (not just Twitter).
  • (maybe) Vertical scrolling.
  • (if I get bored) AI capable of building a robot army and enslaving humanity.


Please log in to post comments.