a) sampling rates up to 16 MHz b) additional samples when using fewer channels (up to 32k for 1 channel) c) trigger location anywhere in the buffer d) backward compatible with previous Logic Analyzer modes
To use the new features requires loading new firmware on the Bus Pirate and a new profile for the OLS client, both of which are included in the files below. See readme.txt on how to use the new enhancements.
Let me know if you use it and like it :). Or any problems :(
I just checked it without optimization and 1 MHz seems to have correct timing. I forgot that I made some changes last night to remove some extra code, which got it just within spec.
The checksum error is due to hex file being in lowercase. Here is a Windows batch file I use to convert files to upper case:
@echo off setlocal EnableDelayedExpansion for /F "delims=" %%a in (%1) do ( set "line=%%a" for %%b in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( set "line=!line:%%b=%%b!" ) echo !line! )
To use it, run the batch file and pipe output to a temp file, for example, to_upper.bat BPv3-firmware-v6.2-r2162.hex > temp.hex
Here's my code and a hex file for the improved logic analyzer. Improvements are: 1. Accurate timing up to 4 MHz 2. Pre-sampling prior to trigger up to 1 MHz. To use in OLS client, enable trigger and adjust Before/After ratio on Triggers tab.
If you use my hex file, the 'i' command will say Firmware v6.1 SUMP test. Known limitations: I've only tested with a v3 Bus Pirate. I compiled with optimization O1. If no optimization, 1 MHz timing may be off by 10-20%.
I'm glad people are interested :). I am cleaning up the code so it is more understandable, then I will post it. I use Windows and MPLab X. For some reason, when I load my hex file it halts due to trying to write over the bootloader, but it seems to load enough of the file for it to work.
I noticed that the times in the Logic Analyzer were not very accurate (I have a Bus Pirate v3), so I modified the firmware to correct it. As long as I was in there, I also increased the maximum sample rate from about 1 MHz to 4 MHz. Then I added sampling prior to the trigger. Is anyone else interested in this, or do the people that care already use the Logic Sniffer?