private void data_sending(object sender, ElapsedEventArgs e) { if (gen_q.Count > 0) { messg = gen_q.Dequeue(); if (messg == null) { return; } switch (messg.GetRequest()) { case Message.MsgRequest.GEN_NEXT: if (toSend == 0) { if (sendingChannel == 1 && actual_channels == 2) { toSend = signal_ch2.Length; sent = 0; index = 0; actualSend = 0; sendingChannel = 2; send_next(signal_ch2, 2); } else if (sendingChannel == actual_channels) { gen_get_freq(); Thread.Sleep(10); gen_start(); } } else { if (sendingChannel == 2) { send_next(signal_ch2, 2); } else { send_next(signal_ch1, 1); } } break; case Message.MsgRequest.GEN_OK: generating = true; this.Invalidate(); break; case Message.MsgRequest.GEN_FRQ: if(messg.GetMessage().Equals(Commands.CHANNELS_1)){ this.realFreq_ch1 = (double)messg.GetNum() / signal_leng_ch1; } else if (messg.GetMessage().Equals(Commands.CHANNELS_2)) { this.realFreq_ch2 = (double)messg.GetNum() / signal_leng_ch2; } this.Invalidate(); break; } } }
public void run() { while (run_th) { if (comms_q.Count > 0) { messg = comms_q.Dequeue(); switch (messg.GetRequest()) { case Message.MsgRequest.FIND_DEVICES: find_devices(); break; case Message.MsgRequest.CONNECT_DEVICE: connect_device(messg.GetMessage()); break; } } Thread.Sleep(10); } }