NewSoftSerial 10 is available for testing. There are a number of fun new features to play with, including support for 20MHz processors and Arduino siblings like the Teensy and Teensy++. I’ve also added a destructor (and an end()) so that you can employ temporary NewSoftSerial objects, for example:
if (need_to_check_GPS)
{
NewSoftSerial gpsconn(6, 3);
...
} [...]
The puzzle box continues to generate lots of interest. This week I encountered it in two different geocaching podcasts, a Serbian blog, and Daniel Soltis’ talk at Playful ‘09 in London. I’ve fielded calls from network TV channels, film producers, engineers, and machine shops all over the country. Everyone seems to want to bottle up [...]
The Puzzle Box story has a delightful second act.
It’s Saturday night, five weeks to the day since the wedding, and despite the recent firestorm of publicity, I still haven’t heard whether my friends have managed to open the Reverse Geocache Puzzle Box. It’s certainly possible they are playing it cool, waiting for just the right [...]
There is a cool new addition to the website today — a project I call the Reverse Geocache Puzzle (tm). It’s a box that won’t open until its owner figures out where on earth to move it. I built it for a friend who got married in France last month. The software for this project incorporates [...]
NewSoftSerial 9 is now available. This is a major new release that replaces all the performance path pin reads and writes with direct Port I/O.
What does that give you? Well, a couple of things. Most importantly, it makes NewSoftSerial more compatible with the latest Arduino release. Changes to timings of digitalRead and digitalWrite in Arduino [...]
Changes in the timing of digitalRead and digitalWrite on 0015 have degraded NewSoftSerial’s and AFSoftSerial’s performance on this platform. If you need software serial at higher baud rates, I recommend you stick with 0014 — at least until NewSoftSerial 9 comes out.
The good news is that version 9 has been optimized heavily and it [...]
Over the last couple of weeks I’ve spent a fair number of hours in front of the logic analyzer, and the result is NewSoftSerial version 8. The major delta in this release is support for 8MHz processors.
The half-speed clock makes accurate serial reception considerably more difficult, but NewSoftSerial 8 still manages to transmit with 100% [...]
Thanks to Paul V. and Ben Combee for their useful suggestions on how to support line endings (C++ “endl”) and internal format manipulators, respectively, we now have a bona fide Streaming library.
With it, you can now write code like this:
Serial << "A is " << lettera << "." << endl;
lcd << "The date is " [...]
I wrote a new library, Flash, which abstracts away most of the complexity of PROGMEM programming. It provides String, Array, and Table types that make ROM-based data collections as easy to use as “normal” types. Each overrides the C++ [] operator, so to get at individual elements, one simply uses familiar array syntax. For example, [...]
Thanks to a helpful suggestion by user DanP, I have increased the effective resolution of the latitude and longitude values returned in TinyGPS. The get_position method now returns values in units of 10-5 degrees, a 10-fold increase in resolution. Note that if you use use the old get_position, you will have to make some minor [...]
January 7, 2010
4