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 should prove to be the best version ever — and run on both 0015 and 0014. Stay tuned!
Mikal
lbarberot
15 years ago
I try to use the newsoftserial library, but my serial input is: 1200 bauds, 7 datas bits, 1 parity bit, 1 stop bit.
i try to modify NewSoftSerial.cpp to:
…
// Read each of the 7 bits
for (i=0; i<7; i++)
…
// skip the parity bit
tunedDelay(_rx_delay_stopbit);
// skip the stop bit
tunedDelay(_rx_delay_stopbit);
this solution don’t work ! is this correct ?
What’s wrong ?
Thanks…
(sorry for my poor english …)
Mikal
15 years ago
Hmm… I never have tried that, but I would have guessed that that would work. Have you chosen the correct board from the “Tools/boards” menu?
Mikal
Benedetta
15 years ago
Hey Mikal. I looooove this library, please post version 9 as soon as you have it!!!! I can’t wait to use that on Arduino 15 instead of the regular Software Serial which i had to downgrade back to…
let us know! Looking forward to it,
Benny
Mikal
15 years ago
Thanks, Benny– it won’t be long now. :)
Mikal
Matheus
15 years ago
I’m sorry but I really do not understand if this library works with 4800 baudrate, if you could send me a e-mail answering I will be gratefully.
Thanks!
Mikal
15 years ago
Yup! :)
SAM
15 years ago
How can I activate and deactivate this “New Software Serial”?
I mean that I have a time sensitive task and I don’t want to stop it for 15 ms because there is an incoming string into software RX pin.
Any suggestion, please?
Jonathan
15 years ago
Hi Mikal,
Great library, I’ve used it in a couple of projects I’m working on :).
I’ve made a small change in version 9 where I’ve made the write method public so that I can send commands with a carriage return. I’ve posted a copy on my web site if you want to have a look. If there’s an easier (or better) way to accomplish this please let me know.
Jonathan
Mikal
15 years ago
Jonathan,
I assume you mean you want to send commands withOUT a carriage return? If you want to send a raw byte (with no CR), you can simply do it this way:
nss.print(b, BYTE);
I would prefer to keep the write() method private, because this is part of the internal implementation, and publicizing it (so to speak) doesn’t really gain you anything, does it?
Thanks for the kind words!
Mikal
Jonathan
15 years ago
Thanks for the tip, worked a treat :).
What I did notice though is the sketch using the Picaso library demo (available from my web site) was about 1300 bytes larger with the print method than it was with the public write method (there are a lot of different calls made to print/write in the library). Screenshots below:
http://www.thepotterproject.net/images/Write.gif
http://www.thepotterproject.net/images/Print.gif
Cheers,
Jonathan
Mikal
15 years ago
That’s because you don’t have to link in the Print library. Hmm… Perhaps there *is* some value to making write public. I’ll think about that. Meanwhile, thanks for sharing.
Mikal
Jonathan
15 years ago
No problems, happy to help.
sakthi
14 years ago
in which compiler Arduiniana NewSoftSerial.h> and tinyGPS.h is working.
idont knw … could you please send the details… i m worrkibg in pic ccs c,,
Mikal
14 years ago
sakthi — All the software published on this website is designed for the Arduino environment.
steve smith
13 years ago
Can NewSoftSerial change the parity and stop bits…? I need E,7,2 instead of N,8,1.
Thanks,
Steve
Mikal
13 years ago
@Steve,
Sorry, no. There’s no technical reason that it couldn’t be updated though.
Mikal