Пример #1
0
        public static unsafe int cbFreshDevStatus(IDs id, ref DeviceStatus1 status, UInt32 userData)
        {
            string strCBName = bytesToString(id.szID);

            for (int i = 0; i < allDeviceList.Count; i++)
            {
                string strLocal = bytesToString(allDeviceList[i].deviceID.szID);
                if (strCBName == strLocal)
                {
                    if (status.m_emStatusType == eStatusType.emDevOnline)
                    {
                        onLineCBCount++;
                        string strOnlineInfo = "****** emDevOnline Info CallBack devID = " + bytesToString(id.szID)
                                               + "   All Device Count = " + allDeviceList.Count.ToString()
                                               + "   CallBackCount = " + onLineCBCount.ToString() + "\n";
                        Console.WriteLine(strOnlineInfo);
                        //Console.WriteLine("\n");
                    }

                    if (status.m_emStatusType == eStatusType.emDevConfig)
                    {
                        Console.WriteLine("**********emDevConfig Info CallBack\n");
                    }

                    if (status.m_emStatusType == eStatusType.emDevGpsInfo)
                    {
                        uint errorInfo = 0;
                        Console.WriteLine("*****************GPS Info CallBack \n");
                        DEVCHN tDevSrc = new DEVCHN();
                        tDevSrc.deviceID.szID = allDeviceList[i].deviceID.szID;
                        tDevSrc.domainID.szID = allDeviceList[i].domainID.szID;
                        tDevSrc.nSrc          = 0;
                        tDevSrc.nChn          = 0;
                        DevGPSInfo _DevGpsInfo = new DevGPSInfo();
                        _DevGpsInfo.deviceID.szID = new byte[max_id_len];

                        while (myAPI.Kdm_GetDevGpsInfo(mcuHandle, tDevSrc, ref _DevGpsInfo, ref errorInfo) != 0)
                        {
                            lock (locker)
                            {
                                devGpsInfoList.Add(_DevGpsInfo);
                            }

                            tDevSrc.nSrc++;
                            tDevSrc.nChn++;
                        }
                    }

                    if (status.m_emStatusType == eStatusType.emDevRecStatus)
                    {
                        uint             errorInfo   = 0;
                        TDevRecordStatus tDevSrcStat = new TDevRecordStatus();

                        uint nRtn = myAPI.Kdm_GetDevRecordStatus(mcuHandle, allDeviceList[i].deviceID, ref tDevSrcStat, ref errorInfo);
                        if (nRtn == 1)
                        {
                            string strDevRecStatus = "Device Record Status :" + bytesToString(tDevSrcStat.m_tDevID.szID);
                            Console.WriteLine(strDevRecStatus);
                            //lbGpsInfo.Items.Add(strDevRecStatus);
                        }
                    }
                    break;
                }
            }

            return(1);
        }
Пример #2
0
 //获取设备的GPS信息
 public extern static uint Kdm_GetDevGpsInfo(IntPtr mcuHandle, DEVCHN tDevChn, ref DevGPSInfo devGpsInfo, ref uint errorCode);