Skip to content
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

Figure out how to ship examples in the FS without trashing the FS on upgrade #168

Closed
bwhitman opened this issue Jan 22, 2024 · 2 comments
Closed
Labels
tulipcc Tulip CC hardware
Milestone

Comments

@bwhitman
Copy link
Collaborator

We'd like to ship examples and "baked in" Python programs and graphics into Tulip. See #164 . Let's call these collectively the "system" folder. It can be read only, but the code should be visible and copyable for editing.

Right now, we can refresh the ex/ folder by flashing the entire FS, which would delete everything the user has stored.
So therefore, we only flash the firmware, not the FS, on tulip.upgrade(). But maybe the examples will want to be changed with new Tulip firmware. We'll need a way to get this "system" folder updated on upgrade.

We'll also want to make sure whatever we do is easy for a 3rd party to flash the NVS on the chip before sale.

Lastly, since we'll support both 16 and 32MB "drives" for now, we need to make sure the "free space" is whatever is left and not baked into the FS binary.

Some options:

  • A separate partition just for baked in code, read only, that can get reflashed on upgrade
  • Example code can get downloaded from World and overwrite the original ones (optionally?) As a tar file? This may be big and have to be streamed in, like we do for OTA upgrades anyway (so maybe partition is safer.)
@bwhitman bwhitman added this to the Tulip v4r10 milestone Jan 22, 2024
@bwhitman bwhitman added the tulipcc Tulip CC hardware label Jan 22, 2024
bwhitman added a commit that referenced this issue Jan 23, 2024
@bwhitman
Copy link
Collaborator Author

We're going with the separate partition. It's not read only (maybe that's fine) but it boots as /sys (and normal FS is in /user. I'll make a upgrade_sys() OTA thing for that.

@bwhitman
Copy link
Collaborator Author

OTA upgrading of /sys now works. Will update docs and finish this out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tulipcc Tulip CC hardware
Projects
None yet
Development

No branches or pull requests

1 participant