Users Guide

ByteOutput:
QueryMovementStatus:
QueryPulseWidth:
ReadDigitalInputs:
#<bank>:<value><cr>
<bank>=(0=Pins0-7,1=Pins8-15,2=Pins16-23,3=Pins24-31.)
<value>=Decimalvaluetooutputtotheselectedbank(0-255).Bit0=LSBofbank.
Thiscommandallows8bitsofbinarydatatobewrittenatonce.Allpinsofthebankare
updatedsimultaneously.Thebankswillbeupdatedwithin20mSofreceivingtheCR.
BankOutputExample:"#3:123<cr>"
Thisexamplewilloutputthevalue123(decimal)tobank3.123(dec)=01111011(bin),
andbank3ispins24-31.Sothiscommandwilloutputa"0"topins26and31,andwill
outputa"1"toallotherpins.
Q<cr>
Thiswillreturna"." ifthepreviousmoveiscomplete,ora"+"ifitisstillinprogress.
Therewillbeadelayof50uSto5mSbeforetheresponseissent.
QP<arg><cr>
Thiswillreturnasinglebyte(inbinaryformat)indicatingthepulsewidthoftheselected
servowitharesolutionof10uS.Forexample,ifthepulsewidthis1500uS,thereturned
bytewouldbe150(binary).
Multipleservosmaybequeriedinthesamecommand.Thereturnvaluewillbeonebyte
perservo.Therewillbeadelayofleast50uSto5mSbeforetheresponseissent.
Typicallytheresponsewillbestartedwithin100uS.
ABCDALBLCLDL<cr>
A,B,C,orDreadsthevalueontheinputasabinaryvalue.ItreturnsASCII"0"ifthe
inputisalow(0v)oranASCII"1"iftheinputisahigh(+5v).
AL,BL,CL,orDLreturnsthevalueontheinputasanASCII"0"iftheinputisalow(0v)
orifithasbeenlowsincethelast*Lcommand.Itreturnsahigh(+5v)iftheinputisa
highandneverwentlowsincethelast*Lcommand.Simplystateditwillreturnalowif
theinputevergoeslow.Readingthestatusautomaticallyresetsthelatch.
TheABCDinputshaveaweakpullup(~50k)thatisenabledwhenusedasinputs.They
arecheckedapproximatelyevery1mS,andaredebouncedforapproximately15mS.
Thelogicvalueforthereadcommandswillnotbechangeduntiltheinputhasbeenat
thenewlogiclevelcontinuouslyfor15mS.TheReadDigitalInputCommandscanbe
groupedinasingleread,upto8valuesperread.Theywillreturnastringwithone
characterperinputwithnospaces.
ReadDigitalInputExample:"ABCDL<cr>"