Hey,
I want to extract some parts of a configuration file, but I get some 
strange errors:
_____
original, works fine:
configuration SensorLeafAppC {
}
implementation {
     components MainC, LeafCommunicationP;
     components SensorNetworkC;

     components ActiveMessageC as Radio;
     components LeafInformationC;


     LeafCommunicationP.RadioControl->Radio;
     LeafCommunicationP.RadioSend->Radio;
     LeafCommunicationP.RadioReceive->Radio.Receive;
     LeafCommunicationP.RadioSnoop->Radio.Snoop;
     LeafCommunicationP.RadioPacket->Radio;
     LeafCommunicationP.RadioAMPacket->Radio;



     MainC.Boot<-LeafCommunicationP;
     LeafCommunicationP.BootB<-SensorNetworkC;
     LeafCommunicationP.PacketHandler->SensorNetworkC;
     SensorNetworkC.MoteInformation->LeafInformatonC;

}


_____________
splitted:

configuration SensorLeafAppC {
}
implementation {
     components MainC, LeafCommunicationC;
     components SensorNetworkC;

     components ActiveMessageC as Radio;
     components LeafInformationC;

     MainC.Boot<-LeafCommunicationC;
     LeafCommunicationC.BootB<-SensorNetworkC;
     LeafCommunicationC.PacketHandler->SensorNetworkC;
     SensorNetworkC.MoteInformation->LeafInformationC;

}
_____________
Extracted Part:
configuration LeafCommunicationC {
     provides {
         interface Boot as BootB;
     }
     uses {
         interface Boot;
         interface PacketHandler;
     }

}
implementation {
     components LeafCommunicationP as Communication;
     components ActiveMessageC as Radio;
     components LeafInformationC;


     Communication.RadioControl->Radio;
     Communication.RadioSend->Radio;
     Communication.RadioReceive->Radio.Receive;
     Communication.RadioSnoop->Radio.Snoop;
     Communication.RadioPacket->Radio;
     Communication.RadioAMPacket->Radio;

     Boot = Communication.Boot;
     BootB = Communication.BootB;
     PacketHandler = Communication.PacketHandler;

}
_________________________________

If I try to compile now, I get a strange error:

In file included from /home/markus/workspace/Sensor Project 
nesC/src/LeafCommunicationC.nc:9,
                  from /home/markus/workspace/Sensor Project 
nesC/src/SensorLeafAppC.nc:5:
In interface `PacketHandler':
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:2: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:2: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:2: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:4: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:4: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:4: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:4: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:6: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:6: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:6: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:6: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:8: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:8: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:8: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:8: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:10: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:10: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:10: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:10: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:14: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:14: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:14: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:14: 
syntax error before `*'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:16: only 
commands and events can be defined in interfaces
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:16: 
warning: return-type defaults to `int'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:16: 
redefinition of `message_t'
/home/markus/workspace/Sensor Project nesC/src/PacketHandler.nc:16: 
syntax error before `*'
In file included from /home/markus/workspace/Sensor Project 
nesC/src/LeafCommunicationC.nc:14,
                  from /home/markus/workspace/Sensor Project 
nesC/src/SensorLeafAppC.nc:5:
In component `LeafCommunicationP':
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc: In function `receive':
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:133: interface has no 
command or event named `receiveFromComputer'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc: At top level:
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:184: `sendToOthers' is not 
in interface `PacketHandler'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:191: `sendToComputer' is 
not in interface `PacketHandler'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:224: 
`sendToComputerFromOthers' is not in interface `PacketHandler'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:231: `sendToOthersFromMe' 
is not in interface `PacketHandler'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc: In function 
`PacketHandler.sendToOthersFromMe':
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:232: interface has no 
command or event named `sendToComputer'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc: At top level:
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:236: `sendToAll' is not in 
interface `PacketHandler'
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc: In function 
`PacketHandler.sendToAll':
/home/markus/workspace/Sensor Project 
nesC/src/Communication/LeafCommunicationP.nc:237: interface has no 
command or event named `sendToComputer'
/opt/tinyos-2.1.1/tos/chips/cc2420/lpl/DummyLplC.nc:39:2: warning: 
#warning "*** LOW POWER COMMUNICATIONS DISABLED ***"
In component `LeafCommunicationC':
/home/markus/workspace/Sensor Project nesC/src/LeafCommunicationC.nc: At 
top level:
/home/markus/workspace/Sensor Project nesC/src/LeafCommunicationC.nc:13: 
`PacketHandler' not connected
In file included from /home/markus/workspace/Sensor Project 
nesC/src/SensorNetworkC.nc:16,
                  from /home/markus/workspace/Sensor Project 
nesC/src/SensorLeafAppC.nc:6:
In component `PacketHandlerC':
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: In 
function `InternPacketHandler.receiveFromMe':
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:23: 
interface has no command or event named `sendToComputer'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: At top 
level:
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:29: 
`receiveFromOthers' is not in interface `PacketHandler'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: In 
function `PacketHandler.receiveFromOthers':
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:39: 
interface has no command or event named `sendToComputerFromOthers'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: At top 
level:
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:44: 
`receiveFromComputer' is not in interface `PacketHandler'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: In 
function `PacketHandler.receiveFromComputer':
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:45: 
interface has no command or event named `sendToOthers'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: In 
function `CryptPacketHandler.receiveFromMe':
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:99: 
interface has no command or event named `sendToAll'
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc: At top 
level:
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
/home/markus/workspace/Sensor Project nesC/src/PacketHandlerC.nc:16: 
`PacketHandler.message_t' not implemented
In component `SensorNetworkC':
/home/markus/workspace/Sensor Project nesC/src/SensorNetworkC.nc:13: 
`PacketHandler' not connected

_______________________________
PacketHandler.nc is a proper defined interface:

interface PacketHandler {
     event message_t * sendToComputer(am_id_t id, message_t * msg, 
am_addr_t addr,
             am_addr_t src, uint8_t len);
     event message_t * sendToComputerFromOthers(am_id_t id, message_t * msg,
             am_addr_t addr, am_addr_t src, uint8_t len);
     event message_t * sendToOthers(am_id_t id, message_t * msg, 
am_addr_t addr,
             am_addr_t src, uint8_t len);
     event message_t * sendToOthersFromMe(am_id_t id, message_t * msg,
             am_addr_t addr, am_addr_t src, uint8_t len);
     event message_t * sendToAll(am_id_t id, message_t * msg, am_addr_t 
addr,
             am_addr_t src, uint8_t len);
     command void sendDone();

     command message_t * receiveFromComputer(am_id_t id, message_t * msg,
             am_addr_t addr, am_addr_t src, uint8_t len, void * payload);
     command message_t * receiveFromOthers(am_id_t id, message_t * msg,
             am_addr_t addr, am_addr_t src, uint8_t len, void * payload);

}
_________________________________
Befor splitting up SensorLeafAppC.nc, everything compiles without 
errors/warnings.

Someone has an idea where my extraction is wrong?
Thanks for your help!

Markus




_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to