-
Notifications
You must be signed in to change notification settings - Fork 0
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
pset_read'ing a slot which has uninitalized data crashes grid #17
Comments
fixed in 250129 |
hihi! still experiencing test script: print("hi!")
metro.new(function(x)
if x == 1 then
print("going to read a blank pset!")
elseif x == 2 then
print('reading PSET "10"')
pset_read(10)
elseif x == 3 then
print("did we get here?")
end
end, 600, 3) of note, the 2nd pass's |
confirmed. if you try to flash_read() on an uninitialized flash slot it will potentially try to return a huge long string with unpredictable results. if run from pset_read it will attempt to execute this and break. i added a firmware fix to clear the flash area when uploading the firmware for the first time, which will be in the next release. however this won't fix devices that have an earlier beta installed. to fix this in beta, run:
or better yet, i'm considering adding some metadata to the pset system so it is aware of which flash slots have been written, hence which are safe to load. before that happens, you can roll your own. (i did this in another script, just a table that gets stored to slot 1 with metadata of which psets are legit) i'm going to leave this open until it's truly fixed, not just partial |
steps to repro
pset_read(n)
wheren
is a slot with no data yet saved to itexpected
no data is returned
experienced
grid freezes and is unresponsive to press + diii commands until hot-plugged
The text was updated successfully, but these errors were encountered: