Documentation update

Broken link report. This does not include links between the old hardware.bp.com and firmware.bp.com, which also need to be updated.

Broken links table
Column 1 Column 2 Column 3 Column 4
404 Not Found https://docs.buspirate.com/docs/overview/spi-flash-adapters/command-reference/spi-protocol flash command documentation SPI Flash Adapters | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/docs/overview/spi-flash-adapters/devices/spi-flash-chips How to interface common SPI flash chips SPI Flash Adapters | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/command-reference/uart-protocol UART mode documentation Dual RS 232 Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/overview/probehooks Shenzhen starter probe hooks Probe Cable Kit | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/docs/quickstart/ rocket_launch Get Started https://docs.buspirate.com/
404 Not Found https://docs.buspirate.com/devices/sim-bank-ic-cards mobile phone SIM cards IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/command-reference/half-duplex-uart-protocol HDPLXUART mode IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/devices/sle4442 SLE4442 IC cards IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/command-reference/2wire-protocol 2-Wire protocol mode IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/devices/24c02 24C02/24C04/24C08/24C16 EEPROM cards IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/command-reference/i2c-protocol I2C protocol mode IC Card and SIM Adapter | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/command-reference Infrared mode documentation Infrared RX/TX Toy | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/docs/tutorial-basics/firmware-update/tutorial-basics/firmware-update manually activate the bootloader Upgrade Firmware | Bus Pirate Docs
-1 Timeout https://ttssh2.osdn.jp/index.html.en Tera Term Quick Setup | Bus Pirate Docs
429 Too Many Requests https://www.instagram.com/accounts/login/?next=https%3A%2F%2Fwww.instagram.com%2Fdangerousprototypes%2F&is_from_rle Instagram [301 from https://www.instagram.com/dangerousprototypes] [302 from https://www.instagram.com/dangerousprototypes/] SPI Flash Adapters | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/overview/sim-iccard-adapter smart IC card and SIM card adapter Mobile SIMs & Bank IC Cards HDUART | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/logic-analyzer/pulseview-sump PulseView and the SUMP interface Available Logic Analyzers | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/logic-analyzer/pulseview-fala PulseView With the “follow along logic analyzer” interface Available Logic Analyzers | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/logic-analyzer/logic-command Directly in the terminal with the logic command Available Logic Analyzers | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/logic-analyzer/logicanalyzer used as a logic analyzer in multiple ways Logic Command | Bus Pirate Docs
403 Forbidden https://www.digikey.com.au/htmldatasheets/production/433077/0/0/1/sle-4442-m3-2.html datasheet SLE4442 Smart IC Card 2WIRE | Bus Pirate Docs
404 Not Found https://github.com/DangerousPrototypes/BusPirate5-firmware/releases/tag/custom-patch-PulseView-0.5.0-git-d00efc6-installer Special patched version for Windows PulseView (Normal) | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/binmode-reference/protocol-sump SUMP protocol documentation PulseView (Normal) | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/binmode-reference/protocol-faladata FALA protocol documentation PulseView (Follow Along) | Bus Pirate Docs
404 Not Found https://docs.buspirate.com/binmode-reference/protocol-fala Follow Along Logic Analyzer protocol https://docs.buspirate.com/docs/binmode-reference/binmode/
404 Not Found https://docs.buspirate.com/software/avrdude Legacy Binary Mode for Flashrom and AVRdude https://docs.buspirate.com/docs/binmode-reference/binmode/
404 Not Found https://www.raspberrypi.com/products/raspberry-pi-Pico/ RP2040 Pico board https://docs.buspirate.com/docs/development/code/
404 Not Found https://midi.org/techspecs/electrispec.php example 2 [301 from http://www.midi.org/techspecs/electrispec.php] [301 from http://midi.org/techspecs/electrispec.php] https://docs.buspirate.com/docs/command-reference/uart-protocol/
404 Not Found https://docs.buspirate.com/components/chips RP2040 https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/analog op-amp https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/passives 10K resistor https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/transistors-fets SI2301 https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/connectors TJC8A/HX25418 connector https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/connectors 1mm 9 pin connector https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/voltage-regulators adjustable output voltage regulator https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/components-rev10/chips 1 Gbit NAND flash chip https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/leds IPS (all angle viewing) LCD https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/components/switches one button https://docs.buspirate.com/docs/hardware/bp5rev10/hardware/
404 Not Found https://docs.buspirate.com/docs/hardware/bp6rev2/hardware/connectors 1mm 9 pin connector https://docs.buspirate.com/docs/hardware/bp6rev2/hardware/
404 Not Found https://docs.buspirate.com/docs/hardware/bp6rev2/hardware/components-rev10/chips 1 Gbit NAND flash chip https://docs.buspirate.com/docs/hardware/bp6rev2/hardware/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/chips RP2040 https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/analog op-amp https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/passives 10K resistors https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/connectors TJC8A/HX25418 connector https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/connectors 1mm 9 pin connector https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/voltage-regulators adjustable output voltage regulator https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/transistors-fets PNP transistor pair https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/leds IPS (all angle viewing) LCD https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://docs.buspirate.com/docs/hardware/bp5rev8/rev8/components/switches one button https://docs.buspirate.com/docs/hardware/bp5rev8/hardware-rev8/
404 Not Found https://www.microchip.com/en-us/404 PIC24 family manual [301 from http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2575] [302 from https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2575] [301 from https://www.microchip.com/404] https://docs.buspirate.com/docs/binmode-reference/protocol-spi-legacy/
404 Not Found https://docs.buspirate.com/enclosure/hardware color button caps https://docs.buspirate.com/docs/cables/cables/
404 Not Found https://docs.buspirate.com/cables color code the AUX cable https://docs.buspirate.com/docs/enclosure/hardware/
404 Not Found https://docs.buspirate.com/overview/spi-flash-adapters flash adapters for SOP8, WSON8, and DIP8 chips https://docs.buspirate.com/docs/devices/spi-flash-chips/
404 Not Found https://docs.buspirate.com/docs/devices/spi-flash-chips/command-reference/spi-protocol flash command https://docs.buspirate.com/docs/devices/spi-flash-chips/

