You are on page 1of 12

CopyrlghL 2013 x-lo 1echnologles LLd. www.x-lo.co.

uk


user Manual
verslon 0.3
"#$%&'&()#* +$%$),$


www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
2 / 12
ConLenLs
1. Cvervlew ............................................................................................................................................. 3
2. Cpen Sound ConLrol (CSC) .................................................................................................................. 3
3. leaLures .............................................................................................................................................. 4
4. Pardware ............................................................................................................................................ 4
4.1. lnpuL ConnecLlons ....................................................................................................................... 3
4.2. CuLpuL ConnecLlons .................................................................................................................... 3
4.3. lng buLLon .................................................................................................................................. 3
4.4. SLaLus LLu .................................................................................................................................... 3
3. ConnecLlng Lo x-CSC ........................................................................................................................... 3
3.1. Ad hock Mode (Cyan LLu) ........................................................................................................... 6
3.2. lnfrasLrucLure Mode (?ellow LLu) ............................................................................................... 6
6. 8rowser ConflguraLlon ........................................................................................................................ 6
6.1. neLwork SeLLlngs ......................................................................................................................... 7
6.2. CSC SeLLlngs ................................................................................................................................ 8
6.3. lnpuL SeLLlngs .............................................................................................................................. 8
6.4. CuLpuL SeLLlngs ............................................................................................................................ 8
6.3. Serlal SeLLlngs ............................................................................................................................ 10
6.6. lMu SeLLlngs .............................................................................................................................. 10
7. CommunlcaLlng wlLh x-CSC - CSC ulcLlonary ................................................................................... 10
7.1. x-CSC Lo hosL messages ............................................................................................................. 11
7.2. PosL Lo x-CSC messages ............................................................................................................ 11


www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
3 / 12
1. Cvervlew
x-CSC ls a wlreless l/C board LhaL provldes access Lo 32 hlgh-performance analogue/dlglLal channels
vla Cpen Sound ConLrol (CSC) over Wl-ll. 1here ls no requlremenL for user programmable flrmware
nor speclflc drlvers, maklng x-CSC lmmedlaLely compaLlble wlLh any Wl-ll-enabled plaLform. All you
need ls a Wl-ll enabled compuLer, some baslc programmlng skllls and you are ready Lo make
sophlsLlcaLed lnLeracLlve sysLems.

