Wow, I was not aware that uart could handle that kind of speeds, I tried even 1Mbps and still works... that's cool :) On that point I have one question: I just installed the more recent tinyos-main and compiled the tools folder, but the java PrintfClient still doesn't support speeds over 230400bps (it gives me "TOSComm JNI library runtime error: baud_to_enum, bad baud rate"). However, if I go in tools/tinyos/jni/serial/NativeSerial_linux.cpp which seems to be the file that generates this error, greater speeds are enumerated. I removed tools/tinyos/java/tinyos.jar just to be sure it was taking all files from the compiled sources and not from jar, but it still continues to give me the same error... any hints? I managed to make the PrintfClient to work using the c version of serial forwarder and binding the java PrintfClient on it.
Ugo 2014-09-01 13:28 GMT+02:00 András Bíró <[email protected]>: > Hi Guys, > > Fastserial doesn't provide faster communication, it's just using much less > blocking (atomic) segments, so it doesn't mess up important interrupts. > This is very useful when you want to use it as a really fast basestation. > You can turn it on with the fastserial extra (e.g. "make iris fastserial"). > > You can also try to increase baudrate with the PLATFORM_BAUDRATE constant > in the makefile. I'm not sure about the telosb, but the ucmotes usually > works well with "CFLAGS+=-DPLATFORM_BAUDRATE=500000U", probably even better > than with 115200, because the RFA1's clock generator can generate round > numbers better than "traditional" badrates with the integral oscillator. > > I never really used the flash with serial dumping, but I used radio > downloading a lot (again, on ucmotes, but probably every stm25p based mote > is similar): Flash was always significantly slower than the radio, which > works at theoratical 250kb/s rate, but it has at least 10% overhead, > probably more. > > Your original problem was with printf: You don't know if it finished the > communication, or not. On top of that, I think printf does the numbers to > ascii conversion on mote. With AM, you eliminate the conversion overhead, > and you know you can send the next message when you received the sendDone > event. > > So, long story short: use AM, I don't think you'll need anything else. But > you probably want to add a sequence number or address to every package, so > you can check for data loss. If there is data loss, you'll also need some > kind of ack (probably AM's ack is trustable on serial as well, but I'm not > sure). Don't forget to turn off every other serial communication (e.g. > debug printfs). > > Using the UART directly can work, but it's a bad idea: You'll probably > need framing, escaping, CRC, and so on: You'll end up with a new serial > stack, which is very similar to the current. > > Oh and one more thing: The default maximum payload is 28 byte. This is > mostly because RAM: every message_t allocates 28B+overhead. On serial, the > overhead is around 10B, so basicly you have about 25% overhead, which is a > lot. You can increase it with the constant TOSH_DATA_LENGTH. I think the > physical maximum on radio is 114B (the maximum message length is 127B, but > you have headers and footers). It's unlimited on serial, but usually 100 or > 110 is a good value. > > Andras Biro > http://ucmote.com > > > > On Mon, Sep 1, 2014 at 11:39 AM, Ugo Maria Colesanti < > [email protected]> wrote: > >> I think you will manage to do everything with the standard serialAM >> stack, but just in case, have a look to tos/lib/fastserial which should be >> a more efficient serial interface than the standard one (i never used it). >> It should support both, ucmini and telosb. >> I think it can be re-wired to serialAM. You can also consider to write >> raw bytes directly on the uart without the serialAM stack ahead. >> Bye, >> >> >> Ugo >> >> >> 2014-09-01 11:24 GMT+02:00 Alessandro Sivieri < >> [email protected]>: >> >> >>> On Mon, Sep 1, 2014 at 11:08 AM, Ugo Maria Colesanti < >>> [email protected]> wrote: >>> >>>> How big is your flash? What hardware are you using? >>> >>> >>> I'm using the telosb and the ucmini, the former with 1MB flash and the >>> latter with 2MB. I think I will try the active message this week and see >>> how it goes. >>> >>> >>> >>> -- >>> Sivieri Alessandro >>> [email protected] >>> http://sivieri.wordpress.com/ >>> >> >> >> _______________________________________________ >> Tinyos-help mailing list >> [email protected] >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >> > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
