PrecisePositionLibrary Namespace |
protected override void WndProc(ref Message m) { switch(m.Msg) { case PrecisePositionLibrary.TPPID.WM_LOCATE_PACK: if ((int)m.WParam == PrecisePositionLibrary.TPPID.WP_LOCATE_TAG) { PrecisePositionLibrary.PrecisePosition.TagPacketReport tp; if (!PrecisePositionLibrary.PrecisePosition.GetHGLobj(m.LParam, out tp)) return; PrecisePositionLibrary.PrecisePosition.FreeHGLOBAL(m.LParam); ...處理tag定位消息... } break; } }
Class | Description | |
---|---|---|
AnchorLocateConf |
AnchorLocateConf類別是一個基站的定位配置資訊類別,用來設置基站的高度、座標(含高度)以及所屬組別
| |
Kalman |
Kalman濾波 要想對Tag的座標點(x,y)進行過濾以得到較穩定的定位表現,我們必須創建兩個Kalman的濾波器物件 ,一個表示X的座標,一個表示Y的座標,如果座標包含z,則應當創建多一個Kalman的濾波器物件來表示Z 在創建Kalman濾波器物件時,我們需要提供4個變數,分別是X,P,Q,R | |
Point |
Point類是一個座標類別,該類別有三個double成員變數X、Y、Z,這三個成員變數預設值都為-1d,當然我們在生成這個類別的物件時可以對兩個變數初始化 此Point類別有一個特殊地方是可以序列化,我們可以將座標訊息儲存到硬碟上 | |
PrecisePosition |
主要功能如網路監控、設備配置初始化、座標計算、定位濾波、聲光控制、卡片狀態等功能封裝成DLL,提供使用者可以進行二次開發。
其中API部份僅提供座標存取、狀態存取與設備控制等功能,不包含數值處理函式,如定位卡片座標是由DLL解析封包後自行計算, 使用者無法自行調用定位演算法來處理數值,只能取得座標及設定使用的演算法(TwoDim_TagHeightRange,TwoDim_TagHeightFixed,ThreeDim)。 dll主要區分成三個類別,以下將個別說明DLL內容DLL調用流程 ■ 定位座標類別,網路監控、設備配置初始化、座標計算、定位濾波 ■ 聲光控制類別,LED、蜂鳴器控制 ■ 卡片狀態類別,卡片跌倒、卡片跌落 | |
PrecisePositionTagControlConf |
卡片控制類別,在調用public static bool StartTagControl(TagControlConf conf)函數時需要傳入該參數
| |
PrecisePositionTagControlParam |
卡片控制參數類別
| |
TagLocateConf |
TagLocateConf 類是卡片的定位配置資訊類,主要用來設置Tag的高度。
只有使用LocateAlgorithm.TwoDim_TagHeightFixed才需要配置卡片,詳細說明參考列舉LocateAlgorithm
| |
TPPID |
TPPID類是消息類型類別,在主程式處理上報資料時,
我們需要重寫protected override void WndProc(ref Message m)函數用於處理這些消息
|
Structure | Description | |
---|---|---|
PrecisePositionAnchorPacketReport |
AnchorPacketReport是DLL拋給主程式的基站消息結構體。
| |
PrecisePositionTagControlResult |
TagControlResult是DLL向主程式拋的卡片控制結果消息結構體。
| |
PrecisePositionTagFallInfoReport |
TagFallInfoReport是DLL向主程式拋的卡片跌落或跌倒狀態消息結構體
| |
PrecisePositionTagPacketReport |
TagPacketReport結構體是DLL拋給主程式的Tag消息結構體。
|
Enumeration | Description | |
---|---|---|
ParamsType | 參數類型 | |
PrecisePositionFallStatus |
該列舉物件用於表示卡片狀態類型。
| |
PrecisePositionLocateAlgorithm |
該列舉物件列舉了三種定位演算法,在使用函數Start(...) 時需要指定一種定位演算法傳入。
| |
PrecisePositionLocateType |
該列舉物件用於解析TagPacketReport.LocateType參數。表示卡片上報的定位封包類型。
將TagPacketReport.LocateType參數與列舉值進行與(&)操作,如結果等於列舉數值,即為該定位類型。TagPacketReport.LocateType可能包含多種定位類型。
| |
PrecisePositionReportMode |
該列舉物件列舉了兩種定位消息的上報模式,在使用函數Start(...) 時需要配置該參數。
|