pybricks / support

Pybricks support and general discussion
MIT License
107 stars 6 forks source link

Allow for switching inventor firmware to new spike3 firmware #1287

Open chrisgh1 opened 10 months ago

chrisgh1 commented 10 months ago

I was able to use pybricks-dev to load a firmware backup from a Spike Prime that had Spike3 firmware on it and restore that to my inventor hub. and am now able to use the inventor hub with Spike3 app. I noticed the restore firmware function in bybricks code and I tried to use that instead of the pybricks-dev to restore spike3 hub firmware onto an inventor hub but it kept restoring the inventor firmware even though I had selected the spike prime hub.

I was thinking maybe this would be an easier way for people to upgrade their inventor hubs to work with spike3 app instead of having to use pybricks dev and setup python etc. Don't know the best approach to this but maybe a ui change with a warning or even an advance section to allow the restore of an alternate firmware? just a thought and thank you for all the work you have done.

laurensvalk commented 10 months ago

Restoring from your own backup like you did sounds perfectly fine.

The only reason we don't provide that particular update path out of the box in our app is because we can't legally redistribute a proprietary firmware file.

In related news, we're working hard on a block coding interface for Pybricks, which will let you use the Robot Inventor in a way that enables even more possibilities, so maybe this is also a good solution for robot inventor users.

chrisgh1 commented 10 months ago

Oh ok, I was under the assumption that the restore official lego firmware was doing the same thing I did just with the proper firmware file for the device you selected.

Because of the redistributing legality, would it be possible to include the backup / restore option that is available through the pybricks-dev into the pybricks code to make it easier for someone to accomplish what I did. I don't even know if this is possible using a web app.