package JNADell; import com.sun.jna.Library; import com.sun.jna.Native; import BaoWen.DebugStarMessage; import Frame.TcpIpManage; public class DellJAN { static boolean start=true; static int youxiao=0; static int suanfaversion=0; static boolean biaozhi=true; /** * ¶¯Ì¬Á´½Ó¿â±àÒëʱѡÔñµÄƽ̨¡£Èç¹ûͨ¹ýx86ƽ̨±àÒ룬ÄÇôֻÄÜʹÓÃ32λjdk»·¾³¼ÓÔØ£¬Èç¹ûҪʹÓÃ64λjdk,±ØÐëʹÓÃx64ƽ̨±àÒë¡£ * * ½Ó¿ÚÄÚ²¿ÐèÒªÒ»¸ö¹«¹²¾²Ì¬³£Á¿£ºINSTANCE£¬Í¨¹ýÕâ¸ö³£Á¿£¬¾Í¿ÉÒÔ»ñµÃÕâ¸ö½Ó¿ÚµÄʵÀý£¬´Ó¶øÊ¹Óýӿڵķ½·¨£¬Ò²¾ÍÊǵ÷ÓÃÍⲿdll/soµÄº¯Êý¡£ * ¸Ã³£Á¿Í¨¹ýNative.loadLibrary()Õâ¸öAPIº¯Êý»ñµÃ£¬¸Ãº¯ÊýÓÐ2¸ö²ÎÊý£º * * µÚÒ»¸ö²ÎÊýÊǶ¯Ì¬Á´½Ó¿âdll/soµÄÃû³Æ£¬µ«²»´ø.dll»ò.soÕâÑùµÄºó׺£¬Õâ·ûºÏJNIµÄ¹æ·¶£¬ÒòΪ´øÁ˺ó׺Ãû¾Í²»¿ÉÒÔ¿ç²Ù×÷ϵͳƽ̨ÁË¡£ * ËÑË÷¶¯Ì¬Á´½Ó¿â·¾¶µÄ˳ÐòÊÇ£ºÏÈ´Óµ±Ç°ÀàµÄµ±Ç°Îļþ¼ÐÕÒ£¬Èç¹ûûÓÐÕÒµ½£¬ÔÙÔÚ¹¤³Ìµ±Ç°Îļþ¼ÐÏÂÃæÕÒwin32/win64Îļþ¼Ð£¬ * ÕÒµ½ºóËÑË÷¶ÔÓ¦µÄdllÎļþ£¬Èç¹û ÕÒ²»µ½ÔÙµ½WINDOWSÏÂÃæÈ¥ËÑË÷£¬ÔÙÕÒ²»µ½¾Í»áÅ×Òì³£ÁË¡£ * µÚ¶þ¸ö²ÎÊýÊDZ¾½Ó¿ÚµÄClassÀàÐÍ¡£JNAͨ¹ýÕâ¸öClassÀàÐÍ£¬¸ù¾ÝÖ¸¶¨µÄ.dll/.soÎļþ£¬¶¯Ì¬´´½¨½Ó¿ÚµÄʵÀý¡£ * ¸ÃʵÀýÓÉJNAͨ¹ý·´Éä×Ô¶¯Éú³É¡£ * * ½Ó¿ÚÖÐÖ»ÐèÒª¶¨ÒåÄãÒªÓõ½µÄº¯Êý»òÕß¹«¹²±äÁ¿£¬²»ÐèÒªµÄ¿ÉÒÔ²»¶¨Ò壬עÒâ²ÎÊýºÍ·µ»ØÖµµÄÀàÐÍ£¬Ó¦¸ÃºÍÁ´½Ó¿âÖеĺ¯ÊýÀàÐͱ£³ÖÒ»Ö¡£ * ¶¨ÒåºÃ½Ó¿Úºó£¬¾Í¿ÉÒÔʹÓýӿÚÖеĺ¯Êý¼´ÏàÓ¦dll/soÖеĺ¯ÊýÁË */ public interface DLibrary extends Library { //´Ë´¦ÎÒµÄjdk°æ±¾Îª64λ,¹Ê¼ÓÔØ64λµÄDll DLibrary INSTANCE = (DLibrary) Native.loadLibrary("JNA1",DLibrary.class); //JNA.dll Öж¨ÒåµÄº¯Êý /**³õʼ»¯ * @param anchornum ϵͳ»ùÕ¾×ÜÊý*/ public int SuanFa_Init(int anchornum); /**¸üлùÕ¾µÄÆøÑ¹Öµ*/ public int anchor_baro_update(int anchorid,int anchorqiya); /**Ìí¼Ó»ùÕ¾*/ public int anchor_register( int an_id, int an_px, int an_py, int an_pz, int floor, int config_num,//»ùÕ¾ÔÚ¼¸¸ö×éÄÚ int[] group, //»ùÕ¾ËùÊôµÄ×é int[] range, //»ùÕ¾µÄÁ¿³Ì int[] dimension,//»ùÕ¾µÄά¶È int nearby_anchor_number, // ÁÙ½ü»ùÕ¾idÊýÄ¿ int[] nearby_anchor_id_list ); // ÁÙ½ü»ùÕ¾idÊý×é /**Ìí¼ÓÇøÓò*/ public int add_area( int id, //ÇøÓò±àºÅ int floor,//»ùÕ¾µÄ²ã int group, //×éid int num, //¶¥µãÊýÄ¿ int[] px, //x¶¥µã¼¯ºÏ int[] py, //y¶¥µã¼¯ºÏ int[] entrance, // ¿ÉÈë int[] exit ); // ¿É³ö /**ɾ³ýÇøÓò*/ public int delete_area( // Èç¹û²»³É¹¦·µ»Ø-1 int id); // Ҫɾ³ýµÄ»ùÕ¾id /** ·µ»ØÇøÓòÄÚ»ùÕ¾*/ public int get_anchor_in_area( // ·µ»ØÇøÓòÄÚ»ùÕ¾ÊýÄ¿ int area_id, // ÊäÈëÇøÓòid int[] an_id); // ·µ»Ø»ùÕ¾id /**»ùÕ¾µÄ²ãÐÅÏ¢*/ public int add_floor( int id, // ²ãid int bottom, // ±¾²ãµ×²¿¸ß¶È int top); // ±¾²ã¶¥²¿¸ß¶È /**·µ»ØÊ±¼äƬº¯Êý * @param timestampʱ¼ä´Á * @param ±êÇ©id * @param ±êÇ©µÄƵÂÊ*/ public int slotted_aloha(int timestamp, int tagid, int tag_freq); /**¼ä¸ôÒ»¸ö·ÖÅäÒ»¸öʱ¼äƬ*/ public int slotted_aloha_gap1(int stamp, int tagid, int taghz); /**[0,199]ʱ¼äƬ»ìºÏ×î´ó»¯Ê¹ÓÃ, ÊÊÓÃÓÚ¶àÖÖÆµÂÊ»ìÓÃ, ½öÖ§³Ö[1,2,5,10,20]*/ public int slotted_aloha_mix(int stamp, int tagid, int taghz); /**ɾ³ýʱ¼äƬ½Ó¿Úº¯Êý£¬·µ»ØÖµ0Õý³£³É¹¦É¾³ý£¬ÆäËûÒì³£¡£ * @param ²ÎÊýΪtagid(±êÇ©id)ºÍ * @param tag_freq(±êǩƵÂÊ)*/ public int delete_tag_from_slotted_aloha(int tagid, int tag_freq); /** * * @param int counter, // °üÐò * @param int stamp, // ʱ¼ä´Á * @param int tagid, // ±êÇ©id * @param int tagpz, // ±êÇ©¸ß¶È * @param int taghz, // ±êǩƵÂÊ * @param int speed, // ±êÇ©×î´óËÙ¶È * @param int nmove, // ±êÇ©¾²Ö¹×´Ì¬flag * @param int tbaro, // ÆøÑ¹¸ß¶È, Ô­À´µÄ¸ß¶ÈÐÅÏ¢Ïȱ£Áô²»¶¯ * @param int annum, // »ùÕ¾ÊýÄ¿ * @param int[] an_id, // »ùÕ¾id, Óëannum¶ÔÓ¦ * @param int[] andis, // ²â¾à, Óëannum¶ÔÓ¦ * @param int[] power, // ÐźÅÇ¿¶È, Óëannum¶ÔÓ¦ * @param int[] powerd, // ÐźÅÇ¿¶È²î, Óëannum¶ÔÓ¦ * @param int[] tag_pos_out // 4ά±äÁ¿Êä³ö, x,y,z,floor*/ public int get_position( int counter, // °üÐò int stamp, // ʱ¼ä´Á int tagid, // ±êÇ©id int tagpz, // ±êÇ©¸ß¶È int taghz, // ±êǩƵÂÊ int speed, // ±êÇ©×î´óËÙ¶È int nmove, // ±êÇ©¾²Ö¹×´Ì¬flag int tbaro, // ÆøÑ¹¸ß¶È, Ô­À´µÄ¸ß¶ÈÐÅÏ¢Ïȱ£Áô²»¶¯ int annum, // »ùÕ¾ÊýÄ¿ int[] an_id, // »ùÕ¾id, Óëannum¶ÔÓ¦ int[] andis, // ²â¾à, Óëannum¶ÔÓ¦ int[] power, // ÐźÅÇ¿¶È, Óëannum¶ÔÓ¦ int[] powerd, // ÐźÅÇ¿¶È²î, Óëannum¶ÔÓ¦ int[] tag_pos_out // 4ά±äÁ¿Êä³ö, x,y,z,floor ); //»ñȡƽ»¬µÄÂ˲¨Öµ public int GetSmoothPosition(int tagid, int time_s, int[] pout); // ÉèÖûùÕ¾×î´ó²â¾à·¶Î§, ³¬¹ýÔòÈÏΪ²â¾àʧ°Ü public int SetParaAnchorDismax(int dis); // ÉèÖÃÒ»½×µÍͨÂ˲¨²ÎÊý(0, 10],0²»¸üÐÂ, 10²»Â˲¨ public int SetParaFilter1dcurr(int curr); // ÊÇ·ñ¿ªÆôλÖÃËæ¼Ó¼Æ¾²Ö¹¶ø·¶Î§²¨¶¯, 1¿ªÆô public int SetParaFakePosEnable(int en); // Ëæ¼Ó¼Æ²¨¶¯·¶Î§ public int SetParaFakePosRange(int range); // Ò»¶þά½áºÏ, һά¿í¶ÈÓ°Ï췶Χ public int SetParaSolver1dwidth(int width); // ±êÇ©¸ú»ùÕ¾¼Ð½ÇСÓÚÕâ¸ö¼Ð½Ç²»½âËã, cos0¡ã¶ÔÓ¦1, ËùÓж¼½âËã public int SetParaSolver2dcosthre(int cosa); // ¶þάÁ½»ùÕ¾Ö®¼ä×îС°²×°¾àÀë public int SetParaSolver2danchordismin(int dis); // ÊÇ·ñ¿ªÆôlogÊä³ö public int SetParaLogEnable(int en); // Èç¹ûÊÇ֮ǰ¼¸¸ö°ü, ²»¸üÐÂ(°ü»ØËÝ) public int SetParaBacktrackingNum(int num); // ÊÇ·ñÖ»ÓÐÁÙ½ü»ùÕ¾²ÅÒ»Æð½âÎö, en=1ÊÇ=0·ñ public int SetParaSolveOnlyNeighbor(int en); // ʱ¼äƬ·ÖÅ䷽ʽ0=GAP1, 1=MIX public int SetParaSlotMode(int mode); // ½á¹ûÂ˲¨·½Ê½0=Ò»½×µÍͨ, 1=»¬¶¯Æ½¾ù public int SetParaFilterType(int filter); /**idÏàͬµ«ÊDz㲻ͬµÄ×éÁ¬½Ó³Éͬһ¸ö×é, µ±Ç°Ö»Ö§³Ö1ά×é * @param int groupid×éid * @param int floornum ²ãÊýÁ¿, µ±Ç°Ö»Ö§³Ö2²ã * @param int[] floorids ÒªÁ¬½ÓµÄ²ãid**/ public int link_group(int groupid, int floornum, int[] floorids); /**ÉèÖÃij¸ö¿ç²ã»ùÕ¾ÔÚ¶à²ã×éÄÚµÄ¸ß¶È *@param int anchorid»ùÕ¾id *@param int groupid ×éid *@param int heightеĸ߶È*/ public int set_height_in_group(int anchorid, int groupid,int height); /**ÉèÖÃÄÄЩ×éÊÇÊÒÍâ×é *floor_id ×éËùÔÚ²ãµÄÊý×é*/ public int SetOutdoorGroup(int num,int[] group_id,int[] floor_id); // ÉèÖÃÄÄЩÊDZؾ­×é public int SetMustpassGroup(int num,int[] group_id,int[] floor_id); // Ϊ»ùÕ¾µ¥¶ÀÉèÖñؾ­¾àÀë(3D¾àÀë²»ÊÇÆ½Ãæ¾àÀë) public int SetAnchorMustpassDis(int an_id,int andis); // ±Ø¾­×éÊÇ·ñδ¾­¹ý»ùÕ¾, ¼´ÊÇ·ñÓдíÎó public int isInMustpassGroupButNotPassAnchor(); // ÉèÖÃÄÄЩ×é½øÐпí¶ÈÔ¼Êø public int SetGroupDisErrorRange( int num, // ×é¸öÊý int[] group_id, // ×éid int[] floor_id, // ËùÔÚ²ãid int[] edis); // Ô¼ÊøµÄ¿í¶È //int32_t SetReferencePoint(int32_t px, int32_t py) /**½ÃÕýµ±Ç°×ø±ê*/ public int SetSetReferencePoint(int px, int py); /**ÉèÖÃÁ½¸ö±êÇ©µÄˮƽ¾àÀë*/ public int RelativeCaibration(int stamp, int distance); /**ÖØÖÃ2±êÇ©µÄˮƽ¾àÀë*/ public int RelativeCaibrationReset(); /**»ñÈ¡±êÇ©ËÙ¶È*/ public int get_velocity(int tagid,int[] vel); // ¸øÒ»Î¬×éÌí¼Ó½âÎöµÄ¶à¶ÎÏß public int add_line(int id, // Ïßid int flr, // ×éµÄ²ã int grp, // ×éid int vnum, // ¶¥µã¸öÊý int[] px, // ¶¥µãµÄx×ø±ê int[] py); // ¶¥µãµÄy×ø±ê public int get_group_line( int grp,// ×éid int flr, // ×éµÄ²ã int vnum, // ¶¥µã¸öÊý int[] px, // ¶¥µãµÄx×ø±ê int[] py); // ¶¥µãµÄy×ø±ê /**½«fid²ãµÄgid×éÉèÖÃΪ±Ø¾­×é, ±Ø¾­¾àÀëdis, ·µ»ØÖµÎª¸º´ú±íÉèÖÃʧ°Ü*/ public int set_group_mustpuss(int gid, int fid, int dis); /**ÉèÖûùÕ¾an_idµÄ±Ø¾­¾àÀëΪandis, ·µ»ØÖµÎª¸º´ú±íÉèÖÃʧ°Ü*/ int set_anchor_mustpuss_distance(int an_id, int andis); /**Ìí¼ÓΧÀ¸*/ int add_fence( int id, // ΧÀ¸id int vnum,//¶¥µãµÄ¸öÊý int[] px, int[] py); // µãµÄ×ø±ê /** * ÈÎÒâλÖøĵ½Î§À¸ÄÚ * @param px * @param py * @param px_out * @param py_out * @return */ int get_position_in_fence(int px, int py, int[] px_out, int[] py_out); } /** * ×Ô¶¯Éú³ÉһάÏß * @param grp * @param flr * @param vnum * @param px * @param py * @return */ public static int get_group_line(int grp,int flr,int vnum,int[] px,int[] py){ return DLibrary.INSTANCE.get_group_line(grp,flr,vnum,px,py); } /** * ÈÎÒâλÖøĵ½Î§À¸ÄÚ * @param px * @param py * @param px_out * @param py_out * @return */ public static int get_position_in_fence(int px, int py,int[] px_out, int[] py_out){ return DLibrary.INSTANCE.get_position_in_fence(px,py,px_out,py_out); } /** * Ìí¼ÓΧÀ¸ * @param id //ΧÀ¸Id * @param vnum //ΧÀ¸¶¥µã¸öÊý * @param px //¶¥µãX×ø±ê * @param py //¶¥µãY×ø±ê * @return */ public static int add_fence(int id, int vnum, int[] px, int[] py){ return DLibrary.INSTANCE.add_fence(id,vnum,px,py); } /** * ÉèÖûùÕ¾an_idµÄ±Ø¾­¾àÀëΪandis, ·µ»ØÖµÎª¸º´ú±íÉèÖÃʧ°Ü * @param an_id * @param andis * @return */ public static int set_anchor_mustpuss_distance(int an_id, int andis){ return DLibrary.INSTANCE.set_anchor_mustpuss_distance(an_id,andis); } /** * ½«fid²ãµÄgid×éÉèÖÃΪ±Ø¾­×é, ±Ø¾­¾àÀëdis, ·µ»ØÖµÎª¸º´ú±íÉèÖÃʧ°Ü * @param gid * @param fid * @param dis * @return */ public static int set_group_mustpuss(int gid, int fid, int dis){ return DLibrary.INSTANCE.set_group_mustpuss(gid,fid,dis); } /**ɾ³ýʱ¼äƬº¯Êý* * @param ²ÎÊýΪtagid(±êÇ©id)ºÍ *@param tag_freq(±êǩƵÂÊ)*/ public static int delete_tag_from_slotted_aloha(String tag,int tagid, int tag_freq) { int succ=DLibrary.INSTANCE.delete_tag_from_slotted_aloha(tagid, tag_freq); return succ; } /**·µ»ØÊ±¼äƬº¯Êý * @param timestampʱ¼ä´Á * @param ±êÇ©id * @param ±êÇ©µÄƵÂÊ*/ public static int get_slotted_aloha(int timestamp, int tagid, int tag_freq) { int slotted_aloha=DLibrary.INSTANCE.slotted_aloha(timestamp, tagid, tag_freq); return slotted_aloha; } /**¼ä¸ôÒ»¸ö·ÖÅäÒ»¸öʱ¼äƬ*/ public static int get_slotted_aloha_gap1(int stamp, int tagid, int taghz) { int a=DLibrary.INSTANCE.slotted_aloha_gap1(stamp, tagid, taghz); return a; } /**[0,199]ʱ¼äƬ»ìºÏ×î´ó»¯Ê¹ÓÃ, ÊÊÓÃÓÚ¶àÖÖÆµÂÊ»ìÓÃ, ½öÖ§³Ö[1,2,5,10,20]*/ public static int get_slotted_aloha_mix(int stamp, int tagid, int taghz) { int a=DLibrary.INSTANCE.slotted_aloha_mix(stamp, tagid, taghz); return a; }; /**Ëã·¨¿â³õʼ»¯*/ public static void suanfa_chushi(int outjnalog) { if(start) { suanfaversion=DLibrary.INSTANCE.SuanFa_Init(outjnalog); start=false; } } /**¸æËßËã·¨¿â»ùÕ¾µÄÏà¹ØÐÅÏ¢ * @param an_id, * @param int an_px, * @paramint an_py, * @param int an_pz, * @param int floor, * @param int config_num,//»ùÕ¾ÔÚ¼¸¸ö×éÄÚ * @param int[] group, //»ùÕ¾ËùÊôµÄ×é * @param int[] range, //»ùÕ¾µÄÁ¿³Ì * @param int[] dimension,//»ùÕ¾µÄά¶È * @param int nearby_anchor_number, // ÁÙ½ü»ùÕ¾idÊýÄ¿ * @param int[] nearby_anchor_id_list// ÁÙ½ü»ùÕ¾idÊý×é*/ public static int anchor_register( int an_id, int an_px, int an_py, int an_pz, int floor, int config_num,//»ùÕ¾ÔÚ¼¸¸ö×éÄÚ int[] group, //»ùÕ¾ËùÊôµÄ×é int[] range, //»ùÕ¾µÄÁ¿³Ì int[] dimension,//»ùÕ¾µÄά¶È int nearby_anchor_number, // ÁÙ½ü»ùÕ¾idÊýÄ¿ int[] nearby_anchor_id_list// ÁÙ½ü»ùÕ¾idÊý×é ){ int num=DLibrary.INSTANCE.anchor_register( an_id, an_px, an_py, an_pz, floor, config_num,//»ùÕ¾ÔÚ¼¸¸ö×éÄÚ group, //int[]»ùÕ¾ËùÊôµÄ×é range, //int[]»ùÕ¾µÄÁ¿³Ì dimension,//int[]»ùÕ¾µÄά¶È nearby_anchor_number, // ÁÙ½ü»ùÕ¾idÊýÄ¿ nearby_anchor_id_list//int[]idÊý×é ); String acid=Long.toHexString(an_id).toUpperCase(); if(biaozhi) { DebugStarMessage.getDebug().append("ANREG2," +acid+"," +an_px+"," +an_py+"," +an_pz+"," +floor+"," +config_num+",(" +int2str(group)+"),(" +int2str(range)+"),(" +int2str(dimension)+")," +nearby_anchor_number+",(" +int2hexstr(nearby_anchor_id_list)+"),result:" +num+"\n"); } return num; } /**Ìí¼ÓÇøÓò*/ public static int add_area( int id, //ÇøÓò±àºÅ int floor,//ËùÔÚ²ã int group,//ËùÔÚ×é int num, // ¶¥µãÊýÄ¿ int[] px, //x¶¥µã¼¯ºÏ int[] py, //y¶¥µã¼¯ºÏ int[] entrance, // ¿ÉÈë int[] exit) {// ¿É³ö int add_area=DLibrary.INSTANCE.add_area(id,floor,group,num, px, py, entrance, exit); if(biaozhi) { DebugStarMessage.getDebug().append("AREA," +id+"," +floor+"," +group+"," +num+",(" +int2str(px)+"),(" +int2str(py)+"),(" +int2str(entrance)+"),(" +int2str(exit)+"),result:" +add_area+"\n");} return add_area; } /** * * @param id Ïßid * @param floor ×éµÄ²ã * @param group ×éid * @param num ¶¥µã¸öÊý * @param px ¶¥µãµÄx×ø±ê * @param py ¶¥µãµÄy×ø±ê * @return */ public static int add_line( int id, //Ïßid int floor,//×éµÄ²ã int group,//×éid int num, // ¶¥µã¸öÊý int[] px, //¶¥µãµÄx×ø±ê int[] py //¶¥µãµÄy×ø±ê ) { return DLibrary.INSTANCE.add_line(id,floor,group,num,px,py); } /**ɾ³ýÇøÓò*/ public static int delete_area( // Èç¹û²»³É¹¦·µ»Ø-1 int id) { int delete_area=DLibrary.INSTANCE.delete_area(id); return delete_area; } /** ·µ»ØÇøÓòÄÚ»ùÕ¾*/ public int get_anchor_in_area( // ·µ»ØÇøÓòÄÚ»ùÕ¾ÊýÄ¿ int area_id, // ÊäÈëÇøÓòid int[] an_id) {// ·µ»Ø»ùÕ¾id int get_anchor_in_area=DLibrary.INSTANCE.get_anchor_in_area(area_id, an_id); return get_anchor_in_area; }; /** * @param baoxu°üÐò * @param timestampʱ¼ä´Á £¨Ð¡Ê±*3600+·ÖÖÓ*60£©*1000 * @param an_x[]»ùÕ¾X×ø±ê * @param an_y[]»ùÕ¾y×ø±ê * @param an_z[]»ùÕ¾z×ø±ê * @param dis[] ±êÇ©µ½»ùÕ¾¾àÀë * @param anchor_num »ùÕ¾ÊýÁ¿ * @param anchor_id»ùÕ¾id * @param tag_id ±êÇ©id * @param tag_heigt ±êÇ©¸ß¶È s * @param tag_hz±êǩƵÂÊ * @param tagspeed_limitËÙ¶ÈÏÞÖÆ * @param anchour_distance[]»ùÕ¾µÄÁ¿³Ì * @param dimension[] Ë㷨ѡÔñ1ÊÇ1ά2ÊǶþά * @param stationary_flag¾²Ö¹×´Ì¬ * @param tag_pos ·µ»ØµÄ±êÇ©×ø±ê * @param power[]µÚһ·¾¶ÐźÅÇ¿¶È¼¯ºÏ * @param power_diff[]µÚ¶þ·ÐźÅÇ¿¶È¼¯ºÏ * @param zu[]»ùÕ¾ËùÔÚµÄ×é * @param foor[]»ùÕ¾ËùÔڵIJã * @param qiya±êÇ©ÆøÑ¹¼ÆÖµ*/ public static int[] get_tag_pos( int counter, // °üÐò int stamp, // ʱ¼ä´Á int tagid, // ±êÇ©id int tagpz, // ±êÇ©¸ß¶È int taghz, // ±êǩƵÂÊ int speed, // ±êÇ©×î´óËÙ¶È int nmove, // ±êÇ©¾²Ö¹×´Ì¬flag int tbaro, // ÆøÑ¹¸ß¶È, Ô­À´µÄ¸ß¶ÈÐÅÏ¢Ïȱ£Áô²»¶¯ int annum, // »ùÕ¾ÊýÄ¿ int[] an_id, // »ùÕ¾id, Óëannum¶ÔÓ¦ int[] andis, // ²â¾à, Óëannum¶ÔÓ¦ int[] power, // ÐźÅÇ¿¶È, Óëannum¶ÔÓ¦ int[] powerd // ÐźÅÇ¿¶È²î, Óëannum¶ÔÓ¦ ) { /**¾­¹ýDNS¼ÆËãºóÊä³öµÄ½á¹û*/ int[] tag_pos_outs= {0,0,0,0}; youxiao=DLibrary.INSTANCE.get_position( counter, // °üÐò stamp, // ʱ¼ä´Á tagid, // ±êÇ©id tagpz, // ±êÇ©¸ß¶È taghz, // ±êǩƵÂÊ speed, // ±êÇ©×î´óËÙ¶È nmove, // ±êÇ©¾²Ö¹×´Ì¬flag tbaro, // ÆøÑ¹¸ß¶È, Ô­À´µÄ¸ß¶ÈÐÅÏ¢Ïȱ£Áô²»¶¯ annum, // »ùÕ¾ÊýÄ¿ an_id, // int[]»ùÕ¾id, Óëannum¶ÔÓ¦ andis, // int[]²â¾à, Óëannum¶ÔÓ¦ power, // int[]ÐźÅÇ¿¶È, Óëannum¶ÔÓ¦ powerd, // int[]ÐźÅÇ¿¶È²î, Óëannum¶ÔÓ¦ tag_pos_outs ); return tag_pos_outs; } /**»ñȡƽ»¬ºóµÄ×ø±êpout[x,y,z,²ã]*/ public static int[] GetSmoothPosition( int tagid, //±êÇ©ID int time_s) { int[] tag_pos_outs= {0,0,0,0}; youxiao=DLibrary.INSTANCE.GetSmoothPosition(tagid, time_s, tag_pos_outs); return tag_pos_outs; } public static int getYouxiao() { return youxiao; } public static String getSuanfaversion() { int ver=suanfaversion; int a1=ver/10000; int a2=(ver-a1*10000)/100; int a3=(ver-a1*10000-a2*100); String version="V"+a1+"."+a2+"."+a3; DebugStarMessage.getDebug().append("JNA,"+version); return version; } /**¸üлùÕ¾µÄÆøÑ¹Öµ*/ public static void qiya(int anchorid,int anchorqiya) { DLibrary.INSTANCE.anchor_baro_update(anchorid,anchorqiya); if(TcpIpManage.getStar() && TcpIpManage.getDatatypeis().equals("µ÷ÊÔÊý¾Ý")) { StringBuffer text_str=new StringBuffer(); text_str.append("ANCB,"+anchorid+","+anchorqiya); TcpIpManage.get_text_area().append(text_str+"\n"); text_str=null; } } /**Ìí¼Ó»ùÕ¾µÄ²ã¸ß¶ÈÐÅÏ¢*/ public static void cenggao(int id,int bottom,int top) { DLibrary.INSTANCE.add_floor(id,bottom,top); DebugStarMessage.getDebug().append("FLOOR,"+id+","+bottom+","+top+"\n"); } /**int[] תΪString*/ public static String int2str(int[] info) { StringBuffer a=new StringBuffer(); int size=info.length; String b=null; if(size==1) { b=String.valueOf(info[0]); a.append(b); }else { for(int i=0;i=0˵Ã÷ÓÐËÙ¶È, <0ËÙ¶È»ñȡʧ°Ü*/ public static int get_velocity(int tagid) { int[] vel=new int[3]; int a=DLibrary.INSTANCE.get_velocity(tagid, vel); return a; } }