Stacktraces, SAM D20 and silly pranks

Ok, so it’s been another long posting period (fun fact: 70% of all online blog posts open with the obvious statement that the author is lazy about updates). Sue me.


Actually, I’ve been quite enjoying some semi-R&R at home, given that I can’t really take a mid-year trip home due to the astronomical costs and travel time. Since my last update I’ve been very, very busy at work (more on that later) which meant that my home time was my me-time.


So, last time I posted about the LUFA extension going up on the Atmel Gallery – what I didn’t mention was the small easter egg I happened to put into it. I love pulling non-destructive lighthearted pranks; as long as the person getting pranked can laugh too and no one gets hurt/nothing gets destroyed, I think it keeps life interesting. Well, certainly it was for this guy. Apparently at one of the largest Atmel Tech of Tour seminars in the US several attending engineers forgot to adjust their system clocks to the new timezone, causing it to trigger during the trainings, so overall I rate it a big success.

Speaking of which, I need to get a new version out soon. Not too many changes but more and more of the bug reports I’m seeing are from small issues already fixed in the Git repository, although since I’m enabling XMEGA project examples in the next release inside Atmel Studio I’ve got a little more bug-chasing to do beforehand.

Now, enough of that. On to other things. Hrm.


Ah yes, the Great Git Migration of 2013. Last year at work we all switched from developing ASF via Subversion, a torture I would wish upon no one, to working in Git. I’ve grown up with Subversion and witnessed it’s complete failure to merge anything in a useful manner (even on my one person, local machine setup) for years, but I confess I still resisted a little due to the fear of the unknown. The command syntax is a little crazy, but after a month of re-training we were all happy and actually branching/merging things without fighting with the tools all the time at work. It’s worth learning – and I love it now so damned much I migrated everything on my machine to new Git repositories and shoved up some of the more generally useful projects to my account on GitHub. Learn Git, you won’t regret it. The downside is that the LUFA SVN repository is now down as is the old legacy broken Git-SVN imported version, in favor of the new single canonical source code location. No real complaints from users in the last few months, so I guess no one really cared about it anyway.


Python! Python is great! I have a fatal personality flaw that I can’t stand making “Hello World” type applications in new languages and technologies, and always wait around for a real (if simple) problem to solve before diving in. Last week I started testing the waters with the PyUSB library (freaking fantastic) and it’s a damned joy to use. If you want to use the LUFA HID bootloader on Windows, I now have a much quicker solution to compiling the C application I modified from PJRC. Works on other platforms, too. Very sexy and intuitive language – I hope I find new projects for it soon.


A month or two ago, our work lifted the super-secretive veil on the project we’ve all been working full-steam on over the last few months in the NPI department, the SAM D20. Yes, there’s actually space in the family name – blame marketing. The previous internal names were even worse, but this one takes the cake for breaking all our scripts…but no matter. Our entire department was re-tasked mid-to-late last year to work exclusively on the software for it, and I’m damned proud we’ve managed to release on schedule with mostly working drivers (a few bugs not withstanding) and a readable datasheet so quickly. A big, big emphasis was placed on making usable documentation for the software, so I had to learn XSLT and Docbook, and come up with the Doxygen-to-Docbook-to-PDF transform toolchain that turns our source code into PDF documents like this. Cool technologies, but repeat after me Apache: A 300 LINE STACK TRACE IS NOT A GOOD ERROR MESSAGE. Darn you, Apache FOP.

Since the release of the SAM D20 we’ve been re-tasked (yay!) once again, this time into Application Solutions and high-tier customer support. It’s a little nerve-wracking to be the sole support contact for a “we are sending a barge to carry the amount of money we owe you for this deal” kind of customer, but it’s all worked out great and it’s taught me to think on my feet and anticipate problems before they evolve into questions a little better. Of course it’s easy to say it’s not so bad once it’s over and you receive all the kudos for it, but still. The last two weeks I’ve been developing a new reference design which has been fan-freaking-tastic, as it’s what I love to do and the code’s practically been writing itself. Using FreeRTOS with multiple concurrent tasks, queues and cross-thread synchronization, oh-my. Getting up and running with an RTOS was much easier than I expected it to be, and the tracing product here is an absolute magical god-send.


Ok, that’s enough for now, I can hear the snores. One last thing; I’ve decided to try this professional networking shtick everyone’s doing these days to talk to more engineers out in the field, so if you know me you can now find me on LinkedIn.


Comments: 1

Leave a reply »


regarding the space in the partnumber, we in marketing have to have our fun as well!

it could be worse, we could have named the family “rm-fr” or something similar 😉



Leave a Reply

(will not be published)


Vital Stats

  • 35 Years Old
  • Australian
  • Lover of embedded systems
  • Firmware engineer
  • Self-Proclaimed Geek

Latest Blog Posts