Week #11 and #12 : LiquidCrystal, revisiting time and wiki update

Been a while since I posted what’s cooking with GSoC and userspace-arduino. College has been really catching up on me. The senior year project aka Bachelor’s thesis is taking up a lot of time (luckily that’s using BBB too).

Highlights of what I’ve been upto lately with userspace-arduino

  • Updated the wiki. Cleaned up the getting started wiki . Added a new support wiki to list the boards supported.
  • Support for LiquidCrystal. It doesn’t require any <avr/*> headers, so was fairly easy. It depends on the Print class which is a part of the core framework. I have a working a sample code here. I have to verify that this actually works yet. So that’s one thing this week.
  • millis and micros functions. They have been a pain really. Time is not really a very easy thing to do in Linux, especially if you want to something like millis and micros. Rough overview is that Linux has a lot of processes going on as opposed to a microcontroller. Hence to get a very high degree of accuracy is difficult.
  • The Stepper lib depends on the millis function. It has been included in our repo and it compiles with the dummy definition of millis, but it won’t be usable unless I have millis sorted out.
  • I have been reading about recipes, so as to help me with packaging the project that we have done.
    For example:

    opkg install userspace-arduino
    #Write your .ino file like you'd do for an Arduino
    # to compile
    userspace-arduino HelloWorld.ino
    # to run
    userspace-arduino run HelloWorld.ino

    Or something on similar lines. One other way is by using pkg-config, which is a helper tool to link to the appropriate libs. But I am not really sure if this is going to play well with the structure of the project in its current form. I am looking at how opencv does this because I use pkg-config when I am doing computer vision stuff with cpp.

It’s almost the end of Google Summer of Code now. It’s hardly a week more.
I have the following objectives for the next 10 days ( firm pencil’s down is on 23rd Sept)

  1. Finish SPI. That requires some tinkering with the dts.
  2. millis and micros function definition
  3. Wiki:
    • Have Fritzing images for all the sample codes along with a decent enough explanation where required
      This will take some effort as I have to do this for Stepper, SPI, LiquidCrystal as well as PWM and GPIOs.
    • Fine tune the getting started page
    • An up to date Libraries page
    • Populate the ToDo page with what’s remaining
  5. Do something about the pin_mux to make it more generic. This will mean that we have only one BeagleBone Black specific file. That’ll pave the way for more boards in the future (Pi, Minnowboard, xM, etc)

Cheers till then !


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s