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);
...
} [...]
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 [...]
Ladyada tested NewSoftSerial and made some improvements to the code, contributed a “goodnight moon” sketch, and tested the library (successfully) with the Atmega328p processor. Thanks, ladyada! Go buy a bunch of processors from her, please. They give you twice the RAM and nearly twice the flash space.
I posted the new library.
…goodnight moon. [...]
Check out the new PString library.
PString is a very lightweight string class that derives from Print, so you can use it to render text to string buffers the same way you would to the Serial port or to a LiquidCrystal device. Try it out. Feedback welcome.
Mikal
NewSoftSerial version 5 is available. A lot of people have been using this library — thanks! — but I really need to recognize the exceptional work of two contributors.
First of all, the diligent analysis of forum user etracer yielded the root cause of a tricky problem with NSS on OSX. An avr-gcc 4.3.0 bug causes [...]
January 7, 2010
4