Arduino Forum

Using Arduino => Networking, Protocols, and Devices => Topic started by: needle on Mar 03, 2018, 10:10 pm

Title: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: needle on Mar 03, 2018, 10:10 pm
Good evening everyone,

For the last week I've been trying to convert/port this (https://github.com/DjFix/spi-spy) project to the Arduino. It is a little tool to show the data being send back and forth between the Control Pannel and the Mainboard of a CDJ 1000.

This is my first encounter with the SPI protocol. So got a lot to learn here. After contacting the original creator I got a response and he helped me to start but I am stuck now and like to get some help from the Arduino community.

At first I tried the slave example on Nick's SPI site, but I needed something in some sort of silent mode...

After many trial and errors I tried the Logic Analyzer found here (https://github.com/aster94/logic-analyzer). Gladly I saw there was some SPI activity so this must be possible :)

After some more searching and reading I came across this (https://forum.arduino.cc/index.php?topic=523677.0) example of an SPI sniffer for a LCD display. This seems to be almost exactly fitting my needs. "to let Arduino work both as slave and as sniffer in silent mode"

So uploaded this code and viola, I got some sort of feedback from the Serial monitor :)

But this is where I'm stuck, I don't understand what is written in the "Reverse_Engineering_Pioneer_CDJ-1000_serial_protocol.pdf (https://github.com/DjFix/spi-spy/blob/master/Doc/Reverse_Engineering_Pioneer_CDJ-1000_serial_protocol.pdf)"

For example what does "[0-7packages][14 byte][bit0] = PLAY button" translate to? My first goal was to show the pressed buttons in the Serial monitor. But at the moment I just have to understand this first....

Can somebody please explain this to me with an example or a document that I can read so I can continue with this.


thanks for reading so far :)

cheers!
Title: Re: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: ieee488 on Mar 04, 2018, 03:26 am
I don't see anything about the PLAY button.
Title: Re: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: ieee488 on Mar 04, 2018, 03:29 am
Looks like the entire message is 8 packages x 27 bytes/package x 8 bits/byte = 1728 bits
Each package is 27 bytes.
The entire document describes what each bit of those 1728 bits are.
Title: Re: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: needle on Mar 04, 2018, 08:30 am
Looks like the entire message is 8 packages x 27 bytes/package x 8 bits/byte = 1728 bits
Each package is 27 bytes.
The entire document describes what each bit of those 1728 bits are.
Oh now I think I get it...  :-[

Title: Re: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: needle on Mar 07, 2018, 12:34 pm
.
Title: Re: Help with converting CDJ 1000 SPI SPY project to Arduino
Post by: Flowmatic on Jun 20, 2018, 12:53 pm
Hello

Would it be easy to write a small program for arduino that sends the spi commands just for the Basic things Like Play,cue ?
The guy who did the spi-spy for cdj has build a rekordbox player for cdj1000 to and with a arduino with some encoders and Buttons sending These commands to his rekordbox player (its a 32f746g with firmware he wrote) a nice standalone dj mediaplayer could be build without the need of a cdj1000mk3.