Serial.write( buf, len) isn't there.

I'm trying to use the Serial.write( buf, len ) call and I get the following error:

no matching function for call to "HardwareSerial::write( byte&, len )".

I'm using arduino version 0018.

I've looked in the code and I can't find the appropriate call. I see that it was added in verion 0016. Was it somehow taken out for 0018?

Is there something I can use instead?

Was there ever a "write (buf, len)" method in HardwareSerial?

[edit]Oops, no, it's in the Print class.[/edit]

Yes, according to the reference documents:


Serial.write(val) Serial.write(str) Serial.write(buf, len)

It's mentioned in the release documentation for version 0016 as well.

Can I write a string of straight hex using print?

Can you post your code? At 0017, this compiles OK

uint8_t buf [12];

void setup (){}

void loop ()
 Serial.write (buf, sizeof (buf)); 

This doesn't compile:

byte msg[8]; Serial.write( msg, 8 );

Your code didn't compile either.

It's the fact that I'm using the Sanguino.

I just tried compiling for other boards and it worked. I'm wondering why I can't find the function call in any of the code though. Any idea where it might be?

It's okay, just answered my own question. It actually uses the Print::write function and is tied to that in HardwareSerial.h

using Print::write; // pull in write(str) and write(buf, size) from Print

Thanks for your help!

"using Print::write"

With that in mind, is there a list of defined namespaces provided by the language?