Example #1
0
 public override void IdentifyDeviceType()
 {
     m_deviceType = m_appLayer.IdentifyDeviceType();
 }
        public MagellanProductType IdentifyDeviceType()
        {
            MagellanProductType ret = null;		// returned if no positive identification

            try
            {
                m_linkLayer.SetHandshake(Project.gpsMagellanHandshake);
                //m_linkLayer.SetHandshake(true);		// safer with handshake on
                if(Project.gpsMagellanHandshake)
                {
                    m_linkLayer.SetTransferMode(false);
                }
                m_linkLayer.SendPacket(new MPacketCmd("NMEAOFF"));
                m_linkLayer.SendPacket(new MPacketCmd("STOP"));
                MPacketReceived received = m_linkLayer.Transact(new MPacketCmd("VERSION"));
                if(received.header.Equals("PMGNVER"))
                {
                    MagellanProductType _ret = new MagellanProductType();
                    _ret.product_ID = "" + received.fields[0];
                    _ret.software_version = "" + received.fields[1];
                    _ret.product_description = "" + received.fields[2];
                    ret = (_ret.product_ID.Length > 0 && !"unknown".Equals(_ret.product_ID)) ? _ret : null;
                }
            }
            catch { }

            return ret;
        }