I think I found what I was doing wrong, the API mode has to be 1 and I had it set to 2..
In general, this is not practical.. you say that XBee S2 modules need API mode 2 to operate, are we supposed to change API mode everytime we want to send firmware? won't this break the network?
the thing is that now I get flawless (and quite fast) transmission until 100% and then I get PROGRAM RECEIVED ERROR
Quote:
otap64 -send --mode UNICAST --mac 0
013a200406953ab --file S:\ota\applet\otaconf.cpp.hex --pid prog000
C:\Users\lefsp\Desktop\project workspace\OTA>java -Djava.library.path=./lib64/ -
jar otap.jar -send --mode UNICAST --mac 0013a200406953ab --file S:\ota\applet\ot
aconf.cpp.hex --pid prog000
------------------------------------------------------
Name: otaconf.cpp.hex
Date: Fri Jul 15 03:09:57 BST 2011
Size: 55418 bytes
Packets to send: 730
Estimated time: 219 seconds
------------------------------------------------------
Node: 0013a200406953ab
[Sending] - 100% 571 seconds elapsed
Finished. Number of packets sent: 730
Node response: PROGRAM RECEIVED ERROR
---------------------------
I tried it several times..
I tried to upload the code you provided in the OTA documentation but I get a compile error:
Quote:
In function 'void loop()':
error: 'class WaspXBeeZB' has no member named 'checkOtapTimeout
so I have uploaded AmroQuandour's code as I posted couple of posts back.. this must work though as I have seen in the video he created..
in general, can you explain what is the minimun required code bits that a program must have to be able to receive and start a program OTA?