Oh crap, yes. My mistake, must have missed the "Done". Late Friday afternoon mistake.
Thanks 2009/5/10 Chieh-Jan (Mike) Liang <[email protected]> > Hi Leon, > > "ReprogramGuard.okToProgramDone" is an event signaled by other components. > Maybe you were confused with "ReprogramGuard.okToProgram()" command called > in "NetProg.programImageAndReboot", and "ReprogramGuard.okToProgramDone()" > event? > > Mike > > > On May 10, 2009, at 8:37 AM, Leon Steenkamp wrote: > > In tos\lib\net\Deluge\extra\NetProgM.nc there is the following: >> >> --<SNIP>-- >> command error_t NetProg.programImageAndReboot(uint32_t imgAddr) >> { >> reprogramImgAddr = imgAddr; >> return call ReprogramGuard.okToProgram(); >> } >> >> event void ReprogramGuard.okToProgramDone(bool ok) >> { >> BootArgs bootArgs; >> >> if (!ok) { >> // The voltage is too low. Nothing to do. >> return; >> } >> >> atomic { >> call IFlash.read(TCAST(uint8_t* >> COUNT(sizeof(bootArgs)),TOSBOOT_ARGS_ADDR), &bootArgs, sizeof(bootArgs)); >> >> bootArgs.imageAddr = reprogramImgAddr; >> bootArgs.gestureCount = 0xff; >> bootArgs.noReprogram = FALSE; >> bootArgs.address = TOS_NODE_ID; >> >> call IFlash.write(TCAST(uint8_t* >> COUNT(sizeof(bootArgs)),TOSBOOT_ARGS_ADDR), &bootArgs, sizeof(bootArgs)); >> >> // reboot >> netprog_reboot(); >> } >> } >> --<SNIP>-- >> >> I am using TelosB platform and when NetProg.programImageAndReboot is >> called not much happens and I guess its because ReprogramGuard.okToProgram() >> is called with no argument. And if (!ok) is always true. >> >> Am I missing something? or is there a problem with the code? I changed the >> "if (!ok)" to "if (ok)", the node now reboots but it does not seem to be >> reprogrammed. >> >> Leon >> _______________________________________________ >> Tinyos-help mailing list >> [email protected] >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >> > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
