This discusses UMAC gathering (for precise telemetry) capabilities. Please see UMAC for an overview.

GATHERing data

UMAC has build-in capablity to gather telemetry data and then dump data from its memory to host PC. See DEFINE GATHER, GATHER, ENDGATHER, LIST GATHER and DELETE GATHER commands. You will also need to configure data gathering variables. Hint: memory location Y:$0,24 holds current clock ticks.

The following will record time clocks every 10 clocks. This is only for demonstration - you shall really add some usefull memory location to receive interesting data.

%CODE{"bash"}% [user@host ~]$ pmac -a xx.xx.xx.xx 'DEFINE GATHER 5000' \x06 [user@host ~]$ pmac -a xx.xx.xx.xx 'I5007=$400000 I5050=$40 I5049=10' \x06 [user@host ~]$ pmac -a xx.xx.xx.xx 'GATHER' && sleep 10 && pmac -a xx.xx.xx.xx 'ENDGATHER' [user@host ~]$ pmac -a xx.xx.xx.xx 'GATHER' && sleep 10 && pmac -a xx.xx.xx.xx 'ENDGATHER' \x06 \x06 [user@host ~]$ pmac -a xx.xx.xx.xx 'LIST GATHER' 081059081059 081063081063 08106D08106D 081077081077 081081081081 08108B08108B 081095081095 08109F08109F 0810A90810A9 0810B30810B3 0810BD0810BD 0810C70810C7 0810D10810D1 0810DB0810DB 0810E50810E5 0810EF0810EF\r0810F90810F9 081103081103 08110D08110D 081117081117 081121081121 08112B08112B 081135081135 08113F08113F 081149081149 081153081153 08115D08115D 081167081167 081171081171 08117B08117B 081185081185 08118F08118F\r081199081199 0811A30811A3 0811AD0811AD 0811B70811B7 0811C10811C1 0811CB0811CB 0811D50811D5 0811DF0811DF 0811E90811E9 0811F30811F3 0811FD0811FD 081207081207 081211081211 08121B08121B 081225081225 08122F08122F\r081239081239 081243081243 08124D08124D 081257081257 081261081261 08126B08126B 081275081275 08127F08127F 081289081289 081293081293 08129D08129D 0812A70812A7 0812B10812B1 0812BB0812BB 0812C50812C5 0812CF0812CF\r0812D90812D9 0812E30812E3 0812ED0812ED 0812F70812F7 081301081301 08130B08130B 081315081315 08131F08131F 081329081329 081333081333 08133D08133D 081347081347 081351081351 08135B08135B 081365081365 08136F08136F\r081379081379 081383081383 08138D08138D 081397081397 0813A10813A1 0813AB0813AB 0813B50813B5 0813BF0813BF 0813C90813C9 0813D30813D3 0813DD0813DD 0813E70813E7 0813F10813F1 0813FB0813FB 081405081405 08140F08140F\r081419081419 081423081423 08142D08142D 081437081437 081441081441 08144B08144B 081455081455 08145F08145F 081469081469 081473081473 08147D08147D 081487081 Za\xffx\x05 [user@host ~]$ pmac -a xx.xx.xx.xx 'DELETE GATHER' \x06 %ENDCODE%

For AGW UMACs, clioac (from TCS 2020B+) can be used. Change -A to AGW number. AGW3 and AGW4 can be used with OACserver running. For the rest, OACserver need to be stopped. The commands:

%CODE{"bash"}% [tcs@tcs2 ~]$ cd /lbt/tcs/current/oac/bin [tcs@tcs2 bin]$ ./clioac -A 1 -i AGW1 > home AGW1 > gatinit 100 3000 AGW1 > gatmotor theta r AGW1 > ! setxy -150 600 AGW1 > gatdump AGW1 > gatout data.dat AGW1 > %ENDCODE%

The commands with expected responses:

%CODE{"bash"}% [tcs@tcs2 ~]$ cd /lbt/tcs/current/oac/bin [tcs@tcs2 bin]$ ./clioac -A 1 -i Connecting to AGW1 (192.168.2.21:1025) Please type help for more help. AGW1 > home x: -0.030 y: 420.232 focus: 0.000 filter: 0 Homed. Error vector: 0x000000 All ok Motor error vector: 0x000000 Motor error no limits vector: 0x000000 Homed status: 0x17 In position: 0x17 X: -0.030 +0.000 +0.000 Y: +420.232 +0.000 +0.000 Focus: +0.000 +0.000 Filter: 0 0 AGW1 > gatinit 100 3000 Gathering period set to 100, gathering buffer size to 3000 24bit words, mode 3 DPRAM, cyclic buffer (wrapping) AGW1 > gatmotor theta r Adding motor #1 (1 based) Adding motor #2 (1 based) AGW1 > gatinfo Data gathering buffer location and mode 3 DPRAM, cyclic buffer (wrapping) Data gathering period 100 (cycles) Enabled gathering for 1fff (000000 1fff) I5001 *: Y:$000000 Servo count for next real time interrupt I5002 *: D:$000080 .... AGW1 > ! setxy -150 600 x: -150.030 y: 599.993 focus: 0.000 filter: 0 Move finished. Error vector: 0x000000 All ok Motor error vector: 0x000000 Motor error no limits vector: 0x000000 Homed status: 0x17 In position: 0x17 X: -150.030 -150.000 -150.000 Y: +599.993 +600.000 +600.000 Focus: +0.000 +0.000 Filter: 0 0 AGW1 > gatdump 1 900189 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166671264 -4549 2 900288 0 0 0 -31398641 -31426560 27919 0 0 0 3166666715 3166671264 -4549 3 900387 0 0 0 -31398641 -31435776 37135 0 0 0 3166666715 3166671264 -4549 4 900489 0 0 0 -31398641 -31435776 37135 0 0 0 3166666715 3166671264 -4549 5 900588 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166671264 -4549 6 900687 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166671264 -4549 7 900789 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166671264 -4549 8 900888 0 0 0 -31398641 -31420416 21775 0 0 0 3166666715 3166671264 -4549 9 900987 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166671264 -4549 10 901089 0 0 0 -31398641 -31435776 37135 0 0 0 3166666715 3166669824 -3109 11 901188 0 0 0 -31398641 -31429632 30991 0 0 0 3166666715 3166669824 -3109 ..... AGW1 > gatout data.dat AGW1 > %ENDCODE%
Topic revision: r2 - 18 Feb 2020, PetrKubanek
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback