[Tinyos-help] Help printf (Release 2.0.2)
Kevin Klues
klueska at gmail.com
Mon Jun 8 10:51:44 PDT 2009
No wait, I see it, you need to "include interface SplitControl as
PrintfControl" not just PrintfControl as the interface. You also need
to change the semantics of the Packet.getPayload() command to conform
to the way it used to be in TinyOS 2.0.2. Its slightly different in
2.1
Kevin
On Mon, Jun 8, 2009 at 10:49 AM, Kevin Klues<klueska at gmail.com> wrote:
> Can you show me your makefile?
>
> Kevin
>
> On Tue, Jun 2, 2009 at 6:06 AM, Vincent Gay<vincengay at gmail.com> wrote:
>> Hi,
>>
>> I'm trying to use printf in the application 'RadioCountToLeds' running on
>> top of tinyOS-2.0.2. I have some problems with wiring interfaces of printf.
>>
>> I have modified RadioCountToLedsAppC.nc as follows:
>> configuration RadioCountToLedsAppC {}
>> implementation {
>> components MainC, RadioCountToLedsC as App, LedsC;
>> ...
>> components PrintfC;
>>
>> App.Boot -> MainC.Boot;
>> ...
>> App.PrintfControl -> PrintfC;
>> App.PrintfFlush -> PrintfC;
>> }
>>
>> I have also modified RadioCountToLedsC.nc as follows:
>> #include "printf.h"
>>
>>
>> module RadioCountToLedsC {
>> uses {
>> ...
>> interface PrintfFlush;
>> interface PrintfControl;
>> }
>> }
>> implementation {
>> event void Boot.booted() {
>> call PrintfControl.start();
>> call AMControl.start();
>> }
>>
>> ...
>>
>> event void PrintfControl.startDone(error_t err) {
>> // do nothing
>> }
>>
>> event void PrintfControl.stopDone(error_t err) {
>> // do nothing
>> }
>>
>> event void PrintfFlush.flushDone(error_t err) {
>> // do nothing
>> }
>>
>> event void MilliTimer.fired() {
>> counter++;
>> dbg("RadioCountToLedsC", "RadioCountToLedsC: timer fired, counter is
>> %hu.\n", counter);
>> printf("RadioCountToLedsC: timer fired, counter is %hu.\n", counter);
>> call PrintfFlush.flush();
>> }
>>
>> I have modified the Makefile to include $(TOSDIR)/tos/lib/printf/2_0_2 in
>> the CFLAGS.
>>
>> When compiling for micaz, I get the following errors:
>> mkdir -p build/micaz
>> compiling RadioCountToLedsAppC to a micaz binary
>> ncc -o build/micaz/main.exe -Os -finline-limit=100000 -Wall -Wshadow
>> -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb
>> -I/opt/tinyos-2.x/tos/lib/printf/2_0_2
>> -DIDENT_PROGRAM_NAME=\"RadioCountToLed\" -DIDENT_USER_ID=\"tai\"
>> -DIDENT_HOSTNAME=\"tai-desktop\" -DIDENT_USER_HASH=0xde281e84L
>> -DIDENT_UNIX_TIME=0x4a253f62L -DIDENT_UID_HASH=0x5473dbafL
>> -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())'
>> -fnesc-dump='referenced(interfacedefs, components)'
>> -fnesc-dumpfile=build/micaz/wiring-check.xml RadioCountToLedsAppC.nc -lm
>> In file included from RadioCountToLedsAppC.nc:48:
>> In component `RadioCountToLedsC':
>> RadioCountToLedsC.nc:57: interface PrintfControl not found
>> RadioCountToLedsC.nc: In function `Boot.booted':
>> RadioCountToLedsC.nc:67: interface has no command or event named `start'
>> RadioCountToLedsC.nc: At top level:
>> RadioCountToLedsC.nc:84: `startDone' is not in interface `PrintfControl'
>> RadioCountToLedsC.nc:88: `stopDone' is not in interface `PrintfControl'
>> In file included from /opt/tinyos-2.x/tos/lib/printf/2_0_2/PrintfC.nc:53,
>> from RadioCountToLedsAppC.nc:53:
>> In component `PrintfP':
>> /opt/tinyos-2.x/tos/lib/printf/2_0_2/PrintfP.nc: In function `sendNext':
>> /opt/tinyos-2.x/tos/lib/printf/2_0_2/PrintfP.nc:86: warning: passing
>> argument 2 of `Packet.getPayload' makes pointer from integer without a cast
>> In component `RadioCountToLedsAppC':
>> RadioCountToLedsAppC.nc: At top level:
>> RadioCountToLedsAppC.nc:64: cannot find `PrintfControl'
>> make: *** [exe0] Error 1
>>
>> I cannot find the tutorial modules (TestPrintf, etc.) for printf 2.0.2
>> release.
>>
>> Does anyone have an idea about what is wrong?
>>
>> Thanks,
>> Vincent
>>
>> _______________________________________________
>> Tinyos-help mailing list
>> Tinyos-help at millennium.berkeley.edu
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>>
>
>
>
> --
> ~Kevin
>
--
~Kevin
More information about the Tinyos-help
mailing list