Working OTA fw upgrades!

...reaching the usable level

Lately i’ve finished the ota related software components…its still ugly; but at least it now uploads & swaps the new firmware with a success rate of around ~90%…sometimes the mega messes something up; and avrdude timeouts…but its fine for me for now at least.

There were a very strange problem…sometimes the otad behaved strangely or just seemingly lost contact with the mega….it took for me a while to realize that i might be facing some memory issues; fixing all valgrind errors and warnings uncovered that i’ve forgot to initialize a buffer offset variable…I should definetly turn on -Werror and its friends…

I will record a video about it - to show how cool it is to have all these devices accessible from eclipsearduino thru the ota infrastructure ;)

Having almost everything ready for preliminary deployment…i went forward to add the base functionalities for the devices; cleaned up some apis a bit - and fixed issues which almost entirely prohibited normal operations - i’ve made a choice of duplicating the some parts of the rx/tx channel methods…this decision have kicked back a few times already..

Lately i’ve discovered some wierd issue…when the two devices are operating normally; i’m not always able to connect to the ota service; i’m not sure where this is coming from, i suspect these:

  • but I will disable the autoacks - because i dont need them; my channels are already doing something similar to ensure integrity - last time i’ve tried to disable it something went wrong and i’ve retreated ;)
  • i’ve noticed two odd behaviours: my “desk” board’s radio sometimes looses the ability to communicate - if i move the nrf transciever it either freezes down totally; or finishes the contact sequence and works like it should . .adding a cap it is easy; i hope that will work
  • the second odd behaviour will need more work: when strip controller raises the light level to the maximum; i think the sensor device reboots - this is not noticable - but I might want to add the missing protection fuse/diode.
 
comments powered by Disqus