Just as a note - there are 3 PRs up at this point in time:
#51 - looks to be dealing with cleanup by removing old micropython code as well as updating the freq.pio to have a simpler loop - there’s some other stuff at the end that I’m not a PIO expert on (@phdussud)
#52 - cleaning up the array init for the msc_disk to have far less zeros in the source file (@henygab)
… and add draft PR #54 - Enable USB serial number.
Although it’s straightforward, and I’ve enabled similar USB serial number changes in other open source projects, I marked this PR as a draft, pending receipt of my BP5. Review and/or testing is welcome. I will change to non-draft after testing…
Thank you both. Reviewed and merged all but the pagination, which I am testing on a new branch.
Sorry for the delay - I… lost a battle with a zombie and ended up away from keyboard for a week and a half.
In light of this kind of issue - I’d really like give some of the active contributors access to the git so it doesn’t hinge on a single point of failure (me). Would anyone be interested? Do as much or as little as you like, no obligations, more an emergency contact kind of situation.
May I use email to discuss this in private? If so, please PM your preferred email to discuss this. Otherwise, perhaps a live voice call via Discord at a pre-determined time? My discord username is … obvious (I do not try to obscure my identity).
(For live discussions, I can be available UTC 17:00-18:00, or UTC 01:00-10:00)
That’s neat … but it looks like it generated a new PR based on an update to an existing PR … or is that just an artifact of an existing one being in place?
Sorry about the tests. Pull requests will now be posted here automatically.
I’ll add something nicer and also for issues. However, the build server script has become a big mess and I’ll need an afternoon to rework it - which won’t happen soon
There are some substantive improvements around inter-core messaging.
This PR is intended as a DRAFT, to allow easier review/commenting.
Helper functions for inter-core messaging add ~136 bytes to flash. The inclusion of a counter byte in the ICM value was responsible for only ~8 of those bytes, and seems efficiently optimized by the compiler.
Restricting invalid values being set from configuration only added ~8 bytes(!) to flash.
Change to C23 appeared to have zero impact to compiled size.
There are some substantive improvements around inter-core messaging.
This PR is intended as a DRAFT / Untested changes, primarily to allow easier review/commenting/discussion.
Helper functions for inter-core messaging add ~136 bytes to flash. The inclusion of a counter byte in the ICM value was responsible for only ~8 of those bytes, and seems efficiently optimized by the compiler.
Reduced precious RAM usage by 16 bytes
Restricting invalid values being set from configuration only added ~8 bytes(!) to flash.
Attempting to address the help not fitting on the screen and the same sort of thing when using the hex command.
Tested as follows:
used standard putty terminal, min, max → help pages on any key
used standard putty terminal, min, max → hex pages on any key, quits on qx
I’m sure this isn’t perfect, but I figured it’s easier comment on code when it exists - any feedback is appreciated
NOTE: it appears in one of my commits the line-endings didn’t get ignored – suggest checking that drop-down on the review page to make it easier to look at (sorry!)
Updated button_irq_callback to handle RISE and FALL(press and release). Added button_long_exec() in button_scr.c. . Added logic in pirate.c to run bulong.scr instead of button.scr on long press.
Updated button.c to handle button initialization, IRQ callback, and press type checking.
Ian defined arrays to store script files and flags for different button press types.
Ian added button command functionality to set long file and short file with a single command.
Added short and long press handling into button_scr_handler in button_scr.c.
Updated button_exec to execute the appropriate script based on the button press type.
Removed redundant definitions and tried to clean up from previous commits.
Logic analyzer code cleanup, fix potential race condition, edge triggering support
sump support for edge triggering
pio code cleanup (shorter) and edge triggering support
@DangerousPrototypes I found the root cause of the sigrok problem. It is due to the 3rd party library libserialport. It lacks a proper handling of the Windows overlapped IO feature. I partially rewrote the OLS support just because it was quite inefficient bbut I believe that the original code would work with a fixed libserialport. I also added edge triggering to the OLS support. I do have a fixed Windows pulseview setup program but I lack a place to upload it. If you could tell me where to upload it, I will do so.
New Pull Request: Multi plane dev henrygab/BusPirate5-firmware → DangerousPrototypes/BusPirate5-firmware
I do not have hardware yet, so this is definitely needing to stay in draft until verified on actual hardware (at least for the multi-plane NAND devices).
Still, a PR is a better way to get early feedback, so here it is…
Use the same standard technique in all locations
for intercore messaging (at least two different
methods were used before).
Validate that the confirmation response for each
message corresponds to the one sent.
Debugging cross-core synchronization issues is … not fun. With nearly zero overhead, this update
provides the ability to catch most synchronization errors between cores via the insertion of a counter for each message.