昨日のバンド切り替えに、外部チューナの制御を追加。 144MHzと430MHzからHFに切り替えた時に、ATUがオンにならないので、その部分を追加。
1 2 3 4 5 6 7 8 |
private void button8_Click(object sender, EventArgs e) { var freq = get_current_frequency(); freqreg[freq2band(freq)] = freq.ToString("000000000"); spwrite("FA" + freqreg[0]); colored_bandbutton(0); spwrite("AC001"); } |
さらに、プリアンプとかFASTとかその他を制御する機能を追加。
例によって、FormのLoadで、各ボタンの状態を取得
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
//FASTの状態取得 spwrite("FS"); var st = spread(); if (st == "FS1") { button24.BackColor = Color.Orange; st_fast = true; } else { button24.BackColor = SystemColors.Control; st_fast = false; } //ATTの状態取得 spwrite("RA0"); st = spread(); if(st == "RA01") { button23.BackColor = Color.Orange; st_att = true; } else { button23.BackColor = SystemColors.Control; st_att = false; } //BK-INの状態取得 spwrite("BI"); st = spread(); if (st == "BI1") { button26.BackColor = Color.Orange; st_bkin = true; } else { button26.BackColor = SystemColors.Control; st_bkin = false; } |
追加した関数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//amp系のボタンをデフォルト色に private void clear_ampbutton() { button20.BackColor = SystemColors.Control; button21.BackColor = SystemColors.Control; button22.BackColor = SystemColors.Control; } //preampの状態取得して該当するボタンを着色 private void get_Ipo() { clear_ampbutton(); spwrite("PA0"); var amp = spread(); switch(amp) { case "0": button20.BackColor = Color.Orange; break; case "1": button21.BackColor = Color.Orange; break; case "2": button22.BackColor = Color.Orange; break; } } |
各ボタンのクリックイベント
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
//IPO設定 private void button20_Click(object sender, EventArgs e) { clear_ampbutton(); spwrite("PA00"); button20.BackColor = Color.Orange; } //AMP1設定 private void button21_Click(object sender, EventArgs e) { clear_ampbutton(); spwrite("PA01"); button21.BackColor = Color.Orange; } //AMP2設定 private void button22_Click(object sender, EventArgs e) { clear_ampbutton(); spwrite("PA02"); button22.BackColor = Color.Orange; } //ATT設定(トグル) private void button23_Click(object sender, EventArgs e) { st_att = !st_att; if (st_att) { spwrite("RA01"); button23.BackColor = Color.Orange; } else { spwrite("RA00"); button23.BackColor = SystemColors.Control; } } //ファスト設定(トグル) private void button24_Click(object sender, EventArgs e) { st_fast = !st_fast; if (st_fast) { spwrite("FS1"); button24.BackColor = Color.Orange; } else { spwrite("FS0"); button24.BackColor = SystemColors.Control; } } //Zero-In private void button25_Click(object sender, EventArgs e) { spwrite("ZI"); } //BK-IN設定(トグル) private void button26_Click(object sender, EventArgs e) { st_bkin = !st_bkin; if (st_bkin) { spwrite("BI1"); button26.BackColor = Color.Orange; } else { spwrite("BI0"); button26.BackColor = SystemColors.Control; } } |
一応、これで欲しい機能は実装したと思うけど、使っているうちに何か気が付いたら、その都度修正しようと思う。