From 286201f2fa9c87bfcc3865203048e3fa1f173681 Mon Sep 17 00:00:00 2001 From: Hinko Kocevar Date: Tue, 12 Dec 2017 15:41:52 +0100 Subject: [PATCH] add ftdi_table.c and linux-x86_64 compiled libd2xx_table.so --- andorApp/src/ftdi_table.c | 46 ++++++++++++++++++ andorSupport/os/linux-x86_64/libd2xx_table.so | Bin 0 -> 7984 bytes 2 files changed, 46 insertions(+) create mode 100644 andorApp/src/ftdi_table.c create mode 100755 andorSupport/os/linux-x86_64/libd2xx_table.so diff --git a/andorApp/src/ftdi_table.c b/andorApp/src/ftdi_table.c new file mode 100644 index 0000000..efd991e --- /dev/null +++ b/andorApp/src/ftdi_table.c @@ -0,0 +1,46 @@ +/* + This is a simple method to enable users to configure their own table of + VID and PIDs. + Just overwrite entries in the table or add/subract as many as you want. + There may be a performance drop when using FT_Open, FT_OpenEx or + FT_ListDevices when using this method. Therefore it is advised to avoid + excessive used of these functions. + + Compile with: + $ gcc -fpic -shared -Wl,-soname,libd2xx_table.so -o libd2xx_table.so ftdi_table.c + + This is Andor Shamrock 500i: + Bus 001 Device 073: ID 0403:d493 Future Technology Devices International, Ltd + +*/ + + +#define SIZE(x) (sizeof(x)/sizeof(x[0])) + +static int id_table[][2] = { + { 0x0403, 0x6010 }, /* 2232C */ + { 0x0403, 0x6001 }, /* AM or BM */ + { 0x0403, 0x6006 }, /* Direct Driver PID */ + { 0x0403, 0xD493 } /* Andor Shamrock 500i */ +}; + +/* + int lib_check_device(int vendor, int product) + + Description: Check the VID and PID against our table + Arguments: vendor (device to check VID), product (device to check PID) + Return: 0 if no match, 1 if match +*/ +int lib_check_device(int vendor, int product) +{ + int i; + + for(i = 0; i < SIZE(id_table); i++) { + if ((id_table[i][0] == vendor) && (id_table[i][1] == product)) { + return 1; + } + } + return 0; /* no match */ +} + + diff --git a/andorSupport/os/linux-x86_64/libd2xx_table.so b/andorSupport/os/linux-x86_64/libd2xx_table.so new file mode 100755 index 0000000000000000000000000000000000000000..49394edb7e39ea0400bdab918d7229612d4529ef GIT binary patch literal 7984 zcmeHMU1%KF6~4PGS+XrlvKzau9q^DiR1V2>?OLi@NA=39l}AQ)Qdt5gR2i*yM%r!n zN8O!OB~iD5ZA=x{t=m2%FM+fnkURuRXdxj`6!M?EB(y1pzL+#2QteWQ{@{Yq_B(g( zSP-bt&1!QQrb1{Epf)z)(K;mys>uq|SlGo4McIy6vg=oN{mPE%Q)(zo+g&%J z1(cq*l-y7ED?O&9OXY!&9gFH8QKJF$b{7^*+3p*#QzlB|vq`rSkE!;W&C6xgf2N9+ zW4jGLB6yCUnh^i^OXaWPr{<$i9+-LPlN(MvFb-TdmOnNs*E{ET!u>Fb;C}OD_3}*Dz9AtdUnMUyde^=m$_8NnoV4%#m21CF z_OGl*jOA;_E2~G1&>P14>&|XC+pe5-xXxUAzrRNY9)y}Gf6=H6e6ks}3HWn5jPnCw z;H!yhwYqBHYx0fOD1gx48~d}?hE7+Git^UAhoR~A8|^Q{9SvrUTvp$kT#G?U_2siy zm&>bfCT`G(uEftLZWvD(7jAoJ%Qr#k%%l=p8WW*~?$F+jw)Tr~ zydM~yT~X-EJ>A(o+`0Qi*Vga0KO&CqIdb=x_se64bg)dK2ma*QFxc6BE*#&sDLe&F z5Nwo<8Q7SCjTzXOfsGmXKb!%M(>N~UA<%Cxm2)l;or*rIDBUBd@O@yL%huxJFDRbl z!o7;;pUgdq=lGC*XQ{CKpX=2E@z+#GIEG8B;E!Xss0tFdkTQx4GC;RVPT&UX7G;J2 zR+E6bwu*F%E9Z7sTvpzdsLJ*T6J&o3rH^nx@;p!16t64!zZG9=SNZ*46TUY$YnS8h zX7UKe(>;ZIC1^;|O^W{F54elQ<6qNyCZ@}Ir>ynrhxO>aePziV{Qki{J$hL0J>cTn zq3FTBXkYZJ&6=v=5!^fY{$2x7i6Fw`{ZNlb1n+}-yhZSSsmEIduTwp~N$~pC<88Hl zQja&@he;m6?sJkz;E_^*Aqu5kakI3)ew>?gnfrzPGvpG(S5?VJTq zh0fJbz`8sGJZM}mNd286rsh)vPo>#Byews%V#>E4-j;ad{E)Apc0Z8%jqCNH#2fd+ z6>=mR_vgCQZ_L+h!2m)5`$Pk-kt<)h4|q`CCk}iEvRnSV%t#YIXQZFTJkg}Wr+oW1 z)5OnN;6eGLpES{b7P!1v`o{H|^b>HNq>4_-DbLL4DI{}F#K+9hk<;TyFx|{2nNH43 zQAVi*4Xa?zW((8FtZ6xgV#!RF7euO%o6FjcZRua>?e7g%l9?(qSu7?OktcGBi(;mj z%-N<@&gB+i;^Aa!t6tTyGAg5#5*f>_!f1GG@MOYFoEoBpnCv{)tx~~EC-W9%z=j?? zHF$C)4hT<8yq$7A09rP7&pfUkBuha_Oo(pDhK8!;e7cy zN`}>C$8IIRCR@9OY+WqoO{=-NK%tiwb4a^^Iz^YJxt1?DwmzFL>(k{-*19)i3CX3C zrL@qk#XKxs>J(kcyj?713i&$5gsf<1lVl)tnSa#hvW`AmaD?vI3;32Zq1$P-oM{Ut z%(*7+y1JTN|5gfWaGK0zQfRT@kXs;>VAPRc6gqZT4!g#;r~ez4&SN^VR9IJw12`Vo z?{kWHh@kKihL08ofpP z-@%sl9@}%g%Ks-mMb1%p-njp~jth`^+vm9U5)BHa$0fCIwrBb#Bwl;LafE7s-xGGg zc1+*%*=ro{Df<{3DysSTKY}M;JbsR2rj$Lm!)9tam=%9Qjj(79aVu