Warning: Only read if you want to flash and use the CY7C68013A module with sigrok on a mac!
It all started six years ago with this article, written by @Mike Szczys: http://hackaday.com/2011/12/15/saleae-logic-analyzer-knockoff-hacking/
Once upon a time I bought a - CY7C68013A dev board [https://sigrok.org/wiki/Lcsoft_Mini_Board], because I read that one could use this shiny cheap thing with the fancy Saleae Software and it actually thinks it's one of their fancy equipment. I never really got it to work though (lack of experience, definitely). Skip forward 4 years and I thought to myself, this time I could make it work. Taking it with me on a vacation, I tried to make it work on a Raspberry PI, fooled around with the firmware, got frustrated, you guessed it, back in the drawer.
Now I'm fuzzing around with the Game Boy and thought that a logic analyzer would come in very handy, talked to guys in the #Hack Chat and gave it another try, this time with the open source program sigrok and their beautiful pulseview (you want that, not just the command line!) - side note: I'M ON A MAC.
If you want to have the beautiful GUI, you HAVE TO follow the build instructions called "UNSTABLE" - there is an instruction you can follow here: https://sigrok.org/wiki/Mac_OS_X - you need to have homebrew [https://brew.sh/] installed.
$ brew tap rene-dev/sigrok $ brew install python3 $ brew install --HEAD libserialport $ brew install --HEAD --with-libserialport libsigrok $ brew install --HEAD libsigrokdecode $ brew install --HEAD --with-libserialport sigrok-cli $ brew install --HEAD pulseview
Do this and you should be fine with a non-tinkered or vacation-flashed EEPROM. Otherwise you're in trouble again, my friend. When I fired up my CYWHATEVER module with the jumper set, I got the module recognized as a Saelae 8 Channel device, but when I tried the 16-channel version, it failed on me. Hmm, bad. So I had to flash the EEPROM somehow with something. K.
You need a little program called fxload. I found a guy that ported cypress fx2 stuff to work with mac and another guy that wrote a "tutorial", but before the first guy moved the folder in the git. So here's how I "managed" to make it work.
git clone https://github.com/nall/nexys2-osx.git cd nexys2-osx/fxload xcodebuild ln -s build/Release/fxload-osx /usr/local/bin/fxloadI'm not sure if the linking part is correct, I had to unlink and use a direct link from where I downloaded it into. The thing is, xcodebuild will probably fail on you, if you haven't installed the 2GB+ xcode. If you have that, open the downloaded files / main.m and wait for a "we need to fix stuff" - yellow warning thing that you can push, this will fix the issue with a missing path to osx10.5 library thing. After that you should be finally able to use the xcodebuild command (I'm not an xcode guy).
So "luckily" the guys of sigrok offer a firmware file for everything and we're ready to go, right? Wrong. They're actually something else, you need a hex file for that, and as they say: "To flash the firmware, you will need a hex file containing the firmware, fx2lafw-cypress-fx2.ihx. Since the hex file is a byproduct of the build, you will need to build the firmware from sigrok-firmware-fx2lafw sources".
I tried to download the sigrok firmware part and compile it, so I can get the needed hexfile, that is not in the precompiled firmware folder. Bummer. But the './configure' script broke down on me, wanting a "sdcc-sdcclib", so I finally gave up and tried googling again, before firing up my rPI. Here is where I found my hexfile "fx2lafw-cypress-fx2.ihx":
fxload -v -t fx2 -D 04b4:8613 -I fx2lafw-cypress-fx2.ihx
Now I'm just happy to tell, that Port B and Port D are reading and streaming! - Well. Seems like there's something else wrong and pulseview can't upload the firmware correctly to the chip, but it works if I upload it myself before starting pulseview. So bash script it is. Fancy bash script. Download the pulseview App starter here [https://cdn.hackaday.io/files/16188692587392/pulseviewAPP.zip] - and copy it into your applications folder. Can't find it in the finder searchbar yet.
[UPDATE] The firmware fix was actually easy, I just had to copy the precompiled *.fw files into /usr/local/share/sigrok-firmware now runs without pre firmware fxload stuff. Yay! So not so useless after all.
I've made a little board / shield, to go on top of the module, since the pinout is less optimal. It's based on the suggestions of the sigrok pages, some resistors and diodes for protection.