So before I started writing this blog I already bought a bunch of hardware (switches, Arduino, perfboards etc.) just because I like new electronics goodies. One of the things that I’ve bought specifically for this project is a GPS module. A UBlox neo-6M to be exact (or maybe a ripoff, you never know with cheap Chinese stores). Why this one? Well mainly because it was easily available and could be shipped relatively quickly. Additionally it should just pump out serial data as soon as it’s powered so it can be directly connected to any device that can receive data. And indeed, as soon as I connected the device to a simple serial monitor it started writing NMEA sentences every second. Victory!
Though I have 2 problems at the moment:
1st the messages are empty at the moment (except for the sentence type at the beginning and the checksum at the end). This would indicate no GPS connection.
2nd I don’t have the module with me on holiday so I can’t work on it atm… balls… Initially i thought “lets not bring it with me on skiing holiday” but after 1 week of non-stop snow sports my muscles are aching and I am now kinda wishing for some non-physical activities (though I am kicking ass at Disney monopoly, travel edition, surprisingly way more fun than it sounds).
I’ve never really worked with specific coding guidelines. Most of my coding experience has been in Matlab while working on my own. While that is all fine and well, the end result often wasn’t very pretty òr when someone took a look at it they would say “why are your brackets all over the place?” or something in that order.
Luckily I’m not the only one with that problem, hence there are existing guidelines and style guides. Sometimes companies even have their own custom style guides. The idea of that is to minimize (often silly) errors and maximize readability.
One very prevalent (or at least in my work environment) used guideline is the Misra C guideline. While it was originally meant for the automotive industry (you don’t want your brakes to fail due to sloppy coding do you?) it can easily be used for other types of projects.
For this project I will try to comply to (most) of the Misra C coding guidelines. I was able to aquire the documentation for Misra C:2004 so that’s what I’ll be using. Maybe I’ll even write a summary of each and every rule (just as a learning tool for me, there are probably better summaries written by better programmers with a greater understanding of the rules). Or maybe emphasize on the rules that I seem to do wrong most often.
I need a gift. The gift receivers to be are avid geocachers. Checking for new cashes wherever they go. I have a little of experience with AVR’s and Arduinos but I’d like to expand my knowledge and put it to the test in a real-life project. Eventually I’d like to be able to use these newfound skills in my job as an R&D engineer (where most of the programming & electrical engineering stuff is outsourced). Hence my goal of this project is to improve my programming skills, work methodically and document everything and of course end up with a kickass gift.