public ThunderBolt(string portName, AngleUnits au, AltitudeUnits tu, OutputPort activityLed) { _activityLed = activityLed; PacketQueue = new FixedSizedQueue(10); PacketProcessing = new Thread(new ThreadStart(worker_thread)); position = new Position(au, tu); last_position = new Position(au, tu); m_port = new SerialPort(portName, 9600, Parity.None, 8, StopBits.One); m_port.DataReceived += new SerialDataReceivedEventHandler(m_port_DataReceived); m_port.ErrorReceived += new SerialErrorReceivedEventHandler(m_port_ErrorReceived); for (int i = 0; i < 32; i++) Satellites[i] = new SatInfo(); }
private void raise_position_change() { if (last_position != null || position.Equals(last_position) == false) if (PositionChanged != null) PositionChanged(this, new EventArgs()); // raise Position Changed event last_position = position; }