-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
autobuild enhanced reflash controller record support #969
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I tested this with how you described: https://github.com/iotile/pod_controller/pull/223.
I would change the name of the functions build_update_script_proto
and autobuild_trub_script_proto
to something more like build_update_script_v2
or _enhanced
Also, _build_script_action' looks like it's a enhancement for
_build_reflash_script_action, I would probably give build_script_action with a similar suffix to denote that's its for the new process, with something like
v2or
enhanced`.
Also just to confirm, autobuild_trub_script_proto
(or whatever the new name is) can be used to replace autobuild_trub_script
right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, i need to look a little more on what would be the best way to address this, when i noticed when looking at the SConstruct file of your test branch of production_devices, but you shouldn't have to need to put 'build/deps` in the names of the files in this SConstruct, it should be able to find the files itself.
https://github.com/iotile/pod_controller/pull/223/files#diff-097ed87141bfbb23e296c50dff5fea76R7-R12
I'll go with Also, I'm refraining from renaming
Yes. You would just do something like
Hmm, yeah I wasn't sure about this. I'll take a look and see if there is a cleaner way to grab those build products... |
Looks like it's going in a good direction. I know you chose the name v2... In light of all the version confusion that we have going on between the firmware, hardware, pods, sensorgraphs and tags... is it possible to choose a name that's not indicating a version. One thing that someone told me a long time ago that helps inform me when trying to select names. I leave the naming up to you, just know that this name will live on forever. Once you settle on a name... and merge it to master... it creates a legacy.. your legacy.. one that will outlive you.. outlive us all... in the Github cloud hithermore.. in history throughout history. Know this ... you have a moral responsibility to the children that come after you. And with this... I will quote a famous movie, (a challenge for all to identify the movie). "You must choose. But choose wisely, ..." |
Yeah I believe in this 100%. However, the thing most accurately describes this actually the legacy function names. The original I will give this some more thought... |
I decided to rename it to |
It's a great name. ... strong.... perfect. |
Overview
We needed a way to be able to update PODs OTA with new executives.
The current main way to upgrade executives is through JLink, or using a pingpong bundle produced by firm_pingpong. Up to this point, there was no real way to make a reliable OTA script for production_devices. The only way the OTA TRUB scripts that included an executive update was made, was through remote_bridge. This method is not viable for production. Instead, we want to be able to create these TRUB scripts via the coretools interface. Specifically, we want our iotile build function to be able to pull in the required pingpong bundle associated with the execnrf52832 that we want to load into our device.
These are the following steps required to reach the end goal...
This PR addresses the second half of 2 and 3.
Closes #966
Major Changes
iotilecore
enhanced_reflash.py
to have a new record type calledEnhancedReflashControllerRecord
iotilebuild
autobuild_python_scripts
to run a batch of python scripts along with their argumentsautobuild_trub_script_proto
which is an improved version ofautobuild_trub_script
that can now handle specified record types and arguments for individual slot assignments