-
-
Notifications
You must be signed in to change notification settings - Fork 8.2k
uctypes does not support values larger than 31 bits despite listing uint64 support #2269
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
Comments
To fix this, we need getters for getting Python int object as: int32, uint32, int64, uint64, each apparently "truncated" and "range checking" version. That's many getters, so apparently there should be one new function, taking flags for the above, deprecating previously available mp_obj_int_get_truncated() & mp_obj_int_get_checked(). |
Just using mp_obj_int_get_truncated should fix the 32 bit case. Then there are already some functions to handle wider values, eg int_to_bytes() and mp_obj_int_to_bytes_impl(). |
Use mp_obj_int_get_truncated to allow the full 32-bit address range as first parameter.
Ok, I have fixes for these working on 32-bit little-endian, now the most boring part is writing tests... |
Fixed by 9e8f316 |
Add board configuration for Winterbloom Sol
Seems pretty funny how ctypes can't support UINT32 and UINT64s?
The text was updated successfully, but these errors were encountered: