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

Reply via email to