Example:

 provides {
                interface AMSend[am_id_t id];
        }
        uses {
                interface AMSend as SubSend;
        }

  command error_t AMSend.send[am_id_t id](am_addr_t addr, message_t* msg,
uint8_t len) {
                return call SubSend.send( addr, msg, len);
        }

        command error_t AMSend.cancel[am_id_t id](message_t* msg) {
                return call SubSend.cancel(msg);
        }

        command uint8_t AMSend.maxPayloadLength[am_id_t id]() {
                return call SubSend.maxPayloadLength();
        }

        command void* AMSend.getPayload[am_id_t id](message_t* m) {
                return call SubSend.getPayload(m);
        }

         /***************** SubSend Events ****************/
        event void SubSend.sendDone(message_t* msg, error_t result) {
                signal AMSend.sendDone(msg, result);
        }



This gives me the error " parameters missing in call to parameterised
command or event" .


When i change the signal portion as :
signal AMSend.sendDone[call AMPacket.type(msg)](msg, result) , i would have
to implement every command from AMPacket interface as well. I wouldnt want
to do that.

How can i achieve parametrised AMSend 's sendDone event by simply sending it
to a layer below (CC2420ActiveMessageC in this case)?

Thanks
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to