Rev 2254 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2254 | Rev 2257 | ||
---|---|---|---|
Line 156... | Line 156... | ||
156 | string fileName = "NCLabelTexts.txt"; |
156 | string fileName = "NCLabelTexts.txt"; |
157 | int _iCtrlAct = 0; |
157 | int _iCtrlAct = 0; |
158 | int _iLifeCounter = 0; |
158 | int _iLifeCounter = 0; |
159 | int iOSDPage = 0; |
159 | int iOSDPage = 0; |
160 | int iOSDMax = 0; |
160 | int iOSDMax = 0; |
- | 161 | int[] serChan = new int[12] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; |
|
- | 162 | string[] serChanTitle = new string[12]; |
|
161 | /// <summary> |
163 | /// <summary> |
162 | /// interval for sending debugdata (multiplied by 10ms) |
164 | /// interval for sending debugdata (multiplied by 10ms) |
163 | /// </summary> |
165 | /// </summary> |
164 | byte debugInterval = 25; //(=> 250ms) |
166 | byte debugInterval = 25; //(=> 250ms) |
165 | /// <summary> |
167 | /// <summary> |
Line 182... | Line 184... | ||
182 | /// datatable for motordata (current,temp) |
184 | /// datatable for motordata (current,temp) |
183 | /// </summary> |
185 | /// </summary> |
184 | DataTable dtMotors1 = new DataTable(); |
186 | DataTable dtMotors1 = new DataTable(); |
185 | DataTable dtMotors2 = new DataTable(); |
187 | DataTable dtMotors2 = new DataTable(); |
Line -... | Line 188... | ||
- | 188 | ||
- | 189 | DataTable dtWaypoints = new DataTable(); |
|
186 | 190 | ||
187 | public MainForm() |
191 | public MainForm() |
188 | { |
192 | { |
- | 193 | InitializeComponent(); |
|
- | 194 | serChanTitle.Initialize(); |
|
189 | InitializeComponent(); |
195 | |
- | 196 | _readIni(); |
|
190 | _readIni(); |
197 | |
191 | dtAnalog.Columns.Add("ID"); |
198 | dtAnalog.Columns.Add("ID"); |
192 | dtAnalog.Columns.Add("Value"); |
199 | dtAnalog.Columns.Add("Value"); |
- | 200 | dataGridView1.DataSource = dtAnalog; |
|
193 | dataGridView1.DataSource = dtAnalog; |
201 | |
194 | dtMotors1.Columns.Add("#"); |
202 | dtMotors1.Columns.Add("#"); |
195 | dtMotors1.Columns.Add("Current"); |
203 | dtMotors1.Columns.Add("Current"); |
196 | dtMotors1.Columns.Add("Temp"); |
204 | dtMotors1.Columns.Add("Temp"); |
197 | dtMotors2.Columns.Add("#"); |
205 | dtMotors2.Columns.Add("#"); |
Line 204... | Line 212... | ||
204 | dgvMotors1.Columns[1].Width = 74; |
212 | dgvMotors1.Columns[1].Width = 74; |
205 | dgvMotors1.Columns[2].Width = 74; |
213 | dgvMotors1.Columns[2].Width = 74; |
206 | dgvMotors2.Columns[0].Width = 24; |
214 | dgvMotors2.Columns[0].Width = 24; |
207 | dgvMotors2.Columns[1].Width = 74; |
215 | dgvMotors2.Columns[1].Width = 74; |
208 | dgvMotors2.Columns[2].Width = 74; |
216 | dgvMotors2.Columns[2].Width = 74; |
- | 217 | ||
- | 218 | dtWaypoints.Columns.Add("Index"); |
|
- | 219 | dtWaypoints.Columns.Add("Type"); |
|
- | 220 | dtWaypoints.Columns.Add("Name"); |
|
- | 221 | dtWaypoints.Columns.Add("Latitude"); |
|
- | 222 | dtWaypoints.Columns.Add("Longitude"); |
|
- | 223 | dtWaypoints.Columns.Add("Altitude"); |
|
- | 224 | dtWaypoints.Columns.Add("Heading"); |
|
- | 225 | dtWaypoints.Columns.Add("Speed"); |
|
- | 226 | dtWaypoints.Columns.Add("Altitude rate"); |
|
- | 227 | dtWaypoints.Columns.Add("Tol.radius"); |
|
- | 228 | dtWaypoints.Columns.Add("Hold time"); |
|
- | 229 | dtWaypoints.Columns.Add("AutoTrigger"); |
|
- | 230 | dtWaypoints.Columns.Add("Cam angle"); |
|
- | 231 | dtWaypoints.Columns.Add("Event"); |
|
- | 232 | dtWaypoints.Columns.Add("Eventchan. Val."); |
|
- | 233 | dtWaypoints.Columns.Add("Status"); |
|
- | 234 | dgvWP.DataSource = dtWaypoints; |
|
- | 235 | ||
209 | simpleSerialPort.PortClosed += SimpleSerialPort_PortClosed; |
236 | simpleSerialPort.PortClosed += SimpleSerialPort_PortClosed; |
210 | simpleSerialPort.PortOpened += SimpleSerialPort_PortOpened; |
237 | simpleSerialPort.PortOpened += SimpleSerialPort_PortOpened; |
211 | simpleSerialPort.DataReceived += processMessage; |
238 | simpleSerialPort.DataReceived += processMessage; |
212 | chkbAutoBL.Checked = _blctrlDataAutorefresh; |
239 | chkbAutoBL.Checked = _blctrlDataAutorefresh; |
213 | chkbAutoDbg.Checked = _debugDataAutorefresh; |
240 | chkbAutoDbg.Checked = _debugDataAutorefresh; |
Line 215... | Line 242... | ||
215 | chkbAutoOSD.Checked = _OSDAutorefresh; |
242 | chkbAutoOSD.Checked = _OSDAutorefresh; |
216 | labelTimingDebug.Text = (debugInterval * 10).ToString(); |
243 | labelTimingDebug.Text = (debugInterval * 10).ToString(); |
217 | labelTimingBLCTRL.Text = (blctrlInterval * 10).ToString(); |
244 | labelTimingBLCTRL.Text = (blctrlInterval * 10).ToString(); |
218 | labelTimingNAV.Text = (navctrlInterval * 10).ToString(); |
245 | labelTimingNAV.Text = (navctrlInterval * 10).ToString(); |
219 | labelTimingOSD.Text = (OSDInterval * 10).ToString(); |
246 | labelTimingOSD.Text = (OSDInterval * 10).ToString(); |
220 | tabControl1.TabPages.Remove(tabPageTesting); |
247 | TabControl1.TabPages.Remove(tabPageTesting); |
221 | } |
248 | } |
- | 249 | ||
222 | #region events |
250 | #region events |
223 | private void MainForm_Shown(object sender, EventArgs e) |
251 | private void MainForm_Shown(object sender, EventArgs e) |
224 | { |
252 | { |
225 | _loadLabelNames(); |
253 | _loadLabelNames(); |
- | 254 | _initSerialCtrl(); |
|
226 | _init = false; |
255 | _init = false; |
227 | splitContainer1.SplitterDistance = 514; |
256 | splitContainer1.SplitterDistance = 514; |
228 | } |
257 | } |
229 | private void MainForm_FormClosed(object sender, FormClosedEventArgs e) |
258 | private void MainForm_FormClosed(object sender, FormClosedEventArgs e) |
230 | { |
259 | { |
Line 235... | Line 264... | ||
235 | btnConn.Invoke((Action)(() => btnConn.BackColor = Color.FromArgb(192, 255, 192))); |
264 | btnConn.Invoke((Action)(() => btnConn.BackColor = Color.FromArgb(192, 255, 192))); |
236 | btnConn.Invoke((Action)(() => btnConn.Text = "close" + Environment.NewLine + "serial port")); |
265 | btnConn.Invoke((Action)(() => btnConn.Text = "close" + Environment.NewLine + "serial port")); |
237 | _getVersion(); |
266 | _getVersion(); |
238 | Thread.Sleep(100); |
267 | Thread.Sleep(100); |
239 | _OSDMenue(0); |
268 | _OSDMenue(0); |
- | 269 | Thread.Sleep(200); |
|
- | 270 | _sendSerialData(); |
|
240 | // _readCont(true); |
271 | // _readCont(true); |
241 | } |
272 | } |
242 | private void SimpleSerialPort_PortClosed() |
273 | private void SimpleSerialPort_PortClosed() |
243 | { |
274 | { |
244 | btnConn.Invoke((Action)(() => btnConn.BackColor = Color.FromArgb(224, 224, 224))); |
275 | btnConn.Invoke((Action)(() => btnConn.BackColor = Color.FromArgb(224, 224, 224))); |
Line 329... | Line 360... | ||
329 | } |
360 | } |
330 | private void rtfError_LinkClicked(object sender, LinkClickedEventArgs e) |
361 | private void rtfError_LinkClicked(object sender, LinkClickedEventArgs e) |
331 | { |
362 | { |
332 | System.Diagnostics.Process.Start(e.LinkText); |
363 | System.Diagnostics.Process.Start(e.LinkText); |
333 | } |
364 | } |
- | 365 | ||
334 | #endregion events |
366 | #endregion events |
Line 335... | Line 367... | ||
335 | 367 | ||
336 | /// <summary> Log data to the terminal window. </summary> |
368 | /// <summary> Log data to the terminal window. </summary> |
337 | /// <param name="msgtype"> The type of message to be written. </param> |
369 | /// <param name="msgtype"> The type of message to be written. </param> |
Line 404... | Line 436... | ||
404 | //Log(LogMsgType.Incoming, message.Length.ToString()); |
436 | //Log(LogMsgType.Incoming, message.Length.ToString()); |
405 | string s = new string(ASCIIEncoding.ASCII.GetChars(message, 0, message.Length)); |
437 | string s = new string(ASCIIEncoding.ASCII.GetChars(message, 0, message.Length)); |
406 | char cmdID; |
438 | char cmdID; |
407 | byte adr; |
439 | byte adr; |
408 | byte[] data; |
440 | byte[] data; |
- | 441 | byte[] tmp = null; |
|
409 | if (message[0] != '#') |
442 | if (message[0] != '#') |
- | 443 | { |
|
- | 444 | int iFound = -1; |
|
- | 445 | for(int i=0;i<message.Length;i++) //Sometimes the FC/NC sends strings without termination (like WP messages) |
|
- | 446 | { //so this is a workaround to not spam the log box |
|
- | 447 | if (message[i] == 35) |
|
- | 448 | { |
|
- | 449 | iFound = i; |
|
- | 450 | break; |
|
- | 451 | } |
|
- | 452 | } |
|
- | 453 | if(iFound>0) |
|
- | 454 | { |
|
- | 455 | s = new string(ASCIIEncoding.ASCII.GetChars(message, 0,iFound)); |
|
- | 456 | tmp = new byte[message.Length - iFound]; |
|
- | 457 | Buffer.BlockCopy(message, iFound, tmp, 0, message.Length - iFound); |
|
- | 458 | } |
|
410 | Log(LogMsgType.Normal, s.Trim('\0', '\n','\r')); |
459 | s = s.Trim('\0', '\n', '\r'); |
- | 460 | if(s.Length > 0) |
|
- | 461 | Log(LogMsgType.Normal, s); |
|
- | 462 | if (tmp != null) |
|
- | 463 | { |
|
- | 464 | s = new string(ASCIIEncoding.ASCII.GetChars(tmp, 0, tmp.Length)); |
|
- | 465 | processMessage(tmp); |
|
- | 466 | } |
|
- | 467 | } |
|
411 | //Debug.Print(s); |
468 | //Debug.Print(s); |
412 | else |
469 | else |
413 | { |
470 | { |
414 | FlightControllerMessage.ParseMessage(message, out cmdID, out adr, out data); |
471 | FlightControllerMessage.ParseMessage(message, out cmdID, out adr, out data); |
Line 439... | Line 496... | ||
439 | break; |
496 | break; |
440 | default: |
497 | default: |
441 | lblCtrl.Invoke((Action)(() => lblCtrl.Text = "....")); |
498 | lblCtrl.Invoke((Action)(() => lblCtrl.Text = "....")); |
442 | break; |
499 | break; |
443 | } |
500 | } |
444 | _loadLabelNames(); |
501 | _loadLabelNames(); |
445 | } |
502 | } |
446 | // else |
503 | // else |
447 | // Debug.Print("Address == 0?"); |
504 | // Debug.Print("Address == 0?"); |
Line 448... | Line 505... | ||
448 | 505 | ||
449 | if (data != null && data.Length > 0) |
506 | if (data != null && data.Length > 0) |
450 | { |
507 | { |
451 | s = new string(ASCIIEncoding.ASCII.GetChars(data, 1, data.Length - 1)); |
508 | s = new string(ASCIIEncoding.ASCII.GetChars(data, 1, data.Length - 1)); |
Line 456... | Line 513... | ||
456 | case 'A': //Label names |
513 | case 'A': //Label names |
457 | _processLabelNames(s); |
514 | _processLabelNames(s); |
458 | break; |
515 | break; |
Line 459... | Line 516... | ||
459 | 516 | ||
460 | case 'D': //Debug data |
517 | case 'D': //Debug data |
461 | _processDebugVals(adr,data); |
518 | _processDebugVals(adr, data); |
Line 462... | Line 519... | ||
462 | break; |
519 | break; |
463 | 520 | ||
464 | case 'V': //Version |
521 | case 'V': //Version |
Line 483... | Line 540... | ||
483 | 540 | ||
484 | case 'H': //OSD Menue (with autoupdate - called by Key) |
541 | case 'H': //OSD Menue (with autoupdate - called by Key) |
485 | _processOSDAuto(data); |
542 | _processOSDAuto(data); |
Line -... | Line 543... | ||
- | 543 | break; |
|
- | 544 | ||
- | 545 | case 'X': //Waypoint data |
|
- | 546 | _processWPData(data); |
|
486 | break; |
547 | break; |
487 | 548 | ||
488 | //default: |
549 | //default: |
489 | // Log(LogMsgType.Incoming, "cmd: " + cmdID.ToString()); |
550 | // Log(LogMsgType.Incoming, "cmd: " + cmdID.ToString()); |
490 | // Log(LogMsgType.Incoming, BitConverter.ToString(data)); |
551 | // Log(LogMsgType.Incoming, BitConverter.ToString(data)); |
Line 792... | Line 853... | ||
792 | else |
853 | else |
793 | if(_bErrorLog) _clearErrorLog("NC Error"); |
854 | if(_bErrorLog) _clearErrorLog("NC Error"); |
Line 794... | Line 855... | ||
794 | 855 | ||
795 | } |
856 | } |
- | 857 | /// <summary> |
|
- | 858 | /// Navi-Ctrl WP data struct 'X' |
|
- | 859 | /// called by index |
|
- | 860 | /// </summary> |
|
- | 861 | /// <param name="data">the received byte array to process</param> |
|
- | 862 | void _processWPData(byte[] data) |
|
- | 863 | { |
|
- | 864 | if (data.Length >= 28) |
|
- | 865 | { |
|
- | 866 | int count = data[0]; |
|
- | 867 | int index = data[1]; |
|
- | 868 | cbWPIndex.Invoke((Action)(() => cbWPIndex.Items.Clear())); |
|
- | 869 | for (int i = 0; i < count; i++) |
|
- | 870 | cbWPIndex.Invoke((Action)(() => cbWPIndex.Items.Add(i + 1))); |
|
- | 871 | cbWPIndex.Invoke((Action)(() => cbWPIndex.SelectedItem = index)); |
|
- | 872 | DataRow dr = dtWaypoints.NewRow(); |
|
- | 873 | dr = Waypoints.toDataRow(data, dr); |
|
- | 874 | dtWaypoints.Rows.Add(dr); |
|
- | 875 | dgvWP.Invoke((Action)(() => dgvWP.Update())); |
|
- | 876 | } |
|
- | 877 | else |
|
- | 878 | Debug.Print(new string(ASCIIEncoding.ASCII.GetChars(data, 0, data.Length))); |
|
- | 879 | } |
|
796 | /// <summary> |
880 | /// <summary> |
797 | /// OSD Menue 'L' |
881 | /// OSD Menue 'L' |
798 | /// single page called by pagenumber |
882 | /// single page called by pagenumber |
799 | /// no autoupdate |
883 | /// no autoupdate |
800 | /// </summary> |
884 | /// </summary> |
Line 1201... | Line 1285... | ||
1201 | navctrlInterval = (byte)Convert.ToInt16(sVal); |
1285 | navctrlInterval = (byte)Convert.ToInt16(sVal); |
1202 | sVal = ini.IniReadValue("default", "IntervalBLCtrlData"); |
1286 | sVal = ini.IniReadValue("default", "IntervalBLCtrlData"); |
1203 | blctrlInterval = (byte)Convert.ToInt16(sVal); |
1287 | blctrlInterval = (byte)Convert.ToInt16(sVal); |
1204 | sVal = ini.IniReadValue("default", "IntervalOSDData"); |
1288 | sVal = ini.IniReadValue("default", "IntervalOSDData"); |
1205 | OSDInterval = (byte)Convert.ToInt16(sVal); |
1289 | OSDInterval = (byte)Convert.ToInt16(sVal); |
- | 1290 | for(int i = 0; i < 12; i++) |
|
- | 1291 | { |
|
- | 1292 | sVal = ini.IniReadValue("serial", "ch" + i.ToString() + "Val"); |
|
- | 1293 | if(sVal != "") |
|
- | 1294 | serChan[i] = Convert.ToInt16(sVal); |
|
- | 1295 | sVal = ini.IniReadValue("serial", "ch" + i.ToString() + "Title"); |
|
- | 1296 | if(sVal != "") |
|
- | 1297 | serChanTitle[i] = sVal; |
|
- | 1298 | } |
|
1206 | } |
1299 | } |
1207 | void _writeIni() |
1300 | void _writeIni() |
1208 | { |
1301 | { |
Line 1209... | Line 1302... | ||
1209 | 1302 | ||
Line 1217... | Line 1310... | ||
1217 | 1310 | ||
1218 | ini.IniWriteValue("default", "IntervalDebugData", debugInterval.ToString()); |
1311 | ini.IniWriteValue("default", "IntervalDebugData", debugInterval.ToString()); |
1219 | ini.IniWriteValue("default", "IntervalNavCtrlData", navctrlInterval.ToString()); |
1312 | ini.IniWriteValue("default", "IntervalNavCtrlData", navctrlInterval.ToString()); |
1220 | ini.IniWriteValue("default", "IntervalBLCtrlData", blctrlInterval.ToString()); |
1313 | ini.IniWriteValue("default", "IntervalBLCtrlData", blctrlInterval.ToString()); |
- | 1314 | ini.IniWriteValue("default", "IntervalOSDData", OSDInterval.ToString()); |
|
- | 1315 | ||
- | 1316 | for (int i = 0; i < 12; i++) |
|
- | 1317 | { |
|
- | 1318 | ini.IniWriteValue("serial", "ch" + i.ToString() + "Val", serChan[i].ToString()); |
|
- | 1319 | ini.IniWriteValue("serial", "ch" + i.ToString() + "Title", serChanTitle[i]); |
|
- | 1320 | } |
|
1221 | ini.IniWriteValue("default", "IntervalOSDData", OSDInterval.ToString()); |
1321 | |
Line 1222... | Line 1322... | ||
1222 | } |
1322 | } |
1223 | 1323 | ||
1224 | /// <summary> |
1324 | /// <summary> |
Line 1278... | Line 1378... | ||
1278 | int sec = ts.Seconds; |
1378 | int sec = ts.Seconds; |
1279 | int milli = ts.Milliseconds; |
1379 | int milli = ts.Milliseconds; |
Line 1280... | Line 1380... | ||
1280 | 1380 | ||
1281 | return deg.ToString("0° ") + min.ToString("0") + "' " + sec.ToString("0") + "," + milli.ToString() + "\""; |
1381 | return deg.ToString("0° ") + min.ToString("0") + "' " + sec.ToString("0") + "," + milli.ToString() + "\""; |
1282 | } |
- | |
- | 1382 | } |
|
- | 1383 | /// <summary> |
|
- | 1384 | /// Clear the line in the errorlog window |
|
- | 1385 | /// containing the error string when error has ceased |
|
- | 1386 | /// </summary> |
|
1283 | 1387 | /// <param name="s">substring of errrormessage</param> |
|
1284 | void _clearErrorLog(string s) |
1388 | void _clearErrorLog(string s) |
1285 | { |
1389 | { |
1286 | rtfError.Invoke((Action)(() => |
1390 | rtfError.Invoke((Action)(() => |
1287 | { |
1391 | { |
Line 1315... | Line 1419... | ||
1315 | } |
1419 | } |
1316 | } |
1420 | } |
1317 | })); |
1421 | })); |
Line 1318... | Line 1422... | ||
1318 | 1422 | ||
- | 1423 | } |
|
- | 1424 | /// <summary> |
|
- | 1425 | /// request the Waypoint at index |
|
- | 1426 | /// </summary> |
|
- | 1427 | /// <param name="index"></param> |
|
- | 1428 | void _getpWP(int index) |
|
- | 1429 | { |
|
- | 1430 | if (simpleSerialPort.Port.IsOpen) |
|
- | 1431 | { |
|
- | 1432 | Stream serialStream = simpleSerialPort.Port.BaseStream; |
|
- | 1433 | byte[] bytes = FlightControllerMessage.CreateMessage('x', 2, new byte[1] { (byte)index }); |
|
- | 1434 | serialStream.Write(bytes, 0, bytes.Length); |
|
- | 1435 | } |
|
- | 1436 | else |
|
- | 1437 | Log(LogMsgType.Error, "NOT CONNECTED!"); |
|
- | 1438 | ||
- | 1439 | } |
|
- | 1440 | /// <summary> |
|
- | 1441 | /// Sending the serial channel values |
|
- | 1442 | /// </summary> |
|
- | 1443 | void _sendSerialData() |
|
- | 1444 | { |
|
- | 1445 | byte[] serData = new byte[12]; |
|
- | 1446 | for(int i = 0; i < 12; i++) |
|
- | 1447 | { |
|
- | 1448 | serData[i] = unchecked((byte)(serChan[i] - 127)); |
|
- | 1449 | } |
|
- | 1450 | _sendControllerMessage('y', 1, serData); |
|
- | 1451 | } |
|
- | 1452 | ||
- | 1453 | void _initSerialCtrl() |
|
- | 1454 | { |
|
- | 1455 | trckbarSerial1.Value = serChan[0]; |
|
- | 1456 | textBoxSerial1.Text = serChanTitle[0]; |
|
- | 1457 | lblTbSerial1.Text = serChan[0].ToString(); |
|
- | 1458 | trckbarSerial2.Value = serChan[1]; |
|
- | 1459 | textBoxSerial2.Text = serChanTitle[1]; |
|
- | 1460 | lblTbSerial2.Text = serChan[1].ToString(); |
|
1319 | } |
1461 | } |
Line 1320... | Line 1462... | ||
1320 | #endregion functions |
1462 | #endregion functions |
1321 | 1463 | ||
1322 | #region buttons |
1464 | #region buttons |
Line 1436... | Line 1578... | ||
1436 | /// call the OSDMenue with Key 0x4 |
1578 | /// call the OSDMenue with Key 0x4 |
1437 | private void btnOSDEnter_Click(object sender, EventArgs e) |
1579 | private void btnOSDEnter_Click(object sender, EventArgs e) |
1438 | { |
1580 | { |
1439 | _OSDMenueAutoRefresh(4); |
1581 | _OSDMenueAutoRefresh(4); |
1440 | } |
1582 | } |
- | 1583 | private void btnGetWP_Click(object sender, EventArgs e) |
|
- | 1584 | { |
|
- | 1585 | if(cbWPIndex.Items.Count >0) |
|
- | 1586 | _getpWP((int)cbWPIndex.SelectedItem); |
|
- | 1587 | else |
|
- | 1588 | _getpWP(1); |
|
- | 1589 | } |
|
1441 | #endregion buttons |
1590 | #endregion buttons |
Line -... | Line 1591... | ||
- | 1591 | ||
- | 1592 | private void tbSerial1_Scroll(object sender, EventArgs e) |
|
- | 1593 | { |
|
- | 1594 | lblTbSerial1.Text = trckbarSerial1.Value.ToString(); |
|
- | 1595 | serChan[0] = trckbarSerial1.Value; |
|
- | 1596 | if (!_init) _sendSerialData(); |
|
- | 1597 | } |
|
- | 1598 | private void textBoxSerial1_TextChanged(object sender, EventArgs e) |
|
- | 1599 | { |
|
- | 1600 | serChanTitle[0] = textBoxSerial1.Text; |
|
- | 1601 | } |
|
- | 1602 | private void btnSer1_0_Click(object sender, EventArgs e) |
|
- | 1603 | { |
|
- | 1604 | trckbarSerial1.Value = 0; |
|
- | 1605 | } |
|
- | 1606 | ||
- | 1607 | private void btnSer1_127_Click(object sender, EventArgs e) |
|
- | 1608 | { |
|
- | 1609 | trckbarSerial1.Value = 127; |
|
- | 1610 | } |
|
- | 1611 | ||
- | 1612 | private void btnSer1_254_Click(object sender, EventArgs e) |
|
- | 1613 | { |
|
- | 1614 | trckbarSerial1.Value = 254; |
|
- | 1615 | } |
|
- | 1616 | ||
- | 1617 | private void trckbarSerial1_ValueChanged(object sender, EventArgs e) |
|
- | 1618 | { |
|
- | 1619 | lblTbSerial1.Text = trckbarSerial1.Value.ToString(); |
|
- | 1620 | serChan[0] = trckbarSerial1.Value; |
|
- | 1621 | if (!_init) _sendSerialData(); |
|
- | 1622 | } |
|
- | 1623 | ||
- | 1624 | private void textBoxSerial2_TextChanged(object sender, EventArgs e) |
|
- | 1625 | { |
|
- | 1626 | serChanTitle[2] = textBoxSerial2.Text; |
|
- | 1627 | } |
|
- | 1628 | ||
- | 1629 | private void trckbarSerial2_ValueChanged(object sender, EventArgs e) |
|
- | 1630 | { |
|
- | 1631 | lblTbSerial2.Text = trckbarSerial2.Value.ToString(); |
|
- | 1632 | serChan[1] = trckbarSerial2.Value; |
|
- | 1633 | if (!_init) _sendSerialData(); |
|
- | 1634 | ||
- | 1635 | } |
|
- | 1636 | ||
- | 1637 | private void btnSer2_0_Click(object sender, EventArgs e) |
|
- | 1638 | { |
|
- | 1639 | trckbarSerial2.Value = 0; |
|
- | 1640 | } |
|
- | 1641 | ||
- | 1642 | private void btnSer2_127_Click(object sender, EventArgs e) |
|
- | 1643 | { |
|
- | 1644 | trckbarSerial2.Value = 127; |
|
- | 1645 | } |
|
- | 1646 | ||
- | 1647 | private void btnSer2_254_Click(object sender, EventArgs e) |
|
- | 1648 | { |
|
- | 1649 | trckbarSerial2.Value = 254; |
|
1442 | 1650 | } |
|
1443 | } |
1651 | } |
1444 | public class IniFile |
1652 | public class IniFile |
1445 | { |
1653 | { |