INIT: 'Set as default macro !DEFS (ME) !MACR .OBJECTS ' Use analog data for macro !USEA ON ' Data File name !NAMD rssi.txt ' Set Queue size !QSIZ 6536 ' Set analog span !SPAN -100, 0 ' Set max time !TMAX 360 ' Set number of samples !PNTS 1000 ' Shift left at max !SHFT ON ' Title plot !TITL ' Flush old data !FLSH ON ' Set display information !DISP D9 G2 A0 S0 B15 R !ECHO off !PLOT On ENDMAC OBJECTS: !POBJ Clear !PPER 65,100 ' Set Back Color ******** !POBJ oBack=11 ' Analog Arrival Code ******* !POBJ oAnalog.C=!WAIT 0.1(;) !SRAW +++(;) !GRAB 1(;) !send ATDB(;) !GRAB 1(;) !IFTH [(grab),hex2dec],>,0,!POBJ metDB=-[(grab),hex2dec](;) !IFTH [(grab),hex2dec],>,0,!ACHN 1,-[(grab),hex2dec],(RED)(;) !SEND ATCN(;) !GRAB 1(;) !STAT (AINVAL0)(;) !IFTH (chkSave),=,1,!LOGD (metdB),(txtComment)(;) (;) ' btnInit -- OBUTTON ***** !POBJ oButton.btnInit=78.,92.,12.,5.,&Initialize Xbee,8 !POBJ btnInit.F=Arial,8,1,0 !POBJ btnInit.tip=Set XBee for low guard times to quicken configuring '-- Event Code !POBJ btnInit.C=!POBJ lstReturn.clear(;) !POBJ lstreturn.add=Initializing(;) !Echo off(;) !POBJ lstReturn.add=Waiting..(;) !wait 2(;) !POBJ lstReturn.add=Sending +++(;) !SRAW +++(;) !GRAB 3(;) !POBJ lstReturn.add=(grab)(;) !POBJ lstReturn.add=Waiting...(;) !wait 2(;) !POBJ lstReturn.add=Sending ATGT 3(;) !Send ATGT 3(;) !GRAB(;) !POBJ lstReturn.add=(grab)(;) !POBJ lstReturn.add=Exiting(;) !SEND ATCN(;) !GRAB(;) !POBJ lstReturn.add=(grab)(;) !POBJ lstReturn.add=Done(;) !BELL(;) ' lstReturn -- OLIST ***** !POBJ oList.lstReturn=74.,61.,20.,18.8,9, !POBJ lstReturn.F=Arial,9,0,0 ' txtReturn -- OTEXT ***** !POBJ oText.txtReturn=76.,75.,15.,4.5,test ,15,0,9 !POBJ txtReturn.F=Arial,9,0,0 ' btnSet -- OBUTTON ***** !POBJ oButton.btnSet=87.,69.,7.,5.,&Set,8 !POBJ btnSet.F=Arial,8,1,0 !POBJ btnSet.tip=Sets current setting with value '-- Event Code !POBJ btnSet.C=!POBJ lstreturn.clear(;) !wait 0.1(;) !SRAW +++(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !send AT[(drpAT),mid,1,2] (txtReturn)(;) !POBJ lstreturn.add=Sending AT[(drpAT),mid,1,2] (txtReturn)(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !ifTH (grab),==,?,!POBJ lstreturn.add=Not Found(;) !SEND ATCN(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !POBJ lstreturn.add=Reading...(;) !Bell(;) !wait 0.1(;) !SRAW +++(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !send AT[(drpAT),mid,1,2](;) !POBJ lstreturn.add=Sending AT[(drpAT),mid,1,2](;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !POBJ txtReturn=(grab)(;) !ifTH (grab),==,?,!POBJ lstreturn.add=Not Found(;) !SEND ATCN(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !POBJ lstreturn.add=Done(;) !Bell ' drpPort -- ODROP ***** !POBJ oDrop.drpPort=80.,98.,7.,4.6,9,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1 !POBJ drpPort.F=Arial,9,0,0 '-- Event Code !POBJ drpPort.C=!POBJ chkConnect=0 ' lblPort -- OLABEL ***** !POBJ oLabel.lblPort=70.,97.,10.,3.,XBee Port:,,0,9,0 !POBJ lblPort.F=Arial,9,1,0 ' chkConnect -- OCHECK ***** !POBJ oCheck.chkConnect=89.,98.,15.,5.,&Connect,0,11,0,9 !POBJ chkConnect.F=Arial,9,1,0 '-- Event Code !POBJ chkConnect.C=!PORT (drpPort)(;) !CONN ((ME)) ' Obj13 -- OIMGBUT ***** !POBJ oImgBut.Obj13=69.,86.,30.,1.,,1,,0 ' drpAT -- ODROP ***** !POBJ oDrop.drpAT=69.,81.,30.,4.6,9,MY Set/Read device address hex,DL Set/Read Destination Address hex,NI Set/Read device name 20 char,ID Set/Read PAN ID,CH Set/Read channel hex,DB Read last RSSI level,PL Set/Read current power level 0-4,ED Read Energy Levels,VR Read Firmware Version,HV Read current hardware version,EC Read CCA failures,EA Set/Read ACK failures,MY Set/Read device address hex !POBJ drpAT.F=Arial,9,0,0 ' btnRead -- OBUTTON ***** !POBJ oButton.btnRead=74.,69.,7.,5.,&Read,8 !POBJ btnRead.F=Arial,8,1,0 !POBJ btnRead.tip=Reads current setting '-- Event Code !POBJ btnRead.C=!POBJ lstreturn.clear(;) !WAIT 0.1(;) !SRAW +++(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !send AT[(drpAT),mid,1,2](;) !POBJ lstreturn.add=Sending AT[(drpAT),mid,1,2](;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !POBJ txtReturn=(grab)(;) !ifTH (grab),==,?,!POBJ lstreturn.add=Not Found(;) !SEND ATCN(;) !GRAB 1(;) !POBJ lstreturn.add=(grab)(;) !POBJ lstreturn.add=Done(;) !Bell ' Obj13 -- OLABEL ***** !POBJ oLabel.Obj13=69.,85.,28.,4.,---- Configuration ----,,0,9,0 !POBJ Obj13.F=Arial,9,0,0 ' Obj15 -- OIMGBUT ***** !POBJ oImgBut.Obj15=70.,42.,29.,1.,,1,,0 ' metDB -- OMETER ***** !POBJ oMeter.metDB=74.,40.,20.,25.,-100,0,-100,0 ' chkSave -- OCHECK ***** !POBJ oCheck.chkSave=69.,13.,15.,5.,Save reading to file,0,11,0,9 !POBJ chkSave.F=Arial,9,0,0 '-- Event Code !POBJ chkSave.C=!NAMD (txtFile) ' Obj15 -- OLABEL ***** !POBJ oLabel.Obj15=85.,12.4,4.,3.,File:,,0,9,0 !POBJ Obj15.F=Arial,9,0,0 ' txtFile -- OTEXT ***** !POBJ oText.txtFile=89.,13.,9.,4.7,rssi.txt,15,0,9 !POBJ txtFile.F=Arial,9,0,0 '-- Event Code !POBJ txtFile.C=!NAMD ((ME))(;) ' Obj17 -- OLABEL ***** !POBJ oLabel.Obj17=68.,6.,10.,3.,Comment:,,0,9,0 !POBJ Obj17.F=Arial,9,0,0 ' txtComment -- OTEXT ***** !POBJ oText.txtComment=77.,7.,11.,4.7,None,15,0,9 !POBJ txtComment.F=Arial,9,0,0 !POBJ txtComment.tip=Be sure to 'TAB' off when done ' cmdOpen -- OBUTTON ***** !POBJ oButton.cmdOpen=89.,7.,9.,5.,Open File,8 !POBJ cmdOpen.F=Arial,8,0,0 '-- Event Code !POBJ cmdOpen.C=!APPA (txtFile) ENDMAC