From 42dbb9b8c56e33c7e86d336c558fb9e60969d0e1 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Wed, 8 Sep 2010 10:33:56 -0400 Subject: [PATCH] Add version 0.2 and 0.12 JPK file examples from Michael Haggerty. Also adjust test/jpk_driver.py to attempt to load each file in the JPK playlist. Note that this currently fails for some of the new files because I haven't fixed the JPK driver yet. --- ...ata1D-ConstantData1D-1282315524304.jpk-data1D | Bin 0 -> 325 bytes ...1D-MemoryFloatData1D-1282315524326.jpk-data1D | Bin 0 -> 593 bytes ...-MemoryIntegerData1D-1282315524320.jpk-data1D | Bin 0 -> 505 bytes ...-MemoryIntegerData1D-1282315524323.jpk-data1D | Bin 0 -> 509 bytes ...1D-MemoryShortData1D-1282315524313.jpk-data1D | Bin 0 -> 754 bytes ...1D-MemoryShortData1D-1282315524316.jpk-data1D | Bin 0 -> 503 bytes .../data1D-RasterData1D-1282315524283.jpk-data1D | Bin 0 -> 324 bytes test/data/vclamp_jpk/README | 10 ++++++++++ ...ettings-3D-TIPSCANNER-1250682991660.jpk-force | Bin 0 -> 7102 bytes ...s-3D-hardwareFeedback-1282223571461.jpk-force | Bin 0 -> 7907 bytes ...ettings-3D-TIPSCANNER-1250682992080.jpk-force | Bin 0 -> 7190 bytes ...s-3D-hardwareFeedback-1282223571652.jpk-force | Bin 0 -> 7924 bytes test/data/vclamp_jpk/playlist.hkp | 8 ++++++++ test/jpk_driver.py | 5 +++++ 14 files changed, 23 insertions(+) create mode 100644 test/data/vclamp_jpk/Data1D/data1D-ConstantData1D-1282315524304.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-MemoryFloatData1D-1282315524326.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-MemoryIntegerData1D-1282315524320.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-MemoryIntegerData1D-1282315524323.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-MemoryShortData1D-1282315524313.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-MemoryShortData1D-1282315524316.jpk-data1D create mode 100644 test/data/vclamp_jpk/Data1D/data1D-RasterData1D-1282315524283.jpk-data1D create mode 100644 test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-TIPSCANNER-1250682991660.jpk-force create mode 100644 test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-hardwareFeedback-1282223571461.jpk-force create mode 100644 test/data/vclamp_jpk/force-scan-cycle-contact-RelativeForceSettings-3D-TIPSCANNER-1250682992080.jpk-force create mode 100644 test/data/vclamp_jpk/force-scan-cycle-contact-RelativeForceSettings-3D-hardwareFeedback-1282223571652.jpk-force diff --git a/test/data/vclamp_jpk/Data1D/data1D-ConstantData1D-1282315524304.jpk-data1D b/test/data/vclamp_jpk/Data1D/data1D-ConstantData1D-1282315524304.jpk-data1D new file mode 100644 index 0000000000000000000000000000000000000000..0f15ae20f422de5e1287b89423181f14fd98ef84 GIT binary patch literal 325 zcmWIWW@Zs#-~hrkts=GzNI($C&PYv6NiEVVD9SHLEh@=OE%rU_%XP>=fb~JGpJ0Kl zBIi~QMed7LjC&nctaOib##y+rr=3aeI!MSv8;Z z3wW5nYGF}xsQyungFiTGh2v$8B-o~@K549B2=Hd-_z=jL*8_Cu0U!?WW@Hj!KzIgO z4&)hCAVvTTuX%v|s*sXeoLrQdl$n>VP?C|VkeZjAlV6;gqTrHPl4$4>;LXYgGJ_Ea KQ-Jhouz>(|cxkHu literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/Data1D/data1D-MemoryFloatData1D-1282315524326.jpk-data1D b/test/data/vclamp_jpk/Data1D/data1D-MemoryFloatData1D-1282315524326.jpk-data1D new file mode 100644 index 0000000000000000000000000000000000000000..32a0f8e4930831939c57acb4ed16c8b2e41973c3 GIT binary patch literal 593 zcmWIWW@Zs#-~hrkts=GzNI($C&PYv6NiEVVD9SHLEh@=OE%xoX&BdfB;(Grt*TQty z)Gi4Ne#5K$SNJ_LBObHryVlR|WBI%(aqZsoH|H!q*#7B2Q{q19_O}{rHgol^Ygss- z|DaSpQ}tq6*a!8x7>TV4x7@XjD_76xDL9P3r!8>~`U1ByC37cD@)6C?zoenHVz%Pvf3sDLZ(E-+Po6&AM*Q^GnvHtTe{Qpq zVHU8l=1sq*5wzy0+>_11yH}o1N?cnSCAhocb4KrzR*lUXqK3LXmlT$pO);OhY)SBS zma{8vCS05_eNl|6+jhnjhYO9f@A*pjN0kxd2# zr7B1r9AE^j2RNh^Qc{bPi!zfk^U@VcGEx;%^OAG&i&Ik+T!6M4x}e*EY(Ll?aPzr= Y{(-qTz?+o~B*6rPvw*ZGP>z8C01>L5EdT%j literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/Data1D/data1D-MemoryIntegerData1D-1282315524323.jpk-data1D b/test/data/vclamp_jpk/Data1D/data1D-MemoryIntegerData1D-1282315524323.jpk-data1D new file mode 100644 index 0000000000000000000000000000000000000000..7e50872ea0a4c4ba900e949376a10471971776bf GIT binary patch literal 509 zcmWIWW@Zs#-~hrkts=GzNI($C&PYv6NiEVVD9SHLEh@=OEw1f9n0Hu#r|o@Zmxrye z-g(_eb)>vnLzvj;+i~UHh&5?Yj$k zudl!RGp}LN)#INu*$%t)STz4zcjb0exaE--drWoo9xz*7+7y^Ob*Wmpw2|1CsAWHn zo}TjUS(JjSwpjZS$JO7K8tl_uAl$_H=U3iAhrQAVrk5>g5I$IN{h!oAbK^@PXG)kp zyKvNazusBMbHMCe&*`4?dfH*Pg6-b@Ka+j+gx?$a?1>XjAJ^G%JTB!!|19VBSKI;K z>>O&VTUT8GdUgXN1497L;NSqNNJ%V7)B_U92@9P3r!8>~`U1D^|Jv&5^=WlQweaE>i*`vG8Rsk1Z!4dXe@sumQg7PppGmRjKIfKN zv^jiuV-pjx*khwu^@M!&GXMFmiEB%v1a~)m&ggy8s{%8Kj`j`C==Wp&`yg&JW2!0p-Ci+$Ui{xkN zPqH87KPbLeey93Y{f*{p?N_=l^ zzBm1E1YQrm7J4=OO629}OR*Q@FC?B%K9_nn{Y>WR>{GcX^G_5WFFsa!wERfr;p#)R z2kQ?s?r+}Ly0?8#=kD%Zy*vANOx!+s+tjVox6Ir;d(+&F^EWJ9zj)o!waeG6T)leL z+Lh~9Y+Sy1+191om+V};d(qy7`xhLXe|X-}xyR?6oPB!M*_r2OT%3M++SRGor`(); zd(z#B_a{8;f86)9_j%9D?$=#!JKuMFZ2#Q$we@?;&*tAve;YwT=XZBbBP%f27{Ect z$RxsmNJGfM3Q9w&K#TwwDar$!#1v9ei<65olQQ$t6-qKv6;kt(bMlK*Qxsf)L2u|1 j;Eiervi+b4LI8H4i(t_e;LXYgl3@bESwPx}3B&^cSIau_ literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/Data1D/data1D-MemoryShortData1D-1282315524316.jpk-data1D b/test/data/vclamp_jpk/Data1D/data1D-MemoryShortData1D-1282315524316.jpk-data1D new file mode 100644 index 0000000000000000000000000000000000000000..51ef11993fc72c82126a96675c409cccb9cb4158 GIT binary patch literal 503 zcmWIWW@Zs#-~hrkts=GzNI($C&PYv6NiEVVD9SHLEh@=OEw1f9n044dz~%ivF6VPb zlRTX{UkC_2XP+c5@a@*!Yf+M!Qzz_SFS2zD`}XOM#-G`?%-($bm%#E}Q@7rFyIucx zS+xA_)26ImVee13OYle=KH~Xxd*$WJ;gLsP>@n5Jd%$dUX;WbC)P-u>c_q1jWlsKc z>aO;Xg7bpzs+H<^nvL%K?gb$B3?S@r!84o@RIe|dgey? zms;k1j5m(WESxF$FM)gNxyi5po{wAYR+hBA&(%p!e)9pj>WR(u7j&#b<_CDQb3916 zCvpbp(dCQ`3;{TUf&-``C9xz?4@e{@NZbUeW#@=!oyN-s3NWx literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/Data1D/data1D-RasterData1D-1282315524283.jpk-data1D b/test/data/vclamp_jpk/Data1D/data1D-RasterData1D-1282315524283.jpk-data1D new file mode 100644 index 0000000000000000000000000000000000000000..0427d46b820cd397b4642a833b1fadd9eb516f51 GIT binary patch literal 324 zcmWIWW@Zs#-~hrkts=GzNI($C&PYv6NiEVVD9SHLEh@=OE%xp4o-1*>bZWL3VT+RL2=Ch5h>NNP*sfO=fc%N_A^T#iX=C)3H zGc)c{-ieNrdv#5Mj<-hg8oGXIJ90d!%&_6jl(era7UyqjP@8--b?dEwJsuZXPc8UT zS2~mD(w-^2xlC7Au(-e0&*!}B8}c#yYQvej0B?4VO*Mwf-9UGq1mXa1MkWykgkO;5 zKz>mLVg$hOnFrXb3Mr|@$wiq-nR)37B^jv-sd>pc`NgRz3NDEyiH0r#-mGjOGZ=v| K1xTL)8wda;4{c=t literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/README b/test/data/vclamp_jpk/README index f2f624d..a4def3c 100644 --- a/test/data/vclamp_jpk/README +++ b/test/data/vclamp_jpk/README @@ -15,3 +15,13 @@ but can be overridden by an attrubute in the XML playlist, __to__calibration_file height_nominal_to_calibrated_calibration_file="default.cal" Relative paths are rooted in the same directory as the curve file. + + +On Fri, Sep 03, 2010 at 02:30:37PM +0200, Michael Haggerty wrote: +> I have attached a few sample files. The main directory contains a +> couple of typical force scan files from the oldest and newest public +> versions of this file format. The "Data1D" subdirectory contains files +> showing the layout of the "data" part of force segments. Please note +> that your program *will not* be able to read the Data1D examples because +> they are fragments that are usually nested in a force file. They are +> rather to give you an idea of what the different data types look like. diff --git a/test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-TIPSCANNER-1250682991660.jpk-force b/test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-TIPSCANNER-1250682991660.jpk-force new file mode 100644 index 0000000000000000000000000000000000000000..9e98b9711efc093c0b309041d637b90fd49c6e43 GIT binary patch literal 7102 zcmbW52UJs86UTu_limqksz?nTDT*Kvdao)%8ZGpyfD|Eg2nbR_?@J9WAWaC;L5ehK zx}bbn z<|Xdowa+gwtOV>Ma(KZPmB1%Q2nSo~$D0R23YeYU|%Vd5b zdeGTKoUPI@|1<2}+xiUb?k4wzd1d`Pp;lj@2hC+Fl0b5kFkO$8(7EkENQWkJbp8u0 z#gz>Kv+%0caB1%A%pATreI8g9E0cLu^L|YjrP|(t(bNp1AgnL$Z4`FF=#gx7K@~e) z3Vy2gFr&#*XF=qdnDtm^ouTkH)hRxg=s`X{O>kMwlb*Yd(9JMi%4?k0G;c0it|lvn zJ|1u#cBwp1nkjp>;Y`q#k>aO;0u*@x9&E~%Gob^pXZHLOw22R+pu*!#kQgrr=k#-N z1S*5b&Gw$xPO`Qqmg-tGtWH+UCmHC2mEmrq#%L&B4s} zjTN{0H1Cuz2G}-{9p1m-mLx@}LV1+x z<6wWRYe2UZ&i>_wk)hussyDLSj$K^MEOAgpvIT9LG`aB=N<=wohR2EMTAo#B#cJ3k zdgWaBo>j0NC%EVqXvur>^J$$4?RuPIC-|peGTZaPFCb$>1eNU>hlIyP-cX8bwK}Tu zlA{~oUluv&zZW@3;_r*xdf2Nv!M^wGD{s+iur0eo(LF@Yotn5I_9 zZ=dwp?jS74+J+2H5T{1eHbi5Tr>^^Q>U>0PO%1Qtmsr+W9z`);VjJmB%L`hW(JkY2 zP(7`W_s#A!5Pi&-u>5+F`LoS#(Ke*9clcUuUSYj(IO5R@o~`JFlD!f7ZD=8Qk9#=gz%Tm?x(oho%+l7UxNM z6+g6f33GtHZw$zbHu+fH!hr@rm9kV*O`u}-=UPfDa-(tbrbFOs;~lX~+9a{iaP^d_ zOJPD|1X(VLB^i#^pNKXLv=#5`f`z?q%Fdm$&QxnTl&FrguD}$83Bk%HzA;Ku zf!xMHB?_<&Fm7S0X2R?-OtKd&WPy$94cBHE!XM({tM5Y_X-}t$+%6}QD-?k#2^nX8 zf%}vCy4;8&tpEJ9K7QzO@S(7I+KnY*(Zr%6&OW|&6=fm(V}lvEzIDI|5K%XH4xi{Vxd<$^IW z@v6s1$c;#Y0s*6~(7Q_MKk3}ezfLY!mZ_ro&|k&=#g)gKEuV9q&`<+ zI=F18SVqcVQQqs!bK`*XH4(d_xE0j7iXwVD0As8VS?zyp+8X)Qiz`?2dX2zzOmXcP zYnvpgvQ`d06frW`FWkJIJW9HH?#Z3^%uu0SCU>#e0dLWfdU1~u3X%{b3aROckRb}s z5CZ1ceT}}{W}}$~U${_ycSm;`gOMD(3NLl6DHglTJiF_pJ;G8n)ZKC$)GJS06R49Y zKG@)oyRT_A7a3AHmUTnjQ(q8(eCAU*^i+C*HiTaegEC}^`a zm~!DQmPN(2X3dy9aiex zrpF#exk*#zGAenRZ9e--Mnu^XpFJ24~H`GdG1U%XJ6BvJVh;XYNy#c zgmS5Hp5tC+3IEuXKr-I<{wWh5#K_}~4^}nfkNR9)yx$@P3C#$_1VfvU%4_F4Z?)eH z;H7aP?-$z$5qlbmM`V?3uvn;2*l1DM6|n2pU6Em45r!WyF4|aIEg?-H&ClkmEeDg= zP5GsYeKN2DG63o3tCy!=JWXPV41`TfYp0x}O37ePOrE$krb^=Dt}H(WD$io6<3{Nj z>>mg?4w^W)={=BTFv3rSJ!5T;Y`{wk;+5{bVK5rkd8c}558>H#Fv9*yd* zeAtX!IDWa*|MHHs+jjjLN=ON%jR5u-MS(DM@leJhAl|AEluND$rBBW5F)Ib-07szA z4Vm~W&p~;_qENax>mHMIEQYBH%2a8Mx0%7_Qn^AIvgdm&nz1>YTTqs^dHl6~Y#xAP zjTWWYW1Q%TVZf|0mMP+`$2@Z>uB_4DZS66y@yuagTw}(y;;-&_=8-C|(Io};nC9+b zSlZW^Y6J1M%X_&rL2C?o2R)XZdpX>PYb;#{c)Q-O0N@-!1nZ;gB=Wb?O zSGYV%aTMnECSx|}IWCk~3~C=|^~ix4cUwRV<}_?I(1ee1_iXmYx3v)Am&A158Z78B`ZraTchf>*wxqq6Q4fz5%&SV#* zxn2n2Q40Q%Ao>0#lYSa7xGN0eU{f`0a}Kb4v%+zOQeQ&?Vn!}9}BNlivc+v$@*vE-w~|Te}A}3{lmlEqC4>$!7`;Q zG$#^?R>F=6R>HC5+P*^y*a1C%dtl<2-sdluysLFpAqDe}y!!1)`&hGT*^b>wWZ^FR9@9Nzn#U@cR7<|tbt>IoCt zi83SfJyybx2-XF23HJ8E7vB_DTNkK>XIh+rdsE=-Y*-+o1b1!{>c>gg#w>Lkvx0hA zb4FfR%AnXkehF3R>_`QhI?c_I+xZIeX!)$GJ0lKyQ14)8@|fL2Q;s%VOVdXj83I`E z(hyN1y~0bX66)Jh3-KVn*omG`mlxbkKxh_?co1+iOIHLM4^IkER}uAl7pXDU`_T@* zxxLyT2tM6-Rn*umzN9_={MM5x2s%5lCfv4S*mIdH=oELE=`&7&w=~S>ZMAJo&P&gv zNNHh>n+(2?47*I9HNlG)HEKPma|f#Bdadd$op}ZL+Rh0h@_P}{@=W#xy$HxoRclW) zUqB^MC<;(gJy$(;DR^h8@-&#(|u^~CeU`Y2Bw%}d9bnbVdR$4 z(#J1PV}7b~o81*k`kGqZFu*0Fg}k$MMO%FC-dybJ`x{E>VeS)mGRhR5gFR`CBD&al zBwt;!M&WO?jFq@?-j-KrCka#wF0$(Dx<0TV`A%j$mD3y_G)g+OOSuqt`L)au!jd*k zdUOI4$AOPSi>U+JAg#^hfJpuT4BWmrq)K!01-IT;%-gQ;ON?N@()<44*7t6@mDGs5 zh9SJOkl?Lv=QPRX8!+pmTeINbBdqj)uX5>ssPZ2WHjx__d->d+Ty}BF=#pc8rZJFT zhkk$VYZ~{!-IB=bBz2PXbLJtTA31DH@@9ZRzP?Q8VawhYl0hdr;qk1!h>wax8oiN; zJdpE~TBU^;rg75X){mt1FJ?c|BDo8fU;*@1r~f|g{)#I72aLw*K@Qk-Ku)Gudzr~pvZYX3)0=pp#ZIRQvlJbsUGs7 zd6^BE(We|t9gn{HKrHle(EHHti(Z0hxizHn=`WjK$?eI}A}S@w1V&D6cj~LR6)CG0 zu+?x6-aZ_&uN~As^p$coWMYiRA0%xsokyi#!~#MVv1aCv0mQm>ilbX6QREeRGkDKP$fEAW?>l85m#zC|6ZhOTx0CIv%CK+JH@Cja-O* zx^I}sRmoQoHpvxSK4#aVhXHlT@}OyfUtp(^(na?o!rX>Y4T^?dbWL7&VcMiySI7gN!|Uw zezw)TaOW+fEZ56^k6iJDJ};6YTm3ucSOQG!q)gJojL7+mlgMBOOES)T66@`K%G(ze zQngrK3GKO1eF;K#wMa+p_$lhw#w5>hh(C9>(cMVuitbQh>UprTZdDq|)y=E;_EiqA z#TdRi>dCnsAvrRo6iQZ7)enLKe);61cu7m}Xd7s6_BrO!CCEJ|zQw z-rWkm_`c73l_TP(K*CQU18dMcyYO^Tf#-c@SELDLIXJBnyKNPelp#{>MM@V4iL1?a z`Fc5Ou=Mu%EmSyfn`q9g=&#>e165z9oQ978R`1^ftn^<3Z1=AKyV>w7x9a^0vfGtQ zA^S~99osO&n{!KUeob*X+fXf~xn;lRri5xFOxJd95iZvhlYoS(vskQG{vS>LobV1EqkRm#g~Y|z`9n84$Mu_kz!Caij0+@=dwwyqc8*Sj3rmNY+U9j zR8u-**{4)Cp+X;~W16uD6_kyM(T84QU|k95lTE}X!1N%jOOBedvFHS-1|RFPN0e-Q z0ToPJoptd#iEMNjm1ObK>Y=eVx-i5bttrFNH;U9cUQX z1L4|BCS6?T@^8f>-8@s-udK6Kw)VipJ<$}Hbq<6g-pRl-g@I$8RZFqQp4u}Ru!Z2h zIgfYq!=`e&BG_%`d*E_dG*uOX)5RL^Y=KQ-5=8)Yt$Q4pvB|_E2rlnTyek}(3e-ce znP&Dt1wm-?cmxLohGwP(Uf*tsy(2TLwdlpWozy7>4D?qV+_+fNJ zLN(|0)7#kHc14F5A^^L9X2XX<_f#jbqY>{L+gE4Uv*cQu4MxvdUNgatM6P433ttEe zahXa!M5ES5ysk$DPidR3!xJBm^>bQKhct&$P&vQib3wM9V zT|y#8fC%eGM{c)+|alhLSEm!St?QFVAF8^UNN2&PDOX8p0j=}s7L!NY#{K4^LBk#De z%>BD(`S*^0+kyLa&PQ|mi}~?L{(Ge+N1Mj)69oOB^yI<#d!-5AJN`$dpg$`;d44-S zZ~tLcN0~XH^e;}|e~xwXNOgST`@{T>()Cxd{&fHRIpA@C-|FQ1giBDK2q^W#GM>cV z@0Zc}d&mE{j8gwzDHF{JrP4nrJ^3K{Ua8Udj{i}q^q-ZU-0;3nIFj)@rT-$~CpVSv c6E4U6*Rg&`I5Ej_lBtib*rNjHVmbcyKPJu;@&Et; literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-hardwareFeedback-1282223571461.jpk-force b/test/data/vclamp_jpk/force-scan-cycle-contact-AbsoluteZForceSettings-3D-hardwareFeedback-1282223571461.jpk-force new file mode 100644 index 0000000000000000000000000000000000000000..41d9d885542b6ccf465730bfd6fa610500b6054a GIT binary patch literal 7907 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 yt^e%nf4W!j2HJ#Y81P7sE?Reb1-uh> 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 X6acECqTS{n-p%ESf`H)qV-@~ChOYa> literal 0 HcmV?d00001 diff --git a/test/data/vclamp_jpk/playlist.hkp b/test/data/vclamp_jpk/playlist.hkp index c35c344..65c44f2 100644 --- a/test/data/vclamp_jpk/playlist.hkp +++ b/test/data/vclamp_jpk/playlist.hkp @@ -8,3 +8,11 @@ listitems: path: 2009.04.23-15.15.47.jpk - !!python/object:hooke.curve.Curve path: 2009.04.23-15.21.39.jpk +- !!python/object:hooke.curve.Curve + path: force-scan-cycle-contact-AbsoluteZForceSettings-3D-TIPSCANNER-1250682991660.jpk-force +- !!python/object:hooke.curve.Curve + path: force-scan-cycle-contact-AbsoluteZForceSettings-3D-hardwareFeedback-1282223571461.jpk-force +- !!python/object:hooke.curve.Curve + path: force-scan-cycle-contact-RelativeForceSettings-3D-TIPSCANNER-1250682992080.jpk-force +- !!python/object:hooke.curve.Curve + path: force-scan-cycle-contact-RelativeForceSettings-3D-hardwareFeedback-1282223571652.jpk-force diff --git a/test/jpk_driver.py b/test/jpk_driver.py index c5e8202..cfc11c9 100644 --- a/test/jpk_driver.py +++ b/test/jpk_driver.py @@ -37,4 +37,9 @@ block names: ['approach', 'retract'] block sizes: [(4096, 6), (4096, 4)] Success +>>> p = h.playlists.current() +>>> for i,curve in enumerate(p.items()): +... print i, [d.info['name'] for d in curve.data] +... # doctest: +REPORT_UDIFF + """ -- 2.26.2