Tweet Follow @jack_ganssle

Go here to sign up for The Embedded Muse.

The Embedded Muse 198 Copyright 2010 TGG Sept 6, 2010

You may redistribute this newsletter for noncommercial purposes. For commercial use contact To subscribe or unsubscribe go to or drop Jack an email at

EDITOR: Jack Ganssle,


- Editor's Notes
- Quotes and Thoughts
- Tools and Tips
- Joke for the Week
- About The Embedded Muse

Editor's Notes

Are you happy with your bug rates? If not, what are you doing about it? Are you asked to do more with less? Deliver faster, with more features? What action are you taking to achieve those goals?

In fact it IS possible to accurately schedule a project, meet the deadline, and drastically reduce bugs. Learn how at my Better Firmware Faster class, presented at your facility. See .

Quotes and Thoughts

One test is worth a thousand opinions. - Author unknown

A Thought About Free Software

Though I'm a great admirer of free and open source software (and I use some on a daily basis), I also think that a wide availability of proprietary code is very healthy for the industry. I'm happy to pay for tools, whether they are physical things like drills and hammers, or ethereal bits and bytes, as long as the tools are of high quality and fit my needs.

Edwin Decoene posed an interesting question about using free software. To paraphrase his email, do you find that the general acceptance of FOSS means your boss is unwilling to spend money on any sort of proprietary tool? Is the boss's natural reaction to a purchase req to tell you to scour the `net for something that's equivalent and free?

More on Debouncing

Tom Evans sent in his preferred debouncing scheme:

This is a simplified version of the one in Muse 112, and it is hard coded for 3-count debounce, but there's only 3 lines of actual code in there so it is fast... and works equally well for 16 and 32-bit inputs ports.

tem198 code

Tools and Tips

Erik Christiansen responded to a comment that a lot of IDEs won't do syntax highlighting when using a typedef like uint8_t: "One editor which highlights uint8_t, as well as the other stuff, right out of the box, is vim. Just type this in vim:

:so $VIMRUNTIME/syntax/c.vim

"(Or put it into your ~/.vimrc) to switch on 'C' highlighting.

:help syntax

"shows the help info, referring to C, perl, etc. If the highlighting needs to be customised, just hack the syntax file ... with vim.

"Since I habitually flick from code to makefile to linker script, I'd need to enable vim's automatic syntax selection, though. Mind you, I find that I can't read a thing once there's four or five colours scattered all about. My eyes will only read one colour at the time.

"Perhaps that's because we didn't have colour for the first half of my three decades at this game."

Renan Greinert also had some thoughts on this: "It is also possible to highlight those types in Visual Studio (even Express editions). I've tested it on 2005, 2008 and 2010 versions.

"You just have to create a file called "usertype.dat" and save it in the "Commom7/IDE" folder of the Visual Studio instalation. The content of this file are the types you want to highlight, each one in each line.

"For example, here I use:

//content of usertype.dat

Jim Donelson gives another vote for CamStudio: "I have been using CamStudio ( to record screen and sound and it has worked very well for me. I can't compare to Camtasia, but since it is free perhaps Bruce would."

So did Roger Ball: "I'll second Bruce Wedding's recommendation of Camtasia from ToolSmith. I used it to create a set of user tutorials on one of our new products a couple of years ago. It was easy to use for making synchronized voice with screen-capture movies to really show & explain how to use our product. My thumb is way up on Camtasia.

Ray Keefe makes this suggestion: "Another excellent Windows file searching tool is Agent Ransack which has a free lite version that permits commercial use. It also has an even more comprehensive version for only $39.95. "

John votes for RPN on the Mac: "MacOS comes with a very nice calculator that has RPN mode (including binary, octal, and hex).

"Ahh, good old HP calculators! Emphasis here on old -- the newer models were not designed for engineers. What engineer would have a "hex mode" forcing you to type three keystrokes to enter "A" to "F"? (My wife, not an engineer, still uses her 25-year-old HP LED-based RPN HP.)"

Terje Frostad also has some RPN information: "There's an alternative to the free42 RPN calculator mentioned in your last Embedded Muse (197). Its called Excalibur, with current version 2.00 and it is quite remarkable I think. I use it every day. Even though it looks similar to my good old trusted HP 15C, it can do a lot more than that. It is like a combination of all the classic HP RPN calculators like HP11C, HP12C, HP15C, and HP16C, and it can still do more, and its all for free. It can be found by googling excalibur + rpn. The first hit I got was this one:

"Also I see some very good classic HP RPN calculator apps available for iPhone/iPOD Touch on Apples app store. Some are even made by HP. There are also a lot of other useful apps available for electronic design there, but not so much for programming yet."

From Ernest Schloesser: "In your latest newsletter, snagit was mentioned. After having used snagit for many years, I now switched to 'greenshot':

"Capture a region of your screen, apply text and shapes, output to file, clipboard or printer. It does not record movies.

"It costs less (open source) but will do less also. But, as with many tools, 50% percent of the functionality is often enough. It also uses less resources."


Joke for the Week


About The Embedded Muse

The Embedded Muse is a newsletter sent via email by Jack Ganssle. Send complaints, comments, and contributions to me at

The Embedded Muse is supported by The Ganssle Group, whose mission is to help embedded folks get better products to market faster. We offer seminars at your site offering hard-hitting ideas - and action - you can take now to improve firmware quality and decrease development time. Contact us at for more information.