Alright, I’ll take care of fixing all the internal links—I’ll go through everything manually and carefully.
Just ping me in the chat when I can start.
(I’ve got the PLANK SNIFF project on hold for now, but I can definitely do this without a problem!) :hammer_and_wrench::blush:

1 Like

I am going to make a PR with fixes I reported on the chat. Also would like to know when to start so there are no merge conflicts and its one click merge

1 Like

@Dreg @AreYouLoco Thank you both! Appreciate anything you have time to do.

My latest is pushed. That’s the final major update.

Found the issue with the previous and next page links being wild. It’s a doozy!

  • The left side menu sorts the top level items by their weight assigned in the front matter, then the content of each folder by it’s weight. This is expected behavior of docusaurus as well.
  • The Previous and Next buttons however are just all the page weights sorted, with no regard for the hierarchy of sub folders. This means to move a “group” or folder of items, each sub item has to be assigned a new weight as well or the next previous might go to a different section. This is gonna be SUPER annoying.

I reweighted each page in a way so that it sticks how I want, but this is defo worth putting in a bug report for. Long term this is gonna be nuts and at minimum we’ll need a python script to help move sections when needed.

3 Likes

Resuming the docs update.

It occurs to me that it might be nice to have a docs or log command that captures the terminal IO to a file on the NAND flash, excluding any toolbar output.

Currently I log with teraterm. Have to remember to disable the toolbar or garbage gets in the log. Have to tell teraterm where to save the log every time. Etc.

To make things stupid easy, I guess a 2K buffer should be used to match the NAND sector size. When the buffer fills, flush it to NAND. When done logging flush the buffer if anything is in it.

If this can be implemented easily, I will do it before reworking all the terminal output examples.

3 Likes

Isn’t this something that is better solved on the terminal program side?

I really like tio and it comes with all the logging options you want. --log --log-strip should do what you want and strip all control characters for you. It can do a lot more, from adding timestamps to each line to integrated lua scripting.

It also seems to be available on Windows via MSYS2. And I heard that Microsoft improved the shell usability in the last few Windows releases. So maybe your terminal program doesn’t really need to come with it’s own GUI.

I do not want to stifle your enthusiasm about a new feature and I am not against it. But I consider this something that can easily be solved on the host pc side. I think it would make more sense to invest the time into stuff that can only be done on the BusPirate itself and that extends the features of the BP or fixes actual usuability issues regular users have.

3 Likes

I relented and fell back on the TeraTerm logging to get things moving :slight_smile:

Here are the new header links. This will be used on the site homepage as well as the site links in the left side of the forum.

This is the current order of the table of contents. I put “download firmware” at the top.

Two page updates so far, I’m pretty please with the added info and illustrations. It also matches the latest firmware experience.

I’ll proceed with updating all the tutorial pages next.

2 Likes

Tutorial - Basics section has been updated and slightly reworked.

Tomorrow:

  • Bus Pirate 6 hardware design (illustrate FALA buffer section)
  • Master command reference page
2 Likes

I’m glad you decided against this.

In case it's thought of again in future...

I agree one would think this would be “stupid easy”, but unfortunately, I can immediately think of some complexities:

File System Limits

IIRC, the file system has a hard-coded limited number of open handles allowed. The limit is quite low (2?), and I’m not sure if that includes the directory handle (essentially allowing a single file at a time).

Edge Cases made more common

If the host has cached any file system updates, today that has no negative effect when the terminal opens, does stuff, and closes without changing the file system. If you add logs that modify the root directory, this could exacerbate a long-standing (but rare-ish) file system corruption due to the shared-writeable-volume.

RANDOM timing impacts to everything!

Auto-open of the log file when terminal connects is easy, as is automatically closing the log file when the terminal disconnects, and neither would really impact operations.

However, writing to NAND at non-controlled time (based on output passing a 2k buffer limit) would have a significantly negative impact on any time-sensitive commands. It would add a level of randomness to timing that would make it more difficult to write other features.

For example, if feature X someday logged to a log file, maybe it could pre-allocate space and do other hacks to remove the random-timing aspects of the FS overhead, and thus ensure it is able to stream data directly for an extended time. But add in other background flash access, and things go south quickly.

Keep logging of terminal output where it belongs … in the client. Yes, it’d be “neat” to have this log. But … the edge cases and increased difficulty in debugging timing-related problems is so severe that I would not recommend this.

TLDR: Increased difficulty in debugging timing-related problems is severe, making any background NAND writing a non-recommended feature.

Recommendation: An actively executing command retains exclusive access to the NAND, allowing it to predictably decide when NAND operations occur.

3 Likes

For the teraterm instructions I wonder if this step could be eliminated as the settings don’t mean much. Instead just opening a new connection (alt N in teraterm).

1 Like

Maybe asciinema?

This is quite nice. You may set terminal speed and just “record” as text not video so it takes very little space. And then use it as some tutorials using BP terminal or as examples on the docs pages.

2 Likes