DebuggingForm.cs 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.IO.Ports;
  11. using Tps_LQ_Transmitter.com;
  12. using System.Threading;
  13. using System.Text.RegularExpressions;
  14. namespace Tps_LQ_Transmitter
  15. {
  16. /// <summary>
  17. /// 调试界面
  18. /// </summary>
  19. public partial class DebuggingForm : Form
  20. {
  21. //DioControlClass dio = new DioControlClass();
  22. //PcGpio gpio = new PcGpio();
  23. //RainwormPower rainwormPower = new RainwormPower();
  24. //PcmControl pcm = new PcmControl();
  25. ThreadStart SeriesPortChildref = null;
  26. Thread SeriesPortChildThread = null;
  27. public DebuggingForm()
  28. {
  29. InitializeComponent();
  30. Thread.Sleep(100);
  31. FrmMain.gpio.SwitchControl(0);
  32. for (int i = 1; i <= 8; i++)
  33. {
  34. FrmMain.dio.SupplySwitch(i, DioControlClass.State.OFF);//将所有供电开关关闭
  35. }
  36. FrmMain.rainwormPower.powerOnoff(RainwormPower.State.OFF);
  37. SeriesPortThread();
  38. rbtnUartMode.Checked = true;
  39. if (!FrmMain.rainwormPower.UnlockKey())
  40. {
  41. txtbMsg.Text = "内部蚯蚓电源未连接成功!";
  42. }
  43. }
  44. private void DebuggingForm_FormClosed(object sender, FormClosedEventArgs e)
  45. {
  46. //FrmMain.dio.portClose();
  47. //FrmMain.rainwormPower.portClose();
  48. //FrmMain.pcm.portClose();
  49. SeriesPortChildThread.Abort();
  50. }
  51. #region 8路供电开关控制(+28V)代码
  52. private void btnPowCh_1_Click(object sender, EventArgs e)
  53. {
  54. if (led1.Value == false)
  55. {
  56. FrmMain.dio.SupplySwitch(1, DioControlClass.State.ON);
  57. }
  58. else
  59. {
  60. FrmMain.dio.SupplySwitch(1, DioControlClass.State.OFF);
  61. }
  62. led1.Value = !led1.Value;
  63. }
  64. private void btnPowCh_2_Click(object sender, EventArgs e)
  65. {
  66. if (led2.Value == false)
  67. {
  68. FrmMain.dio.SupplySwitch(2, DioControlClass.State.ON);
  69. }
  70. else
  71. {
  72. FrmMain.dio.SupplySwitch(2, DioControlClass.State.OFF);
  73. }
  74. led2.Value = !led2.Value;
  75. }
  76. private void btnPowCh_3_Click(object sender, EventArgs e)
  77. {
  78. if (led3.Value == false)
  79. {
  80. FrmMain.dio.SupplySwitch(3, DioControlClass.State.ON);
  81. }
  82. else
  83. {
  84. FrmMain.dio.SupplySwitch(3, DioControlClass.State.OFF);
  85. }
  86. led3.Value = !led3.Value;
  87. }
  88. private void btnPowCh_4_Click(object sender, EventArgs e)
  89. {
  90. if (led4.Value == false)
  91. {
  92. FrmMain.dio.SupplySwitch(4, DioControlClass.State.ON);
  93. }
  94. else
  95. {
  96. FrmMain.dio.SupplySwitch(4, DioControlClass.State.OFF);
  97. }
  98. led4.Value = !led4.Value;
  99. }
  100. private void btnPowCh_5_Click(object sender, EventArgs e)
  101. {
  102. if (led5.Value == false)
  103. {
  104. FrmMain.dio.SupplySwitch(5, DioControlClass.State.ON);
  105. }
  106. else
  107. {
  108. FrmMain.dio.SupplySwitch(5, DioControlClass.State.OFF);
  109. }
  110. led5.Value = !led5.Value;
  111. }
  112. private void btnPowCh_6_Click(object sender, EventArgs e)
  113. {
  114. if (led6.Value == false)
  115. {
  116. FrmMain.dio.SupplySwitch(6, DioControlClass.State.ON);
  117. }
  118. else
  119. {
  120. FrmMain.dio.SupplySwitch(6, DioControlClass.State.OFF);
  121. }
  122. led6.Value = !led6.Value;
  123. }
  124. private void btnPowCh_7_Click(object sender, EventArgs e)
  125. {
  126. if (led7.Value == false)
  127. {
  128. FrmMain.dio.SupplySwitch(7, DioControlClass.State.ON);
  129. }
  130. else
  131. {
  132. FrmMain.dio.SupplySwitch(7, DioControlClass.State.OFF);
  133. }
  134. led7.Value = !led7.Value;
  135. }
  136. private void btnPowCh_8_Click(object sender, EventArgs e)
  137. {
  138. if (led8.Value == false)
  139. {
  140. FrmMain.dio.SupplySwitch(8, DioControlClass.State.ON);
  141. }
  142. else
  143. {
  144. FrmMain.dio.SupplySwitch(8, DioControlClass.State.OFF);
  145. }
  146. led8.Value = !led8.Value;
  147. }
  148. #endregion
  149. /// <summary>
  150. /// byte[]数据转字符串输出
  151. /// </summary>
  152. /// <param name="data">byte[]数据</param>
  153. /// <returns>16进制字符串</returns>
  154. public string BytesToHexString(byte[] data)
  155. {
  156. if (data == null)
  157. return "";
  158. StringBuilder sb = new StringBuilder(100);
  159. for (int i = 0; i < data.Length; i++)
  160. {
  161. sb.Append(data[i].ToString("X2") + " ");
  162. }
  163. return sb.ToString();
  164. }
  165. #region JSY电压电流模拟量采集模块读取代码
  166. /// <summary>
  167. /// 点击"读取"按钮执行模拟量(电压、电流)采集
  168. /// </summary>
  169. /// <param name="sender"></param>
  170. /// <param name="e"></param>
  171. private void btnOther_Click(object sender, EventArgs e)
  172. {
  173. double[] dblv = new double[8];
  174. double[] dblc = new double[8];
  175. double[] dblp = new double[8];
  176. string st="";
  177. dblv = FrmMain.dio.ReadAllVolt();
  178. dblc = FrmMain.dio.ReadAllCurr();
  179. dblp = FrmMain.dio.ReadAllPower();
  180. txtbVoltCh_1.Text = dblv[0].ToString();
  181. txtbCurrCh_1.Text = dblc[0].ToString();
  182. txtbVoltCh_2.Text = dblv[1].ToString();
  183. txtbCurrCh_2.Text = dblc[1].ToString();
  184. txtbVoltCh_3.Text = dblv[2].ToString();
  185. txtbCurrCh_3.Text = dblc[2].ToString();
  186. txtbVoltCh_4.Text = dblv[3].ToString();
  187. txtbCurrCh_4.Text = dblc[3].ToString();
  188. txtbVoltCh_5.Text = dblv[4].ToString();
  189. txtbCurrCh_5.Text = dblc[4].ToString();
  190. txtbVoltCh_6.Text = dblv[5].ToString();
  191. txtbCurrCh_6.Text = dblc[5].ToString();
  192. txtbVoltCh_7.Text = dblv[6].ToString();
  193. txtbCurrCh_7.Text = dblc[6].ToString();
  194. txtbVoltCh_8.Text = dblv[7].ToString();
  195. txtbCurrCh_8.Text = dblc[7].ToString();
  196. for (int i = 0; i < 8; i++)
  197. {
  198. st += dblp[0].ToString()+";";
  199. }
  200. txtbMsg.Text ="供电功率:"+ st;
  201. }
  202. #endregion
  203. #region 射频开关2控制(一分二)代码[衰减器/陷波器]
  204. //此处是切换衰减器与陷波器的一分二开关控制代码[off为衰减器/ON为陷波器]
  205. private void chkAyCh_1_CheckedChanged(object sender, EventArgs e)
  206. {
  207. if (chkAyCh_1.Checked== true)
  208. {
  209. //chkAyCh_1.Checked = true;
  210. chkAyCh_2.Checked = false;
  211. chkAyCh_3.Checked = false;
  212. chkAyCh_4.Checked = false;
  213. chkAyCh_5.Checked = false;
  214. chkAyCh_6.Checked = false;
  215. chkAyCh_7.Checked = false;
  216. chkAyCh_8.Checked = false;
  217. FrmMain.gpio.SwitchControl(1);
  218. }
  219. else
  220. {
  221. FrmMain.gpio.SwitchControl(0);
  222. }
  223. }
  224. private void chkAyCh_2_CheckedChanged(object sender, EventArgs e)
  225. {
  226. if (chkAyCh_2.Checked == true)
  227. {
  228. chkAyCh_1.Checked = false;
  229. //chkAyCh_2.Checked = false;
  230. chkAyCh_3.Checked = false;
  231. chkAyCh_4.Checked = false;
  232. chkAyCh_5.Checked = false;
  233. chkAyCh_6.Checked = false;
  234. chkAyCh_7.Checked = false;
  235. chkAyCh_8.Checked = false;
  236. FrmMain.gpio.SwitchControl(2);
  237. }
  238. else
  239. {
  240. FrmMain.gpio.SwitchControl(0);
  241. }
  242. }
  243. private void chkAyCh_3_CheckedChanged(object sender, EventArgs e)
  244. {
  245. if (chkAyCh_3.Checked == true)
  246. {
  247. chkAyCh_1.Checked = false;
  248. chkAyCh_2.Checked = false;
  249. //chkAyCh_3.Checked = false;
  250. chkAyCh_4.Checked = false;
  251. chkAyCh_5.Checked = false;
  252. chkAyCh_6.Checked = false;
  253. chkAyCh_7.Checked = false;
  254. chkAyCh_8.Checked = false;
  255. FrmMain.gpio.SwitchControl(3);
  256. }
  257. else
  258. {
  259. FrmMain.gpio.SwitchControl(0);
  260. }
  261. }
  262. private void chkAyCh_4_CheckedChanged(object sender, EventArgs e)
  263. {
  264. if (chkAyCh_4.Checked == true)
  265. {
  266. chkAyCh_1.Checked = false;
  267. chkAyCh_2.Checked = false;
  268. chkAyCh_3.Checked = false;
  269. //chkAyCh_4.Checked = false;
  270. chkAyCh_5.Checked = false;
  271. chkAyCh_6.Checked = false;
  272. chkAyCh_7.Checked = false;
  273. chkAyCh_8.Checked = false;
  274. FrmMain.gpio.SwitchControl(4);
  275. }
  276. else
  277. {
  278. FrmMain.gpio.SwitchControl(0);
  279. }
  280. }
  281. private void chkAyCh_5_CheckedChanged(object sender, EventArgs e)
  282. {
  283. if (chkAyCh_5.Checked == true)
  284. {
  285. chkAyCh_1.Checked = false;
  286. chkAyCh_2.Checked = false;
  287. chkAyCh_3.Checked = false;
  288. chkAyCh_4.Checked = false;
  289. //chkAyCh_5.Checked = false;
  290. chkAyCh_6.Checked = false;
  291. chkAyCh_7.Checked = false;
  292. chkAyCh_8.Checked = false;
  293. FrmMain.gpio.SwitchControl(5);
  294. }
  295. else
  296. {
  297. FrmMain.gpio.SwitchControl(0);
  298. }
  299. }
  300. private void chkAyCh_6_CheckedChanged(object sender, EventArgs e)
  301. {
  302. if (chkAyCh_6.Checked == true)
  303. {
  304. chkAyCh_1.Checked = false;
  305. chkAyCh_2.Checked = false;
  306. chkAyCh_3.Checked = false;
  307. chkAyCh_4.Checked = false;
  308. chkAyCh_5.Checked = false;
  309. //chkAyCh_6.Checked = false;
  310. chkAyCh_7.Checked = false;
  311. chkAyCh_8.Checked = false;
  312. FrmMain.gpio.SwitchControl(6);
  313. }
  314. else
  315. {
  316. FrmMain.gpio.SwitchControl(0);
  317. }
  318. }
  319. private void chkAyCh_7_CheckedChanged(object sender, EventArgs e)
  320. {
  321. if (chkAyCh_7.Checked == true)
  322. {
  323. chkAyCh_1.Checked = false;
  324. chkAyCh_2.Checked = false;
  325. chkAyCh_3.Checked = false;
  326. chkAyCh_4.Checked = false;
  327. chkAyCh_5.Checked = false;
  328. chkAyCh_6.Checked = false;
  329. //chkAyCh_7.Checked = false;
  330. chkAyCh_8.Checked = false;
  331. FrmMain.gpio.SwitchControl(7);
  332. }
  333. else
  334. {
  335. FrmMain.gpio.SwitchControl(0);
  336. }
  337. }
  338. private void chkAyCh_8_CheckedChanged(object sender, EventArgs e)
  339. {
  340. if (chkAyCh_8.Checked == true)
  341. {
  342. chkAyCh_1.Checked = false;
  343. chkAyCh_2.Checked = false;
  344. chkAyCh_3.Checked = false;
  345. chkAyCh_4.Checked = false;
  346. chkAyCh_5.Checked = false;
  347. chkAyCh_6.Checked = false;
  348. chkAyCh_7.Checked = false;
  349. //chkAyCh_8.Checked = false;
  350. FrmMain.gpio.SwitchControl(8);
  351. }
  352. else
  353. {
  354. FrmMain.gpio.SwitchControl(0);
  355. }
  356. }
  357. private void chkAllSwitchDo_CheckedChanged(object sender, EventArgs e)
  358. {
  359. if (chkAllSwitchDo.Checked == true)
  360. {
  361. FrmMain.gpio.AllSwitchBandstopft();
  362. chkAyCh_1.Enabled = false;
  363. chkAyCh_2.Enabled = false;
  364. chkAyCh_3.Enabled = false;
  365. chkAyCh_4.Enabled = false;
  366. chkAyCh_5.Enabled = false;
  367. chkAyCh_6.Enabled = false;
  368. chkAyCh_7.Enabled = false;
  369. chkAyCh_8.Enabled = false;
  370. }
  371. else
  372. {
  373. FrmMain.gpio.AllSwitchAttenuator();
  374. chkAyCh_1.Enabled = true;
  375. chkAyCh_2.Enabled = true;
  376. chkAyCh_3.Enabled = true;
  377. chkAyCh_4.Enabled = true;
  378. chkAyCh_5.Enabled = true;
  379. chkAyCh_6.Enabled = true;
  380. chkAyCh_7.Enabled = true;
  381. chkAyCh_8.Enabled = true;
  382. }
  383. }
  384. #endregion
  385. #region 射频开关1控制(一分八)代码
  386. private void chkStCh_1_CheckedChanged(object sender, EventArgs e)
  387. {
  388. if (chkStCh_1.Checked == true)
  389. {
  390. //chkStCh_1.Checked = false;
  391. chkStCh_2.Checked = false;
  392. chkStCh_3.Checked = false;
  393. chkStCh_4.Checked = false;
  394. chkStCh_5.Checked = false;
  395. chkStCh_6.Checked = false;
  396. chkStCh_7.Checked = false;
  397. chkStCh_8.Checked = false;
  398. FrmMain.dio.OneToEight(1, DioControlClass.State.ON);
  399. }
  400. else
  401. {
  402. FrmMain.dio.OneToEight(1,DioControlClass.State.OFF);
  403. }
  404. }
  405. private void chkStCh_2_CheckedChanged(object sender, EventArgs e)
  406. {
  407. if (chkStCh_2.Checked == true)
  408. {
  409. chkStCh_1.Checked = false;
  410. //chkStCh_2.Checked = false;
  411. chkStCh_3.Checked = false;
  412. chkStCh_4.Checked = false;
  413. chkStCh_5.Checked = false;
  414. chkStCh_6.Checked = false;
  415. chkStCh_7.Checked = false;
  416. chkStCh_8.Checked = false;
  417. FrmMain.dio.OneToEight(2, DioControlClass.State.ON);
  418. }
  419. else
  420. {
  421. FrmMain.dio.OneToEight(2, DioControlClass.State.OFF);
  422. }
  423. }
  424. private void chkStCh_3_CheckedChanged(object sender, EventArgs e)
  425. {
  426. if (chkStCh_3.Checked == true)
  427. {
  428. chkStCh_1.Checked = false;
  429. chkStCh_2.Checked = false;
  430. //chkStCh_3.Checked = false;
  431. chkStCh_4.Checked = false;
  432. chkStCh_5.Checked = false;
  433. chkStCh_6.Checked = false;
  434. chkStCh_7.Checked = false;
  435. chkStCh_8.Checked = false;
  436. FrmMain.dio.OneToEight(3, DioControlClass.State.ON);
  437. }
  438. else
  439. {
  440. FrmMain.dio.OneToEight(3, DioControlClass.State.OFF);
  441. }
  442. }
  443. private void chkStCh_4_CheckedChanged(object sender, EventArgs e)
  444. {
  445. if (chkStCh_4.Checked == true)
  446. {
  447. chkStCh_1.Checked = false;
  448. chkStCh_2.Checked = false;
  449. chkStCh_3.Checked = false;
  450. //chkStCh_4.Checked = false;
  451. chkStCh_5.Checked = false;
  452. chkStCh_6.Checked = false;
  453. chkStCh_7.Checked = false;
  454. chkStCh_8.Checked = false;
  455. FrmMain.dio.OneToEight(4, DioControlClass.State.ON);
  456. }
  457. else
  458. {
  459. FrmMain.dio.OneToEight(4, DioControlClass.State.OFF);
  460. }
  461. }
  462. private void chkStCh_5_CheckedChanged(object sender, EventArgs e)
  463. {
  464. if (chkStCh_5.Checked == true)
  465. {
  466. chkStCh_1.Checked = false;
  467. chkStCh_2.Checked = false;
  468. chkStCh_3.Checked = false;
  469. chkStCh_4.Checked = false;
  470. //chkStCh_5.Checked = false;
  471. chkStCh_6.Checked = false;
  472. chkStCh_7.Checked = false;
  473. chkStCh_8.Checked = false;
  474. FrmMain.dio.OneToEight(5, DioControlClass.State.ON);
  475. }
  476. else
  477. {
  478. FrmMain.dio.OneToEight(5, DioControlClass.State.OFF);
  479. }
  480. }
  481. private void chkStCh_6_CheckedChanged(object sender, EventArgs e)
  482. {
  483. if (chkStCh_6.Checked == true)
  484. {
  485. chkStCh_1.Checked = false;
  486. chkStCh_2.Checked = false;
  487. chkStCh_3.Checked = false;
  488. chkStCh_4.Checked = false;
  489. chkStCh_5.Checked = false;
  490. //chkStCh_6.Checked = false;
  491. chkStCh_7.Checked = false;
  492. chkStCh_8.Checked = false;
  493. FrmMain.dio.OneToEight(6, DioControlClass.State.ON);
  494. }
  495. else
  496. {
  497. FrmMain.dio.OneToEight(6, DioControlClass.State.OFF);
  498. }
  499. }
  500. private void chkStCh_7_CheckedChanged(object sender, EventArgs e)
  501. {
  502. if (chkStCh_7.Checked == true)
  503. {
  504. chkStCh_1.Checked = false;
  505. chkStCh_2.Checked = false;
  506. chkStCh_3.Checked = false;
  507. chkStCh_4.Checked = false;
  508. chkStCh_5.Checked = false;
  509. chkStCh_6.Checked = false;
  510. //chkStCh_7.Checked = false;
  511. chkStCh_8.Checked = false;
  512. FrmMain.dio.OneToEight(7, DioControlClass.State.ON);
  513. }
  514. else
  515. {
  516. FrmMain.dio.OneToEight(7, DioControlClass.State.OFF);
  517. }
  518. }
  519. private void chkStCh_8_CheckedChanged(object sender, EventArgs e)
  520. {
  521. if (chkStCh_8.Checked == true)
  522. {
  523. chkStCh_1.Checked = false;
  524. chkStCh_2.Checked = false;
  525. chkStCh_3.Checked = false;
  526. chkStCh_4.Checked = false;
  527. chkStCh_5.Checked = false;
  528. chkStCh_6.Checked = false;
  529. chkStCh_7.Checked = false;
  530. //chkStCh_8.Checked = false;
  531. FrmMain.dio.OneToEight(8, DioControlClass.State.ON);
  532. }
  533. else
  534. {
  535. FrmMain.dio.OneToEight(8, DioControlClass.State.OFF);
  536. }
  537. }
  538. #endregion
  539. #region 射频开关3控制(一分四)代码
  540. private void chkBxCh_1_CheckedChanged(object sender, EventArgs e)
  541. {
  542. if (chkBxCh_1.Checked == true)
  543. {
  544. //chkBxCh_1.Checked = false;
  545. chkBxCh_2.Checked = false;
  546. chkBxCh_3.Checked = false;
  547. chkBxCh_4.Checked = false;
  548. FrmMain.dio.OneToFour(1, DioControlClass.State.ON);
  549. }
  550. else
  551. {
  552. FrmMain.dio.OneToFour(1, DioControlClass.State.OFF);
  553. }
  554. }
  555. private void chkBxCh_2_CheckedChanged(object sender, EventArgs e)
  556. {
  557. if (chkBxCh_2.Checked == true)
  558. {
  559. chkBxCh_1.Checked = false;
  560. //chkBxCh_2.Checked = false;
  561. chkBxCh_3.Checked = false;
  562. chkBxCh_4.Checked = false;
  563. FrmMain.dio.OneToFour(2, DioControlClass.State.ON);
  564. }
  565. else
  566. {
  567. FrmMain.dio.OneToFour(2, DioControlClass.State.OFF);
  568. }
  569. }
  570. private void chkBxCh_3_CheckedChanged(object sender, EventArgs e)
  571. {
  572. if (chkBxCh_3.Checked == true)
  573. {
  574. chkBxCh_1.Checked = false;
  575. chkBxCh_2.Checked = false;
  576. //chkBxCh_3.Checked = false;
  577. chkBxCh_4.Checked = false;
  578. FrmMain.dio.OneToFour(3, DioControlClass.State.ON);
  579. }
  580. else
  581. {
  582. FrmMain.dio.OneToFour(3, DioControlClass.State.OFF);
  583. }
  584. }
  585. private void chkBxCh_4_CheckedChanged(object sender, EventArgs e)
  586. {
  587. if (chkBxCh_4.Checked == true)
  588. {
  589. chkBxCh_1.Checked = false;
  590. chkBxCh_2.Checked = false;
  591. chkBxCh_3.Checked = false;
  592. //chkBxCh_4.Checked = false;
  593. FrmMain.dio.OneToFour(4, DioControlClass.State.ON);
  594. }
  595. else
  596. {
  597. FrmMain.dio.OneToFour(4, DioControlClass.State.OFF);
  598. }
  599. }
  600. #endregion
  601. #region 射频开关4(一分二)代码[调制解调通道切换]
  602. private void chkCzCh_CheckedChanged(object sender, EventArgs e)
  603. {
  604. if (chkCzCh.Checked == true)
  605. {
  606. FrmMain.dio.OneToTwo(DioControlClass.State.ON);
  607. }
  608. else
  609. {
  610. FrmMain.dio.OneToTwo(DioControlClass.State.OFF);
  611. }
  612. }
  613. #endregion
  614. #region 内部电源控制代码
  615. private void ChkPowerOnOff_CheckedChanged(object sender, EventArgs e)
  616. {
  617. if (ChkPowerOnOff.Checked == true)
  618. {
  619. FrmMain.rainwormPower.powerOnoff(RainwormPower.State.ON);
  620. }
  621. else
  622. {
  623. FrmMain.rainwormPower.powerOnoff(RainwormPower.State.OFF);
  624. }
  625. }
  626. private void btnPowerSetting_Click(object sender, EventArgs e)
  627. {
  628. FrmMain.rainwormPower.powerSetting(Convert.ToDouble(txtbVoltSetValue.Text),Convert.ToDouble(txtbCurrSetValue.Text));
  629. }
  630. #endregion
  631. #region PCM控制代码
  632. string tamp = "";
  633. public void Displaywhile()
  634. {
  635. string st;
  636. while (true)
  637. {
  638. byte[] byrd = FrmMain.pcm.OnlyRead();
  639. //if (byrd != null && byrd[0] == 0xF0 && byrd[1] == 0x0F && byrd[2] == 0x03)
  640. {
  641. //byte[] br = new byte[byrd.Length-6];
  642. //for (int i = 0; i < br.Length; i++)
  643. //{
  644. // br[i] = byrd[6 + i];
  645. //}
  646. st = BytesToHexString(byrd);
  647. if (st != "" && st != tamp)
  648. {
  649. tamp = st;
  650. }
  651. }
  652. Thread.Sleep(100);
  653. }
  654. }
  655. public void SeriesPortThread()
  656. {
  657. SeriesPortChildref = new ThreadStart(Displaywhile);
  658. SeriesPortChildThread = new Thread(SeriesPortChildref);
  659. SeriesPortChildThread.Start();
  660. }
  661. private void btnPcmSendx_Click(object sender, EventArgs e)
  662. {
  663. string str = txtbPcmSend.Text;
  664. if (str!="" && str!=null)
  665. {
  666. string[] sArray = Regex.Split(str, " ", RegexOptions.IgnoreCase);
  667. byte[] bytx = new byte[sArray.Length];
  668. for (int i = 0; i < sArray.Length; i++)
  669. {
  670. bytx[i] = Convert.ToByte(sArray[i], 16);
  671. }
  672. txtbMsg.Text = FrmMain.pcm.DataSend(bytx,0).ToString();
  673. }
  674. }
  675. private void btnCleartxtbPcmRd_Click(object sender, EventArgs e)
  676. {
  677. tamp ="";
  678. }
  679. private void btnPcmSetting_Click(object sender, EventArgs e)
  680. {
  681. string mode = "UART";
  682. string choice = "NONE";
  683. int baud = 230400;
  684. if (rbtnUartMode.Checked==true && rbtnHdlcMode.Checked==false)
  685. {
  686. mode = "UART";
  687. gpbHdlcTr.Enabled = false;
  688. gpbUartCheck.Enabled = true;
  689. }
  690. else if (rbtnUartMode.Checked == false && rbtnHdlcMode.Checked == true)
  691. {
  692. mode = "HDLC";
  693. gpbHdlcTr.Enabled = true;
  694. gpbUartCheck.Enabled = false;
  695. }
  696. if (rbtnRise.Checked == true && rbtnHdlcMode.Checked == true)
  697. {
  698. choice = "RISE";
  699. }
  700. else if (rbtnRise.Checked == false && rbtnHdlcMode.Checked == true)
  701. {
  702. choice = "FALL";
  703. }
  704. if (rbtnOdd.Checked==true && rbtnUartMode.Checked == true)
  705. {
  706. choice = "ODD";
  707. }
  708. else if (rbtnEven.Checked==true && rbtnUartMode.Checked == true)
  709. {
  710. choice = "EVEN";
  711. }
  712. else if (rbtnNone.Checked==true && rbtnUartMode.Checked == true)
  713. {
  714. choice = "NONE";
  715. }
  716. baud = int.Parse(txtbBaudrate.Text);
  717. FrmMain.pcm.Setting(mode, choice, baud);
  718. }
  719. private void rbtnUartMode_CheckedChanged(object sender, EventArgs e)
  720. {
  721. if (rbtnUartMode.Checked == true)
  722. {
  723. gpbHdlcTr.Enabled = false;
  724. gpbUartCheck.Enabled = true;
  725. rbtnNone.Checked = true;
  726. }
  727. else if (rbtnHdlcMode.Checked == true)
  728. {
  729. gpbHdlcTr.Enabled = true;
  730. gpbUartCheck.Enabled = false;
  731. rbtnRise.Checked = true;
  732. }
  733. }
  734. private void rbtnHdlcMode_CheckedChanged(object sender, EventArgs e)
  735. {
  736. if (rbtnUartMode.Checked == true)
  737. {
  738. gpbHdlcTr.Enabled = false;
  739. gpbUartCheck.Enabled = true;
  740. rbtnNone.Checked = true;
  741. }
  742. else if (rbtnHdlcMode.Checked == true)
  743. {
  744. gpbHdlcTr.Enabled = true;
  745. gpbUartCheck.Enabled = false;
  746. rbtnRise.Checked = true;
  747. }
  748. }
  749. private void chkTimerEn_CheckedChanged(object sender, EventArgs e)
  750. {
  751. timer2.Interval = int.Parse(txtbTimer2Num.Text);
  752. timer2.Enabled = chkTimerEn.Checked;
  753. }
  754. /// <summary>
  755. /// 定时器1:定时刷新PCM接收文本窗口
  756. /// </summary>
  757. /// <param name="sender"></param>
  758. /// <param name="e"></param>
  759. private void timer1_Tick(object sender, EventArgs e)
  760. {
  761. txtbPcmRd.Text = tamp;
  762. }
  763. /// <summary>
  764. /// 定时器2:PCM定时发送
  765. /// </summary>
  766. /// <param name="sender"></param>
  767. /// <param name="e"></param>
  768. private void timer2_Tick(object sender, EventArgs e)
  769. {
  770. string str = txtbPcmSend.Text;
  771. if (str != "" && str != null)
  772. {
  773. string[] sArray = Regex.Split(str, " ", RegexOptions.IgnoreCase);
  774. byte[] bytx = new byte[sArray.Length];
  775. for (int i = 0; i < sArray.Length; i++)
  776. {
  777. bytx[i] = Convert.ToByte(sArray[i], 16);
  778. }
  779. txtbMsg.Text = FrmMain.pcm.DataSend(bytx,0).ToString();
  780. }
  781. }
  782. private void txtbTimer2Num_TextChanged(object sender, EventArgs e)
  783. {
  784. timer2.Interval = int.Parse(txtbTimer2Num.Text);
  785. }
  786. #endregion
  787. }
  788. }