USB Audio 2.0 DJ Kit

New to XMOS and XCore? Get started here.
Rammsteiner1988
Member
Posts: 12
Joined: Thu Dec 05, 2013 9:39 am

USB Audio 2.0 DJ Kit

Post by Rammsteiner1988 »

Hello i am new to the world of xmos.
Is it possible to modify the slice kit examples (e.g. Short-Delay sliceKIT Audio Demo) for using them on the USB Audio 2.0 DJ Kit?
I can build the application but if i want to run it there is an error "xrun: Number of nodes in binary does not match the device".
Sorry for my english i am from germany ;)


User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am

Post by infiniteimprobability »

Hi & welcome to xmos!
the short answer to your question is "Definitely - you will be able to run these examples on the USB Audio DJ Kit". The exception is the long delay app, which needs the SDRAM slice to provide the extra buffer memory.
Your error is related to the fact you're building for an L16 target (slice kit) and running on a U8 (DJ kit device), which have differing tiles in the chip.

You'll need to change your target to startkit (can do this in the makefile) and update the port mappings (modify app_global.h). The signal mappings for the DJ kit are:

gpio = XS1_PORT_4C
p_i2c = XS1_PORT_4D
blck = XS1_PORT_1A
spdif out = XS1_PORT_1B
dac1 = XS1_PORT_1C
dac0 = XS1_PORT_1D
mclk_in = XS1_PORT_1E
midi in = XS1_PORT_1F
adc0 = XS1_PORT_1G
lrclk = XS1_PORT_1I
adc1 = XS1_PORT_1L
midi out = XS1_PORT_8D

Try that for starters..
Rammsteiner1988
Member
Posts: 12
Joined: Thu Dec 05, 2013 9:39 am

Post by Rammsteiner1988 »

Thank you for your answer.
I changed the line in the makefile into TARGET = XP-SKC-SU1.xn
But now i have one error in three lines while building:
../src/audio_io.xc:26: error: first index of array `tile' exceeds its upper bound
../src/audio_io.xc:52: error: first index of array `tile' exceeds its upper bound
../src/audio_io.xc:53: error: first index of array `tile' exceeds its upper bound
xmake[1]: *** [.build/src/audio_io.xc.o] Error 1
xmake: *** [bin//app_slicekit_short_delay.xe] Error 2
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

You will need to modify your application to run on a single tile because you are building your application for a single tile target. You based your application on the slicekit example which has two tiles and this software example apparently also made use of the two tiles. You will need to find the main function and adjust the par statement accordingly that it will only make use of logical cores on tile[0].

See https://www.xmos.com/en/support/documen ... 091&page=1
Rammsteiner1988
Member
Posts: 12
Joined: Thu Dec 05, 2013 9:39 am

Post by Rammsteiner1988 »

OK only one tile needed anymore.
But now there is the next Problem. By running the app the following error appears:
"Unexpected CODEC Device ID, expected 0xC, got 0"
So i changed a line in the codec.xc
if (((codec_dev_id & 0xF0) >> 4) != 0xC) -> if (((codec_dev_id & 0xF0) >> 4) != 0x0)

now I dont have any errors but still don´t hear anything.
Hardware Setup like here https://www.xmos.com/en/node/16090?page=5
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

0x0 is a very suspicious value because it can also mean that the other side did not sent anything back.
Did you change the ports accordingly to get the application working on the DJ kit?
See a few posts above.
Rammsteiner1988
Member
Posts: 12
Joined: Thu Dec 05, 2013 9:39 am

Post by Rammsteiner1988 »

LOL I changed them in another app.
Now it´s working!!!
Thank you very much!
User avatar
infiniteimprobability
XCore Legend
Posts: 1126
Joined: Thu May 27, 2010 10:08 am

Post by infiniteimprobability »

Gut gemacht!

Glad it's all working! Hope you have fun with it..