private void updateModuleDate() { labelModuleDate.Text = ""; for (int i = 1; i < 4; i++) { if (UART.GetByteFromBufferRX(i).ToString().Length == 1) { labelModuleDate.Text += "0"; } labelModuleDate.Text += UART.GetByteFromBufferRX(i).ToString(); if (i < 3) { labelModuleDate.Text += " / "; } else { labelModuleDate.Text += " "; } } if (UART.GetByteFromBufferRX(4) < 7) { labelModuleDate.Text += TIME.daysOfWeek[UART.GetByteFromBufferRX(4)]; } }
private void UpdateTimer_Tick(object sender, EventArgs e) //таймер 100мс { UART.RecieveMessage(); //принимаем пакет из UART updateDevText(); //отображаем его во вкладке разработчика switch (tabControl.SelectedIndex) //управление действиями в зависимости от выбранной вкладки { //ЦВЕТ case 0: UpdateTimer.Interval = 100; //10Гц if (Globals.flagFirstStart) //при инициализации связи { UART.WriteByteToBufferTX((byte)(02), 0); //запрашиваем текущий цвет1 UART.SendBufferTX(); UART.WriteByteToBufferTX((byte)(04), 0); //запрашиваем текущий цвет2 UART.SendBufferTX(); } else //после инициализации связи { UART.WriteByteToBufferTX((byte)(01), 0); //всё время шлем новый цвет UART.WriteByteToBufferTX((byte)(trackBarRed1.Value * 5), 1); UART.WriteByteToBufferTX((byte)(trackBarGreen1.Value * 5), 2); UART.WriteByteToBufferTX((byte)(trackBarBlue1.Value * 5), 3); UART.WriteByteToBufferTX((byte)(trackBarWhite1.Value * 5), 4); UART.WriteByteToBufferTX((byte)(trackBarBlack1.Value * 5), 5); UART.WriteByteToBufferTX((byte)(trackBarSpeed1.Value * 5), 6); UART.SendBufferTX(); UART.WriteByteToBufferTX((byte)(03), 0); //всё время шлем новый цвет UART.WriteByteToBufferTX((byte)(trackBarRed2.Value * 5), 1); UART.WriteByteToBufferTX((byte)(trackBarGreen2.Value * 5), 2); UART.WriteByteToBufferTX((byte)(trackBarBlue2.Value * 5), 3); UART.WriteByteToBufferTX((byte)(trackBarWhite2.Value * 5), 4); UART.WriteByteToBufferTX((byte)(trackBarBlack2.Value * 5), 5); UART.WriteByteToBufferTX((byte)(trackBarSpeed2.Value * 5), 6); UART.SendBufferTX(); } break; //ВРЕМЯ case 1: UpdateTimer.Interval = 200; //50Гц //обновляем системное время и выводим во вкладку "время" TIME.updateSysTimeBuffer(); updateSystemTime(); //запрашиваем время модуля и ответ выводим во вкладку "время" Globals.counter_tabTIME++; if (Globals.counter_tabTIME > 3) { Globals.counter_tabTIME = 0; } switch (Globals.counter_tabTIME) { case 0: UART.WriteByteToBufferTX((byte)(12), 0); //запрашиваем текущее время break; case 1: UART.WriteByteToBufferTX((byte)(14), 0); //дату break; case 2: if (Globals.flagUpdateAlarm) { UART.WriteByteToBufferTX((byte)(22), 0); //недельный будильник } break; case 3: if (Globals.flagUpdateAlarm) { UART.WriteByteToBufferTX((byte)(24), 0); //однократный будильник } Globals.flagUpdateAlarm = false; break; } UART.SendBufferTX(); break; } switch (UART.GetByteFromBufferRX(0)) //когда приняли пакет, проверяем команду { case 2: if (Globals.flagFirstStart) { //Globals.firstTime = false; //инициализация происходит в четвертом кейсе updateColourFromUART1(); } break; case 4: if (Globals.flagFirstStart) { Globals.flagFirstStart = false; //считаем что инициализация связи прошла успешно updateColourFromUART2(); } break; case 12: updateModuleTime(); break; case 14: updateModuleDate(); break; case 22: updateModuleWA(); break; case 24: //updateModuleTA(); break; } }
private void updateModuleWA() //обновляем данные морды о будильнике { if (UART.GetByteFromBufferRX(1) == 1) //ставим галочку enable { checkedListBoxWAEnable.ForeColor = Color.FromArgb(50, 255, 50); checkedListBoxWAEnable.SetItemChecked(0, true); } else { checkedListBoxWAEnable.ForeColor = Color.FromArgb(255, 50, 50); checkedListBoxWAEnable.SetItemChecked(0, false); } for (int i = 0; i < 7; i++) //ставим галочки на днях { if (((UART.GetByteFromBufferRX(2) >> i) & 1) == 1) { checkedListBoxWADays.SetItemChecked(i, true); } else { checkedListBoxWADays.SetItemChecked(i, false); } } //рисуем wake up current time labelWASCurrent.Text = ""; if (UART.GetByteFromBufferRX(4).ToString().Length < 2) { labelWASCurrent.Text += "0"; } labelWASCurrent.Text += UART.GetByteFromBufferRX(4).ToString(); labelWASCurrent.Text += ":"; if (UART.GetByteFromBufferRX(3).ToString().Length < 2) { labelWASCurrent.Text += "0"; } labelWASCurrent.Text += UART.GetByteFromBufferRX(3).ToString(); labelWAECurrent.Text = ""; if (UART.GetByteFromBufferRX(6).ToString().Length < 2) { labelWAECurrent.Text += "0"; } labelWAECurrent.Text += UART.GetByteFromBufferRX(6).ToString(); labelWAECurrent.Text += ":"; if (UART.GetByteFromBufferRX(5).ToString().Length < 2) { labelWAECurrent.Text += "0"; } labelWAECurrent.Text += UART.GetByteFromBufferRX(5).ToString(); //рисуем wake up target time также как и current чтобы потом меньше с этим ебаться textBoxWASHour.Text = ""; if (UART.GetByteFromBufferRX(4).ToString().Length < 2) { textBoxWASHour.Text += "0"; } textBoxWASHour.Text += UART.GetByteFromBufferRX(4).ToString(); textBoxWASMinute.Text = ""; if (UART.GetByteFromBufferRX(3).ToString().Length < 2) { textBoxWASMinute.Text += "0"; } textBoxWASMinute.Text += UART.GetByteFromBufferRX(3).ToString(); textBoxWAEHour.Text = ""; if (UART.GetByteFromBufferRX(6).ToString().Length < 2) { textBoxWAEHour.Text += "0"; } textBoxWAEHour.Text += UART.GetByteFromBufferRX(6).ToString(); textBoxWAEMinute.Text = ""; if (UART.GetByteFromBufferRX(5).ToString().Length < 2) { textBoxWAEMinute.Text += "0"; } textBoxWAEMinute.Text += UART.GetByteFromBufferRX(5).ToString(); }