Okay. Now I understand why you think it is supported….. As always, especially with Open Source, RTFS :-)
On Wed, Nov 13, 2013 at 3:58 AM, Alaios <[email protected]> wrote: > Hi from the text I found on the source code and shared before > > > Now, I am only giving the snippets . > > > generic_printf/* > ... > 3. Supports almost all the functionalities of GNU std printf routine. > (okay it does not say which exactly) > ... > */ > > also this file have there the #define float_support (which according to > the text above defines the float support) > ah. Now I see. and generic_printf.h is included by tos/lib/printf etc. So I don't understand why it isn't working. Although the float_support code in generic_printf.h is fairly ugly. looks like you will have to debug why it isn't working. maybe you could clean the code up while you are in there. > > > and then to the PrintfP.nc I have found the following > /** > * This is the PrintfP component. It provides the printf service for > printing > * data over the serial interface using the standard c-style printf > command. > doesn't say what it supports, just that one uses printf syntax. > > * Data printed using printf are buffered and only sent over the serial > line after > * the buffer is half full or an explicit call to printfflush() is made. > This > * buffer has a maximum size of 250 bytes at present. This component is > wired > * to a shadowed MainC component so that printf statements can be made > anywhere > * throughout your code, so long as you include the "printf.h" header file > in > * every file you wish to use it. Take a look at the printf tutorial > (lesson 15) > * for more details. > * > * The printf service is currently only available for msp430 based motes > * (i.e. telos, eyes) and atmega128x based motes (i.e. mica2, micaz, iris). > On the > * atmega platforms, avr-libc version 1.4 or above must be used. > > and as long it is talking about the c-style printf command without > mentiong what it does not support, I thought that float should be there. > I understand. > > Thanks for the answer :) > no problem. > > Regards > Alex > > > > > On Wednesday, November 13, 2013 12:44 PM, Eric Decker <[email protected]> > wrote: > > float is expensive and not implemented. > > I don't understand why you think it should already be there. > > > On Wed, Nov 13, 2013 at 3:41 AM, Alaios <[email protected]> wrote: > > Hi all > I am using occasionaly printf to serial port as this is a very nice way to > have some debug messages. > > One way I have noticed is printing floats. IT looks like that only > integeres are implemented and I had to write the code myself for floats. > I also had a look on the source code, so te get better understanding what > is supported or not in the tinyos. > > This is what I found, that looks like that the float support should be > there, already. > > I started by looking inside the > > > $TOSROOT/lib/printf > > what I found > > > > generic_printf/* has a bit of information: > > Written By: > Shrirang Khishti <[email protected]>. > > This is a smaller version of printf > Positive points about this function > 1. Reduces code size considerably ,very useful in embedded applications > 2. No malloc calls are used > 3. Supports almost all the functionalities of GNU std printf routine. > 4. If user dont want float_support in this customized printf > just undef macro float_support > */ > > > but my float_support looks defind on the file > > > and then to the PrintfP.nc I have found the following > /** > * This is the PrintfP component. It provides the printf service for > printing > * data over the serial interface using the standard c-style printf command. > * Data printed using printf are buffered and only sent over the serial > line after > * the buffer is half full or an explicit call to printfflush() is made. > This > * buffer has a maximum size of 250 bytes at present. This component is > wired > * to a shadowed MainC component so that printf statements can be made > anywhere > * throughout your code, so long as you include the "printf.h" header file > in > * every file you wish to use it. Take a look at the printf tutorial > (lesson 15) > * for more details. > * > * The printf service is currently only available for msp430 based motes > * (i.e. telos, eyes) and atmega128x based motes (i.e. mica2, micaz, iris). > On the > * atmega platforms, avr-libc version 1.4 or above must be used. > > which does not say anything for the float, and actually looks like that it > should work exactly the same.... > > Any ideas what might be wrong? I will share soon my code > > Regards > Alex > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > > > -- > Eric B. Decker > Senior (over 50 :-) Researcher > > > > -- Eric B. Decker Senior (over 50 :-) Researcher
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
