Friday, October 11, 2013

All Quiet on the Western Front

Hopefully you all haven't begun to think I've forgotten the blog.  In fact, it's been a crazy couple of weeks (or months, I've lost track).

So what is going on with the CarHUD.  I'll tell you while the people who live diagonally from me are having a small domestic dispute.  Such fun for them at a 9:25pm.

While I was off on my whirl wind travel across the US and craziness at work, I have been thinking about the projector stuff and wondering why my Yocto build attempts kept failing.  The wondering caused more thinking and more thinking caused me to need a slight break and I had to throw down some Halo 4 action on Legendary to bring myself back to reality.

I've also been spending an excessive amount of time Chromecasting The Ben Heck Show from my GTab 2 to the TV.  I did get my daughter excited for the show, but not enough yet to sway her from being a Doctor/Nurse/Rescue Helicopter Pilot.  She's 5 so I have some time.

I won't bore you with the Yocto issues, but I was trying to run my normal build and the system was throwing an error because a file didn't have a license variable set.  Ultimately the file doesn't need a license file variable as it's actually a file that is used to create a build image.  I was testing an attempt at corralling all my changes to my build environment so it will be easy for you all to build this when I'm done.  Will have to work on that later.

On to the projector stuff since I did bore you with details about the Yocto issue.

I'm dead set on those 8x8 LED Matrices from AdaFruit, but they're out of stock and I didn't get any for my birthday like I kinda hoped I would.  But I did get some other parts (thanks to Element14) that were cheaper and would allow me to figure out some of the GPIO stuff on the Pi.  I got 3 momentary SPST switches that will control LED brightness (up/down) and one for LED Matrix mode (all LEDs on, Alternating On/Off, etc).  I also got the MicroSD card adapter and a 26pin extender to solder onto my peripheral component circuit board, and some 10k resistors.  This board will interface with all the other stuff LED Control buttons, the SparkFun OBD-II UART Circuit board (also didn't get), and the LED I2C devices with an 3.5VDC to 5VDC level shifter.

The level shifter is a new addition to the design because, in my research (you should always research) I found that a single 5VDC I2C device with the RPi is ok, but if you add additional devices, it could cause issues.  So, to alleviate those issues, I need to get one of these bad boys: https://www.adafruit.com/products/757.

I also disassembled my LCD monitor again, for good this time, as I forcefully removed the backing behind the screen itself.  I drew out how I need to build the housing for the LCD panel and control board.  The design will probably change or flat out not work, so I'm waiting on actually doing anything with it.  I would like to try and use the monitor without a backlight and throw my own light through it to see how well it works.

On the Software front, I've added some features to my pyelm327 code.  I also created a new repo for the CarHUD controlling code and that can be found here at pycarhud.  This is the first mention of this new repo.  Right now it has the CarHUD daemon server code and a test Client code.  pycarhud depents on code in pyelm327 so if you play around with it, you need both.  There isn't much (or any) documentation, but its Python and easy to read.  Depending on your OS, you may have to change serial devices in the code to make it work on your system.

I'm currently working on the initial write of the projector controller code (LED stuff).  This will require wiringpi2-python and python-smbus.  I haven't added this code to pycarhud yet, but it will eventually get there.

That's all for now, going to get back to coding.