Pull Requests - bus pirate 5 firmware

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 :slight_smile: (@phdussud)
  • #52 - cleaning up the array init for the msc_disk to have far less zeros in the source file (@henygab)
  • #53 - pagination for help and hex commands

Cheers!

… 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)

I’d be happy to offer up assistance as needed and happy to support in any way possible

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?

New Pull Request: x is the preferred exit command character
wyattearp/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

test of auto posts on pull request

Created by: DangerousPrototypes

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 :slight_smile:

New Pull Request: QoL changes … for consideration
henrygab/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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.
  • Lots of comment-only changes
  • Lots of formatting-only changes
  • A few TODO/BUGBUG items noted (but not addressed)

Created by: henrygab

New Pull Request: QoL changes … for consideration
henrygab/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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.
  • Cannot seem to get CMake to require C23… sigh.
  • Lots of comment-only changes
  • Lots of formatting-only changes
  • A few TODO/BUGBUG items noted (but not addressed)

Created by: henrygab

New Pull Request: x is the preferred exit command character
wyattearp/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

test of auto posts on pull request

Created by: DangerousPrototypes

New Pull Request: Fix pause (help) screen output - #35
wyattearp/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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 q x

I’m sure this isn’t perfect, but I figured it’s easier comment on code when it exists :slight_smile: - 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!)

Created by: wyattearp

Seems I need to filter pull hooks by action, sorry about the dupes.

New Pull Request: Updated button_irq_callback to discern between long and short button presses
jrelo/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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.

Created by: jrelo

1 Like

New Pull Request: Added long-press button functionality with button codes. Added bulong…
jrelo/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

… command. Replaced button_check_irq with button_check_press. Moved button_exec to button.c

Created by: DangerousPrototypes

New Pull Request: Added support for different button press types, starting with long press functionality.
jrelo/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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.

Created by: jrelo

New Pull Request: LA and sump improvement / cleanup
phdussud/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

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.

Created by: phdussud

1 Like

New Pull Request: Multi plane dev
henrygab/BusPirate5-firmwareDangerousPrototypes/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…

Created by: henrygab

New Pull Request: Reduce RAM usage by 16k (?!)
henrygab/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

Old: 256180
New: 239796
Diff: 16384


Created by: ```henrygab```

New Pull Request: Intercore messaging Quality-of-Life improvements
henrygab/BusPirate5-firmwareDangerousPrototypes/BusPirate5-firmware

Provide friendly names for intercore messages.

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.

Created by: henrygab