2. Cpen Sound ConLrol (CSC)
x-CSC communlcaLlons Lake place over Wl-ll uslng Lhe wldely supporLed CSC message formaL, whlch
ls a versaLlle and llghLwelghL proLocol supporLed by more Lhan 80 dlfferenL programmlng languages
and sofLware envlronmenLs. lor an exLenslve llsL see:
hLLp://opensoundconLrol.org/lmplemenLaLlons
We are also malnLalnlng a growlng range of x-CSC example pro[ecLs for Lhe mosL popular
plaLforms/envlronmenLs here:
hLLp://x-lo.co.uk/x-osc



www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
4 / 12
3. leaLures
lnpuLs / CuLpuLs
16! analogue/dlglLal lnpuLs
16! dlglLal/WM/pulse ouLpuLs (upLo 30 mA per channel)
13-blL AuC wlLh 400 Pz updaLe raLe per channel
up Lo 16-blL WM resoluLlon for 3 Pz Lo 230 kPz
4! serlal communlcaLlon channels
Cn board sensors
Cyroscope (2000/s), acceleromeLer (16 g) and magneLomeLer
400 Pz updaLe raLe
Wl-ll
Plgh-performance Wl-ll (802.11b/g, 34 Mbps)
SupporLs ad hoc and lnfrasLrucLure neLworks
lully conflgurable vla sLandard lnLerneL browser.
CLher
Small form facLor: 43 x 32 mm
8egulaLed 3.3v, 700 mA ouLpuL
8aLLery level monlLor
4. Pardware

llgure 1: x-CSC Lop vlew
1. 16 analogue/dlglLal lnpuLs
2. 16 dlglLal ouLpuLs (lnc. hlgh-speed WM for 'analogue' ouLpuL)
3. lng buLLon
4. SLaLus LLu
3. 8egulaLed power ouL (3.3 v)
6. 8aLLery ouLpuL or power lnpuL (3.3 - 3.3 v)
7. Cround (0 v)
8. 8aLLery connecLor
! "
#
$
% &
' '
(
www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
3 / 12
4.1. lnpuL ConnecLlons
x-CSC ls equlpped wlLh 16 lndependenL lnpuL channels, whlch may each be conflgured Lo elLher
analogue, dlglLal or serlal (lnpuLs 1 Lo 4 only) modes, uslng a browser or CSC over Wl-ll (see secLlons
6.3 and 6.1). ulglLal lnpuLs can be conflgured Lo use lnLernal pull-up/down reslsLors and, Lo mlnlmlse
laLency, Lhelr sLaLe ls only LransmlLLed on change. Analogue lnpuLs may be connecLed Lo sensors
produclng a volLage ln Lhe range 0 - 3.3 v. Lach lnpuL ls sampled wlLh 13-blL resoluLlon and
measuremenLs are LransmlLLed aL a speclfled raLe of up Lo 400 Pz. Analogue lnpuL mode also
provldes a 'compare' funcLlon Lo send a message each Llme a speclfled Lhreshold ls crossed. 1hls
enables low-laLency Lhreshold deLecLlon wlLhouL Lhe need for a hlgh message raLe. 1he serlal
channels supporL baud raLes up Lo 2Mbps, wlLh 8 daLa blLs, no parlLy and 1 sLop blL. Serlal daLa can
be framed by speclfylng a buffer slze, daLa LlmeouL and/or a framlng byLe. When a compleLe frame
has been recelved lL ls LransmlLLed as an CSC blob.
4.2. CuLpuL ConnecLlons
1he 16 lndependenL ouLpuL channels on x-CSC may each be conflgured Lo ouLpuL dlglLal, pulse, WM
or serlal (ouLpuLs 1 Lo 4 only) slgnals, whlch can also be conflgured by browser or CSC over Wl-ll (see
secLlons 6.3 and 6.1). ln dlglLal mode, an ouLpuL can be seL hlgh or low. ln pulse mode, an ouLpuL can
be Lrlggered Lo generaLe a pulse wlLh a perlod of 1 ms Lo 1 mlnuLe aL a resoluLlon of 1 ms. An ouLpuL
ln WM mode can generaLe a WM waveform from 3 Pz Lo 230 kPz wlLh a duLy cycle resoluLlon up
Lo 16-blL. WM may be used wlLh a flxed frequency and varlable duLy cycle Lo approxlmaLe an
analogue slgnal. Serlal ouLpuL daLa ls senL uslng Lhe same conflguraLlon as Lhe serlal lnpuLs. 1o
LransmlL serlal daLa Lhe hosL appllcaLlon should formaL Lhe daLa lnLo an CSC blob message.
4.3. lng buLLon
1he plng buLLon on Lhe x-CSC board serves a number of purposes. When pressed x-CSC responds by
broadcasLlng an CSC message lndlcaLlng lLs l and MAC address. resslng and holdlng for 3 seconds
causes x-CSC Lo Loggle neLwork modes, LhaL ls, lf lL ls ln ad hoc mode lL swlLches Lo lnfrasLrucLure
mode, and vlce versa (see secLlon 3). resslng and holdlng Lhe plng buLLon for longer Lhan 8 seconds
lnvokes a facLory reseL when Lhe buLLon ls released.
4.4. SLaLus LLu
1he LLu on x-CSC lndlcaLes Lhe currenL neLwork mode: cyan for ad hoc mode and yellow for
lnfrasLrucLure mode (see secLlon 3). ln ad hoc mode, Lhe LLu wlll flash unLll lLs neLwork has been
creaLed, ln lnfrasLrucLure mode Lhe LLu wlll flash unLll lL has [olned Lhe lnfrasLrucLure neLwork. lf x-
CSC falls Lo [oln Lhe lnfrasLrucLure neLwork, reLurn Lo ad hoc mode by presslng and holdlng Lhe plng
buLLon as descrlbed ln secLlon 4.3. lL ls also posslble Lo overrlde Lhe LLu colour lf deslred, see secLlon
7.
3. ConnecLlng Lo x-CSC
x-CSC can communlcaLe wlLh one or more hosL compuLers over a Wl-ll neLwork ln elLher ad hock or
lnfrasLrucLure neLwork modes. 8y defaulL Lhe devlce uses ad hock mode, alLhough Lhls can be
changed easlly uslng a sLandard lnLerneL browser (see secLlon 6). Whlle Lhe neLwork connecLlon ls
belng esLabllshed Lhe LLu wlll flash, upon successful neLwork conflguraLlon Lhe LLu wlll remaln on
consLanLly.
www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
6 / 12
3.1. Ad hock Mode (Cyan LLu)
ln ad hoc mode x-CSC creaLes an open Wl-ll neLwork LhaL oLher devlces are able Lo [oln. 8y defaulL
Lhls neLwork ls called x-CSC" and wlll show up as an avallable Wl-ll neLwork ln your compuLer's
neLwork seLLlngs (Lhls neLwork name (SSlu) can be changed ln Lhe devlce seLLlngs see secLlon 6. AL
any Llme lL ls always posslble Lo enLer ad hock mode by presslng and holdlng Lhe plng buLLon unLll
Lhe LLu beglns Lo flash Cyan.
3.2. lnfrasLrucLure Mode (?ellow LLu)
lnfrasLrucLure mode allows x-CSC Lo connecL Lo an exlsLlng Wl-ll neLwork. Cpen, WA and WA2
wlreless securlLy modes are supporLed and x-CSC can be conflgured Lo have a sLaLlc l address or Lo
obLaln one dynamlcally from Lhe neLwork server uslng uPC. lf x-CSC ls lssued an unknown l
address slmply press Lhe plng buLLon (see secLlon 4.3), whlch wlll cause x-CSC Lo broadcasL an CSC
message lndlcaLlng lLs neLwork conflguraLlon on lLs ouLgolng porL (8000 by defaulL). AlLernaLlvely,
anoLher neLwork devlce can broadcasL a plng CSC message Lo achleve Lhe same resulL.
lnfrasLrucLure mode enables mulLlple x-CSC's Lo operaLe on Lhe same neLwork and Lo be addressed
by one or more hosL compuLers also connecLed Lo Lhe neLwork.
6. 8rowser ConflguraLlon

llgure 2: x-CSC browser seLLlngs

www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
7 / 12
x-CSC can be conflgured over Wl-ll uslng an lnLerneL browser. Slmply open your preferred browser
and ln Lhe address bar Lype ln x-CSC's l address. lf x-CSC ls ln ad hock mode, and you are connecLed
Lo lLs neLwork, Lhls wlll be hLLp://169.234.1.1. lf x-CSC ls ln lnfrasLrucLure mode you can obLaln Lhe l
address by presslng Lhe plng buLLon and llsLenlng for an CSC message on x-CSC's ouLgolng porL
number (8000 by defaulL). lf aL any Llme you are unable Lo connecL Lo x-CSC, slmply press and hold
Lhe plng buLLon for Lhree seconds Lo reLurn Lhe devlce Lo ad hock mode wlLh an open neLwork, you
can Lhen access Lhe seLLlngs page by [olnlng lLs neLwork and navlgaLlng Lo hLLp://169.234.1.1
1he remalnder of Lhls secLlon wlll brlefly explaln x-CSC's browser seLLlngs page. noLe LhaL changes
made Lo any of Lhese seLLlngs are only applled when Lhe `Save SeLLlngs' buLLon ls pressed.
6.1. neLwork SeLLlngs
ln Lhe neLwork secLlon, x-CSC can be swlLched beLween ad hock and lnfrasLrucLure modes (see
secLlon 3). ln ad hock mode (cyan LLu) Lhe neLwork name (SSlu) of Lhe x-CSC hosLed Wl-ll neLwork
can be seL.

llgure 3: Ad hock neLwork browser seLLlngs

ln lnfrasLrucLure mode you can enLer Lhe name of Lhe neLwork (SSlu) LhaL you would llke x-CSC Lo
[oln, seLLlng Lhe securlLy mode accordlngly.

llgure 4: lnfrasLrucLure neLwork browser seLLlngs

SecurlLy Lypes Cpen and WA/WA2 are supporLed where Lhe laLLer opLlon requlres enLry of a
securlLy passphrase. ln Lhls secLlon you can dlsable uPC lf you would llke Lo speclfy a sLaLlc l
address for x-CSC. When you are happy LhaL you have enLered Lhe correcL lnfrasLrucLure seLLlngs
cllck Lhe 'Save SeLLlngs' buLLon Lo rebooL x-CSC wlLh Lhe new seLLlngs. 1he LLu wlll Lhen flash yellow
unLll lL has successfully [olned Lhe neLwork when lL wlll shlne consLanLly. ConnecLlon should Lake
www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
8 / 12
approxlmaLely 30 seconds, lf flashlng conLlnues for more Lhan one mlnuLe Lhen revlew Lhe
lnfrasLrucLure seLLlngs for errors by presslng and holdlng Lhe plng buLLon for 3 seconds Lo reverL back
Lo ad hock mode, see secLlon 3 above.
6.2. CSC SeLLlngs
ln Lhe CSC secLlon, Lhe l and porL seLLlngs for Lhe recelpL and dellvery of CSC messages may be
conflgured. 1he hosL l ls Lhe address Lo whlch x-CSC wlll send messages. 1he defaulL l address ls
233.233.233.233, whlch ls a speclal broadcasL address meanlng LhaL every devlce on Lhe neLwork wlll
recelve Lhe messages. 1he ouLgolng porL speclfles Lhe porL on whlch your compuLer should llsLen for
messages from x-CSC and Lhe lncomlng porL speclfles Lhe porL on whlch your compuLer should send
messages Lo x-CSC. 1he local l shows x-CSC's currenL l address ln a read only fleld. 1here are Lwo
furLher opLlons ln Lhls secLlon. When Lhe 'Send bundles' opLlon ls checked, x-CSC wlll send messages
formaLLed as CSC bundles, where Lhe bundle Llme Lag lndlcaLes a Lhe acqulslLlon Llme of Lhe daLa
(accuraLe Lo 14 ns). 1he `use address preflx' opLlon allows you Lo speclfy a unlque preflx address for
all lncomlng and ouLgolng CSC messages. 1hls opLlon can be used Lo dlfferenLlaLe beLween messages
recelved on Lhe same porL from mulLlple x-CSCs.


llgure 3: CSC browser seLLlngs
6.3. lnpuL SeLLlngs
1he lnpuL secLlon ls where lndlvldual lnpuL channels are conflgured ls shown ln llgure 6. AL Lhe Lop ls
Lhe message raLe for Lhe analogue lnpuL readlngs (0.0 - 400.0 Pz). 8eneaLh, each lnpuL channel can
be conflgured as dlglLal or analogue. lnpuLs 1 Lo 4 can addlLlonally be seL Lo serlal as descrlbed ln
secLlon 4.1. ln dlglLal mode Lhe pull up/down sLaLe can be seL, ln analogue mode Lhe comparaLor
Lhreshold can be seL (range 0.0 - 1.0).
6.4. CuLpuL SeLLlngs
1he ouLpuL secLlon ls where Lhe lndlvldual ouLpuL channel modes can be conflgured. Lach channel
can be seL Lo dlglLal, pulse or WM modes wlLh relevanL parameLers for each mode as shown ln
flgure llgure 7 and descrlbed ln secLlon 4.2.

www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
9 / 12

llgure 6: lnpuL browser seLLlngs



llgure 7: CuLpuL browser seLLlngs
www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
10 / 12
6.3. Serlal SeLLlngs
1he serlal seLLlngs are where Lhe four uA81s connecLed on lnpuL and ouLpuL channels 1 Lo 4 may be
conflgured. Lach channel supporLs baud raLes up Lo 2 Mbps, wlLh 8 daLa blLs, no parlLy and 1 sLop blL.
Serlal daLa can be framed by speclfylng a buffer slze (up Lo 2048 byLes), daLa LlmeouL (up Lo 1000 ms)
and/or a framlng byLe (0 Lo 233).

llgure 8: CuLpuL browser seLLlngs
6.6. lMu SeLLlngs
x-CSC ls equlpped wlLh on-board 3u gyroscope, acceleromeLer and magneLomeLer. 1he lMu seLLlngs
ad[usL Lhe raLe aL whlch Lhese sensor readlngs are LransmlLLed over CSC (0 - 400 Pz).

llgure 9: lMu browser seLLlngs

7. CommunlcaLlng wlLh x-CSC - CSC ulcLlonary
x-CSC lmplemenLs CSC 1.0 as per Lhe specification wlLh Lhe followlng excepLlons/noLes:
Lhe address paLLern ls noL case senslLlve.
characLer llsLs (e.g. [sLrlng]") or Lhe assoclaLed operaLors -" and !" are noL supporLed.
floaL and lnLeger argumenLs are lnLerchangeable
for all 8oolean argumenLs represenLed as lnLegers, values less Lhan or equal Lo 0 are false
and values greaLer Lhan 0 are Lrue.
1hls secLlon provldes a shorL look up Lable for Lhe x-CSC CSC dlcLlonary.

www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
11 / 12
7.1. x-CSC Lo hosL messages
Address aLLern ArgumenLs/uescrlpLlon
/inputs/digital
16 lnLeger argumenLs represenL Lhe sLaLe of Lhe 16 dlglLal lnpuLs
(0 or 1). SenL only when Lhe sLaLe of any dlglLal lnpuL pln changes
/inputs/analogue
16 floaLlng-polnL argumenLs lndlcaLe Lhe analogue readlngs for all
16 lnpuLs. SenL aL Lhe analogue lnpuL message raLe
/inputs/analogue/comparator
16 lnLeger argumenLs represenL Lhe currenL compare sLaLe of Lhe
16 analogue lnpuLs (0 lf below or 1 lf above Lhe Lhreshold). SenL
only when a Lhreshold on any channel ls crossed
/inputs/serial/<channel>
1 blob argumenL conLalnlng Lhe raw serlal daLa recelved on lnpuL
<-.)(($%> (1 - 4)
/imu
10 floaLlng-polnL argumenLs lndlcaLlng Lhe currenL readlngs of Lhe
on board sensors. ArgumenLs 1 - 3 gyroscope (/s) x, y, z,
argumenLs 4 - 6 acceleromeLer (g), x, y ,z, argumenLs 7 - 9
magneLomeLer (Ca) x, y ,z, argumenL 10 gyroscope LemperaLure
(C)
/battery
1 floaLlng-polnL argumenL lndlcaLlng Lhe currenL baLLery volLage
/ping
2 sLrlng argumenLs are Lhe x-CSC local l address (flrsL argumenL)
and MAC address (second argumenL)
1able 1: x-CSC Lo hosL message summery
7.2. PosL Lo x-CSC messages
lf x-CSC recelves a message LhaL does noL maLch any message ln Lhe followlng Lable Lhe LLu wlll flash
red.

Address aLLern ArgumenLs/uescrlpLlon
/inputs/analogue/read

prompLs x-CSC Lo respond wlLh an /inputs/analogue
message
/inputs/analogue/rate
floaLlng-polnL argumenL seLs Lhe message raLe for Lhe
analogue lnpuL readlngs (0.0 - 400.0)
/inputs/analogue/<channel>
Lhe lnpuL <-.)(($%> (1 - 16) ls seL Lo analogue mode
/inputs/analogue/comparator/read

prompLs x-CSC Lo respond wlLh an
/inputs/analogue/compare message
/inputs/analogue/comparator
/threshold/<channel>
floaLlng-polnL argumenL seLs Lhe comparaLor Lhreshold
(0.0 - 1.0) for Lhe speclfled lnpuL <-.)(($%> (1 - 16)
/inputs/digital/<channel>
seLs Lhe speclfled lnpuL <-.)(($%> (1 - 16) Lo dlglLal mode
/inputs/digital/read
prompLs x-CSC Lo respond wlLh an /inputs/digital
message
/inputs/digital/up/<channel>
enables Lhe pull up reslsLor for Lhe speclfled dlglLal lnpuL
www.x-lo.co.uk 2013


x-CSC user Manual v0.3
8elease daLe: 18 november 2013
12 / 12
<-.)(($%> (1 - 16)
/inputs/digital/down/<channel>
enables Lhe pull down reslsLor for Lhe speclfled dlglLal
lnpuL <-.)(($%> (1 - 16)
/outputs/digital/<channel>
seLs Lhe speclfled ouLpuL <-.)(($%> (1 - 16) Lo dlglLal mode
/outputs/digital/state/<channel>
lnLeger argumenL (0 or 1) seLs Lhe sLaLe of Lhe speclfled
ouLpuL <-.)(($%>
/outputs/digital/pattern
Lhe lower 16-blLs of Lhe lnLeger argumenL seLs Lhe sLaLe of
all 16 dlglLal ouLpuLs
/outputs/pulse/<channel>
Lrlggers a pulse on Lhe speclfled ouLpuL <-.)(($%> (1 - 16)
ls seL Lo pulse mode. uses Lhe lasL wldLh and lnverL values
/outputs/pulse/width/<channel>
lnLeger argumenL seLs Lhe pulse duraLlon ln mllllseconds (0
- 60000) for Lhe speclfled <-.)(($%>. Also Lrlggers a pulse
/outputs/pulse/invert/<channel>
lnLeger argumenL (0 or 1) seLs Lhe lnverslon sLaLe of Lhe
pulse (1 ls lnverLed). Also Lrlggers a pulse
/outputs/pwm/<channel>
Lhe speclfled ouLpuL <-.)(($%> (1 - 16) ls seL Lo WM
mode
/outputs/pwm/frequency/<channel>
floaLlng-polnL argumenL seLs Lhe WM frequency (3 - 230
000) for Lhe speclfled ouLpuL <-.)(($%> (1 - 16). Also seLs
Lhe pln Lo WM mode lf noL already
/outputs/pwm/duty/<channel>
floaLlng-polnL argumenL seLs Lhe WM duLy cycle (0 - 100
) for Lhe speclfled ouLpuL <-.)(($%> (1 - 16). Also seLs
Lhe pln Lo WM mode lf noL already
/led/rgb
Lhree lnLeger argumenLs (range 0 - 233) seL Lhe 8C8 vales
for Lhe on board LLu
/led/default
reseLs Lhe LLu Lo Lhe neLwork mode colour
/ping
causes x-CSC Lo broadcasL lLs local l address
/inputs/serial/<channel>
Lhe speclfled lnpuL <-.)(($%> (1 - 4) ls seL Lo serlal mode
/outputs/serial/<channel>
Lhe speclfled ouLpuL <-.)(($%> (1 - 4) ls seL Lo serlal mode
/serial/baud/<channel>

lnLeger argumenL (0 - 2000000) seLs Lhe baud raLe for Lhe
speclfled serlal <-.)(($%> (1 - 4)
/serial/buffer/<channel>
lnLeger argumenL (1 - 2048) seLs Lhe lnpuL buffer slze for
Lhe speclfled serlal <-.)(($%> (1 - 4)
/serial/timeout/<channel>
Lhe LlmeouL of Lhe lnpuL buffer for Lhe speclfled serlal
<-.)(($%> (1 - 4) ls seL Lo Lhe value of l (0 - 1000 ms)
/outputs/serial/<channel>

blob argumenL wlll be LransmlLLed on Lhe speclfled serlal
<-.)(($%>

1able 2: hosL Lo x-CSC message summery

You might also like