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