![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
First Programm.HF Lo Band VFO with LPC1114 and AD9851 module.Built in ELEKEY.Using ACM1602NI.
main.cpp@1:ee890adf56ea, 2017-09-15 (annotated)
- Committer:
- jp1nom
- Date:
- Fri Sep 15 07:26:48 2017 +0000
- Revision:
- 1:ee890adf56ea
- Parent:
- 0:5cdf1a556e60
DDS VFO for Double Super Heterodyne Radio.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jp1nom | 0:5cdf1a556e60 | 1 | #include "mbed.h" |
jp1nom | 0:5cdf1a556e60 | 2 | #include "I2cLCD.h" |
jp1nom | 1:ee890adf56ea | 3 | #include "QEI.h" |
jp1nom | 1:ee890adf56ea | 4 | #define ROTATE_PER_REVOLUTIONS 24 |
jp1nom | 0:5cdf1a556e60 | 5 | |
jp1nom | 0:5cdf1a556e60 | 6 | DigitalOut DATA(dp9); |
jp1nom | 0:5cdf1a556e60 | 7 | DigitalOut W_CLK(dp17); |
jp1nom | 0:5cdf1a556e60 | 8 | DigitalOut FQ_UD(dp11); |
jp1nom | 1:ee890adf56ea | 9 | DigitalOut RESET(dp26); |
jp1nom | 0:5cdf1a556e60 | 10 | DigitalOut LED(dp14); |
jp1nom | 0:5cdf1a556e60 | 11 | DigitalOut PTT_OUT(dp18); |
jp1nom | 1:ee890adf56ea | 12 | DigitalIn PTT_ON(dp1); |
jp1nom | 1:ee890adf56ea | 13 | DigitalOut RL1(dp13); //BFO,AUDIO |
jp1nom | 1:ee890adf56ea | 14 | DigitalOut RL2(dp15); //AGC |
jp1nom | 1:ee890adf56ea | 15 | DigitalIn BAND_SW(dp10); |
jp1nom | 1:ee890adf56ea | 16 | DigitalIn JOG_3(dp25); //FREQ STEP |
jp1nom | 1:ee890adf56ea | 17 | DigitalIn RIT_SW(dp16); //RIT |
jp1nom | 1:ee890adf56ea | 18 | DigitalIn jmh(dp24); |
jp1nom | 1:ee890adf56ea | 19 | DigitalIn MODE_IN(dp6); |
jp1nom | 1:ee890adf56ea | 20 | //DigitalIn test(dp15); |
jp1nom | 0:5cdf1a556e60 | 21 | |
jp1nom | 0:5cdf1a556e60 | 22 | double FQX; |
jp1nom | 0:5cdf1a556e60 | 23 | double FQD; |
jp1nom | 1:ee890adf56ea | 24 | double FQDD; |
jp1nom | 0:5cdf1a556e60 | 25 | |
jp1nom | 1:ee890adf56ea | 26 | // double FQD_18 = 1810000; |
jp1nom | 1:ee890adf56ea | 27 | // double FQD_19 = 1907500; |
jp1nom | 0:5cdf1a556e60 | 28 | double FQD_351 = 3500000; |
jp1nom | 0:5cdf1a556e60 | 29 | double FQD_352 = 3599000; |
jp1nom | 0:5cdf1a556e60 | 30 | double FQD_353 = 3680000; |
jp1nom | 0:5cdf1a556e60 | 31 | double FQD_381 = 3702000; |
jp1nom | 0:5cdf1a556e60 | 32 | double FQD_382 = 3745000; |
jp1nom | 0:5cdf1a556e60 | 33 | double FQD_383 = 3791000; |
jp1nom | 0:5cdf1a556e60 | 34 | double FQD_4 = 4630000; |
jp1nom | 0:5cdf1a556e60 | 35 | double FQD_7 = 7000000; |
jp1nom | 0:5cdf1a556e60 | 36 | double FQD_10 = 10100000; |
jp1nom | 1:ee890adf56ea | 37 | //double FQD_14 = 522000; |
jp1nom | 1:ee890adf56ea | 38 | double FQD_JMH = 3620600; |
jp1nom | 1:ee890adf56ea | 39 | double FQD_JMH1 = 7793100; |
jp1nom | 1:ee890adf56ea | 40 | double FQD_VOK1 = 6070000; |
jp1nom | 1:ee890adf56ea | 41 | double FQD_VOK2 = 9650000; |
jp1nom | 1:ee890adf56ea | 42 | double FQD_KCBS = 6400000; |
jp1nom | 1:ee890adf56ea | 43 | double FQD_NSB1 = 6055000; |
jp1nom | 1:ee890adf56ea | 44 | double FQD_NSB2 = 6115000; |
jp1nom | 1:ee890adf56ea | 45 | double FQD_NSB3 = 9595000; |
jp1nom | 1:ee890adf56ea | 46 | double FQD_NSB4 = 9760000; |
jp1nom | 1:ee890adf56ea | 47 | double FQD_NSB5 = 3925000; |
jp1nom | 1:ee890adf56ea | 48 | double FQD_NSB6 = 3945000; |
jp1nom | 1:ee890adf56ea | 49 | double FQD_CRI = 7325000; |
jp1nom | 1:ee890adf56ea | 50 | double FQD_NHK = 9750000; |
jp1nom | 1:ee890adf56ea | 51 | double FQD_14 = 14000000; |
jp1nom | 1:ee890adf56ea | 52 | double FQD_181 = 18068000; |
jp1nom | 1:ee890adf56ea | 53 | double FQD_M = 0; |
jp1nom | 1:ee890adf56ea | 54 | double FQD_MM = 0; |
jp1nom | 1:ee890adf56ea | 55 | double FQD_jmh = 0; |
jp1nom | 0:5cdf1a556e60 | 56 | |
jp1nom | 0:5cdf1a556e60 | 57 | double FQ; |
jp1nom | 0:5cdf1a556e60 | 58 | |
jp1nom | 1:ee890adf56ea | 59 | // double FQ_18 = 43191352; |
jp1nom | 1:ee890adf56ea | 60 | // double FQ_19 = 45517913; |
jp1nom | 1:ee890adf56ea | 61 | double FQ_351 = 83517187; |
jp1nom | 1:ee890adf56ea | 62 | double FQ_352 = 85879508; |
jp1nom | 1:ee890adf56ea | 63 | double FQ_353 = 87812323; |
jp1nom | 1:ee890adf56ea | 64 | double FQ_381 = 88337282; |
jp1nom | 1:ee890adf56ea | 65 | double FQ_382 = 89363339; |
jp1nom | 1:ee890adf56ea | 66 | double FQ_383 = 90460995; |
jp1nom | 1:ee890adf56ea | 67 | double FQ_4 = 110481248; |
jp1nom | 1:ee890adf56ea | 68 | double FQ_7 = 167034290; |
jp1nom | 1:ee890adf56ea | 69 | double FQ_10 = 241006742; |
jp1nom | 1:ee890adf56ea | 70 | //double FQ_14 = 12455974; |
jp1nom | 1:ee890adf56ea | 71 | double FQ_JMH = 86397023; |
jp1nom | 1:ee890adf56ea | 72 | double FQ_JMH1 = 185963684; |
jp1nom | 1:ee890adf56ea | 73 | double FQ_VOK1 = 144846025; |
jp1nom | 1:ee890adf56ea | 74 | double FQ_VOK2 = 230274159; |
jp1nom | 1:ee890adf56ea | 75 | double FQ_KCBS = 152720685; |
jp1nom | 1:ee890adf56ea | 76 | double FQ_NSB1 = 144488086; |
jp1nom | 1:ee890adf56ea | 77 | double FQ_NSB2 = 145919842; |
jp1nom | 1:ee890adf56ea | 78 | double FQ_NSB3 = 228961619; |
jp1nom | 1:ee890adf56ea | 79 | double FQ_NSB4 = 232898947; |
jp1nom | 1:ee890adf56ea | 80 | double FQ_NSB5 = 93660807; |
jp1nom | 1:ee890adf56ea | 81 | double FQ_NSB6 = 94138060; |
jp1nom | 1:ee890adf56ea | 82 | double FQ_CRI = 174793597; |
jp1nom | 1:ee890adf56ea | 83 | double FQ_NHK = 232660321; |
jp1nom | 1:ee890adf56ea | 84 | double FQ_14 = 334078686; |
jp1nom | 1:ee890adf56ea | 85 | double FQ_181 = 431152407; |
jp1nom | 1:ee890adf56ea | 86 | double FQ_M = 0; |
jp1nom | 1:ee890adf56ea | 87 | double FQ_MM =0; |
jp1nom | 1:ee890adf56ea | 88 | double FQ_jmh = 0; |
jp1nom | 0:5cdf1a556e60 | 89 | |
jp1nom | 0:5cdf1a556e60 | 90 | double f1 = 7000000; |
jp1nom | 0:5cdf1a556e60 | 91 | double f2 = 7200000; |
jp1nom | 0:5cdf1a556e60 | 92 | double f1_CW = 7000000; |
jp1nom | 0:5cdf1a556e60 | 93 | double f2_CW = 7045000; |
jp1nom | 1:ee890adf56ea | 94 | double f1_M = 0; |
jp1nom | 1:ee890adf56ea | 95 | double f2_M = 0; |
jp1nom | 1:ee890adf56ea | 96 | double f1_MM = 0; |
jp1nom | 1:ee890adf56ea | 97 | double f2_MM = 0; |
jp1nom | 1:ee890adf56ea | 98 | double f1_CW_M = 0; |
jp1nom | 1:ee890adf56ea | 99 | double f2_CW_M = 0; |
jp1nom | 1:ee890adf56ea | 100 | double f1_CW_MM = 0; |
jp1nom | 1:ee890adf56ea | 101 | double f2_CW_MM = 0; |
jp1nom | 1:ee890adf56ea | 102 | double f1_jmh = 0; |
jp1nom | 1:ee890adf56ea | 103 | double f2_jmh = 0; |
jp1nom | 1:ee890adf56ea | 104 | double f1_CW_jmh = 0; |
jp1nom | 1:ee890adf56ea | 105 | double f2_CW_jmh = 0; |
jp1nom | 1:ee890adf56ea | 106 | int BAND_jmh; |
jp1nom | 1:ee890adf56ea | 107 | int mem; |
jp1nom | 1:ee890adf56ea | 108 | int mem_jmh; |
jp1nom | 0:5cdf1a556e60 | 109 | int BAND; |
jp1nom | 1:ee890adf56ea | 110 | int BAND_M; |
jp1nom | 1:ee890adf56ea | 111 | int BAND_MM; |
jp1nom | 0:5cdf1a556e60 | 112 | double IF; |
jp1nom | 0:5cdf1a556e60 | 113 | double STEPD; |
jp1nom | 1:ee890adf56ea | 114 | double STEP = 2.3863380645591; |
jp1nom | 1:ee890adf56ea | 115 | int ritd = 0; |
jp1nom | 0:5cdf1a556e60 | 116 | float wt = 0.1; |
jp1nom | 0:5cdf1a556e60 | 117 | const int a=1; |
jp1nom | 0:5cdf1a556e60 | 118 | int s; |
jp1nom | 1:ee890adf56ea | 119 | int fbuf1; |
jp1nom | 1:ee890adf56ea | 120 | int fbuf2; |
jp1nom | 1:ee890adf56ea | 121 | int fbuf3; |
jp1nom | 1:ee890adf56ea | 122 | int fbuf4; |
jp1nom | 1:ee890adf56ea | 123 | int fbuf5; |
jp1nom | 1:ee890adf56ea | 124 | int fbuf6; |
jp1nom | 1:ee890adf56ea | 125 | int mode = 0; |
jp1nom | 1:ee890adf56ea | 126 | int riton = 0; |
jp1nom | 1:ee890adf56ea | 127 | int sig; |
jp1nom | 1:ee890adf56ea | 128 | int CW_MODE = 0; |
jp1nom | 1:ee890adf56ea | 129 | int CW_MODE_M; |
jp1nom | 1:ee890adf56ea | 130 | double CW_OFFSET; |
jp1nom | 0:5cdf1a556e60 | 131 | float del = 0.1; |
jp1nom | 1:ee890adf56ea | 132 | int CW_IN = 0;; |
jp1nom | 0:5cdf1a556e60 | 133 | |
jp1nom | 0:5cdf1a556e60 | 134 | void DDS(void); |
jp1nom | 0:5cdf1a556e60 | 135 | void DDS_U(void); |
jp1nom | 0:5cdf1a556e60 | 136 | void DDS_D(void); |
jp1nom | 0:5cdf1a556e60 | 137 | void DDS_T(void); |
jp1nom | 0:5cdf1a556e60 | 138 | void GET_LCD_DATA(void); |
jp1nom | 0:5cdf1a556e60 | 139 | void STEPS(void); |
jp1nom | 0:5cdf1a556e60 | 140 | void QSY(void); |
jp1nom | 0:5cdf1a556e60 | 141 | void STEPSS(void); |
jp1nom | 0:5cdf1a556e60 | 142 | void PTT_OFF(void); |
jp1nom | 1:ee890adf56ea | 143 | void RIT(void); |
jp1nom | 1:ee890adf56ea | 144 | // void MEMIN(void); |
jp1nom | 1:ee890adf56ea | 145 | // void MEMOUT(void); |
jp1nom | 1:ee890adf56ea | 146 | void JMH(void); |
jp1nom | 1:ee890adf56ea | 147 | void JOZ(void); |
jp1nom | 1:ee890adf56ea | 148 | void CW1(void); |
jp1nom | 1:ee890adf56ea | 149 | void CW2(void); |
jp1nom | 1:ee890adf56ea | 150 | void MODEX(void); |
jp1nom | 1:ee890adf56ea | 151 | void MODEY(void); |
jp1nom | 0:5cdf1a556e60 | 152 | |
jp1nom | 0:5cdf1a556e60 | 153 | I2cLCD lcd(dp5, dp27); |
jp1nom | 1:ee890adf56ea | 154 | QEI wheel(dp2, dp28, NC, ROTATE_PER_REVOLUTIONS, QEI::X4_ENCODING); |
jp1nom | 1:ee890adf56ea | 155 | //QEI wheel(dp2, dp28, NC, ROTATE_PER_REVOLUTIONS); |
jp1nom | 0:5cdf1a556e60 | 156 | |
jp1nom | 0:5cdf1a556e60 | 157 | int main() { |
jp1nom | 0:5cdf1a556e60 | 158 | |
jp1nom | 0:5cdf1a556e60 | 159 | STEPD = 10; |
jp1nom | 0:5cdf1a556e60 | 160 | BAND = 7; |
jp1nom | 0:5cdf1a556e60 | 161 | FQD = FQD_7; |
jp1nom | 0:5cdf1a556e60 | 162 | FQ = FQ_7; |
jp1nom | 1:ee890adf56ea | 163 | |
jp1nom | 1:ee890adf56ea | 164 | RL1 = 1; |
jp1nom | 1:ee890adf56ea | 165 | RL2 = 0; |
jp1nom | 1:ee890adf56ea | 166 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 167 | lcd.printf("SSB"); |
jp1nom | 0:5cdf1a556e60 | 168 | |
jp1nom | 1:ee890adf56ea | 169 | // IF = 10857171;//IF 455KHz |
jp1nom | 1:ee890adf56ea | 170 | CW_OFFSET = 22167;//CW OFSET 1KHz |
jp1nom | 1:ee890adf56ea | 171 | IF = 255259586;// IF 10.7MHz |
jp1nom | 0:5cdf1a556e60 | 172 | LED = 0; |
jp1nom | 0:5cdf1a556e60 | 173 | s = 1; |
jp1nom | 0:5cdf1a556e60 | 174 | |
jp1nom | 0:5cdf1a556e60 | 175 | RESET=0; |
jp1nom | 0:5cdf1a556e60 | 176 | RESET=1; |
jp1nom | 0:5cdf1a556e60 | 177 | wait_us(100); |
jp1nom | 0:5cdf1a556e60 | 178 | RESET=0; |
jp1nom | 0:5cdf1a556e60 | 179 | DATA=0; |
jp1nom | 0:5cdf1a556e60 | 180 | FQ_UD=0; |
jp1nom | 0:5cdf1a556e60 | 181 | W_CLK=0; |
jp1nom | 0:5cdf1a556e60 | 182 | |
jp1nom | 0:5cdf1a556e60 | 183 | W_CLK=1; |
jp1nom | 0:5cdf1a556e60 | 184 | wait_us(100); |
jp1nom | 0:5cdf1a556e60 | 185 | W_CLK=0; |
jp1nom | 0:5cdf1a556e60 | 186 | FQ_UD=1; |
jp1nom | 0:5cdf1a556e60 | 187 | wait_us(100); |
jp1nom | 0:5cdf1a556e60 | 188 | FQ_UD=0; |
jp1nom | 0:5cdf1a556e60 | 189 | wait_us(100); |
jp1nom | 1:ee890adf56ea | 190 | FQDD = FQD; |
jp1nom | 0:5cdf1a556e60 | 191 | GET_LCD_DATA(); |
jp1nom | 0:5cdf1a556e60 | 192 | |
jp1nom | 0:5cdf1a556e60 | 193 | FQX = FQ + IF; |
jp1nom | 0:5cdf1a556e60 | 194 | DDS(); |
jp1nom | 0:5cdf1a556e60 | 195 | DDS(); |
jp1nom | 1:ee890adf56ea | 196 | lcd.locate(9,0); |
jp1nom | 0:5cdf1a556e60 | 197 | lcd.printf("0MHz"); |
jp1nom | 0:5cdf1a556e60 | 198 | lcd.locate(12,1); |
jp1nom | 0:5cdf1a556e60 | 199 | lcd.printf("1KHz"); |
jp1nom | 0:5cdf1a556e60 | 200 | lcd.locate(14,0); |
jp1nom | 0:5cdf1a556e60 | 201 | lcd.printf("RX"); |
jp1nom | 1:ee890adf56ea | 202 | |
jp1nom | 1:ee890adf56ea | 203 | fbuf2 = 0; |
jp1nom | 1:ee890adf56ea | 204 | |
jp1nom | 0:5cdf1a556e60 | 205 | while(1) { |
jp1nom | 1:ee890adf56ea | 206 | if (PTT_ON == 0) {DDS_T();} |
jp1nom | 1:ee890adf56ea | 207 | if (BAND_SW == 0) {QSY();} |
jp1nom | 1:ee890adf56ea | 208 | if (JOG_3 == 1) {STEPS();} |
jp1nom | 1:ee890adf56ea | 209 | fbuf1 = wheel.getPulses(); |
jp1nom | 1:ee890adf56ea | 210 | if (RIT_SW == 1) {RIT();} |
jp1nom | 1:ee890adf56ea | 211 | if (fbuf1 > fbuf2) {DDS_U();} |
jp1nom | 1:ee890adf56ea | 212 | if (fbuf1 < fbuf2) {DDS_D();} |
jp1nom | 1:ee890adf56ea | 213 | fbuf2 = fbuf1; |
jp1nom | 1:ee890adf56ea | 214 | if (jmh == 1) {JOZ();} |
jp1nom | 1:ee890adf56ea | 215 | // if (memin == 0) {MEMIN();} |
jp1nom | 1:ee890adf56ea | 216 | // if (memout== 0) {MEMOUT();} |
jp1nom | 1:ee890adf56ea | 217 | // if (CW_MODE == 0 & CW_IN == 1 ) {CW1();} |
jp1nom | 1:ee890adf56ea | 218 | // if (CW_MODE == 1 & CW_IN == 0 ) {CW2();} |
jp1nom | 1:ee890adf56ea | 219 | if (MODE_IN == 1 ) {MODEX();} |
jp1nom | 0:5cdf1a556e60 | 220 | } |
jp1nom | 0:5cdf1a556e60 | 221 | } |
jp1nom | 0:5cdf1a556e60 | 222 | |
jp1nom | 0:5cdf1a556e60 | 223 | void DDS(void) { |
jp1nom | 0:5cdf1a556e60 | 224 | |
jp1nom | 0:5cdf1a556e60 | 225 | unsigned long int DDS_DATA; |
jp1nom | 0:5cdf1a556e60 | 226 | unsigned long int BIT_DATA; |
jp1nom | 0:5cdf1a556e60 | 227 | |
jp1nom | 0:5cdf1a556e60 | 228 | int i = 0; |
jp1nom | 0:5cdf1a556e60 | 229 | |
jp1nom | 0:5cdf1a556e60 | 230 | DDS_DATA = FQX; |
jp1nom | 0:5cdf1a556e60 | 231 | |
jp1nom | 0:5cdf1a556e60 | 232 | for (i=0; i<32; i++) { |
jp1nom | 0:5cdf1a556e60 | 233 | BIT_DATA = DDS_DATA & 1; |
jp1nom | 0:5cdf1a556e60 | 234 | if(BIT_DATA==1) { |
jp1nom | 0:5cdf1a556e60 | 235 | DATA = 1; |
jp1nom | 0:5cdf1a556e60 | 236 | } else { |
jp1nom | 0:5cdf1a556e60 | 237 | DATA = 0; |
jp1nom | 0:5cdf1a556e60 | 238 | } |
jp1nom | 0:5cdf1a556e60 | 239 | W_CLK = 1; |
jp1nom | 0:5cdf1a556e60 | 240 | DDS_DATA = DDS_DATA >> 1; |
jp1nom | 0:5cdf1a556e60 | 241 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 242 | W_CLK = 0; |
jp1nom | 0:5cdf1a556e60 | 243 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 244 | } |
jp1nom | 0:5cdf1a556e60 | 245 | |
jp1nom | 0:5cdf1a556e60 | 246 | DDS_DATA = a; |
jp1nom | 0:5cdf1a556e60 | 247 | |
jp1nom | 0:5cdf1a556e60 | 248 | for (i=0; i<8; i++) { |
jp1nom | 0:5cdf1a556e60 | 249 | BIT_DATA = DDS_DATA & 1; |
jp1nom | 0:5cdf1a556e60 | 250 | if(BIT_DATA==1) { |
jp1nom | 0:5cdf1a556e60 | 251 | DATA = 1; |
jp1nom | 0:5cdf1a556e60 | 252 | } else { |
jp1nom | 0:5cdf1a556e60 | 253 | DATA = 0; |
jp1nom | 0:5cdf1a556e60 | 254 | } |
jp1nom | 0:5cdf1a556e60 | 255 | W_CLK = 1; |
jp1nom | 0:5cdf1a556e60 | 256 | DDS_DATA = DDS_DATA >> 1; |
jp1nom | 0:5cdf1a556e60 | 257 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 258 | W_CLK = 0; |
jp1nom | 0:5cdf1a556e60 | 259 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 260 | } |
jp1nom | 0:5cdf1a556e60 | 261 | FQ_UD = 1; |
jp1nom | 0:5cdf1a556e60 | 262 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 263 | FQ_UD = 0; |
jp1nom | 0:5cdf1a556e60 | 264 | wait_us(10); |
jp1nom | 0:5cdf1a556e60 | 265 | } |
jp1nom | 0:5cdf1a556e60 | 266 | |
jp1nom | 0:5cdf1a556e60 | 267 | void DDS_U(void) { |
jp1nom | 0:5cdf1a556e60 | 268 | |
jp1nom | 1:ee890adf56ea | 269 | if (riton==1) { |
jp1nom | 1:ee890adf56ea | 270 | if (ritd < 99) { |
jp1nom | 1:ee890adf56ea | 271 | ritd++; |
jp1nom | 1:ee890adf56ea | 272 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 273 | FQX = FQ + STEP * ritd * 100 + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 274 | }else{ |
jp1nom | 1:ee890adf56ea | 275 | FQX = FQ + STEP * ritd * 100 + IF; |
jp1nom | 1:ee890adf56ea | 276 | } |
jp1nom | 1:ee890adf56ea | 277 | DDS(); |
jp1nom | 1:ee890adf56ea | 278 | lcd.locate( 7,1 ); |
jp1nom | 1:ee890adf56ea | 279 | lcd.printf("%d0 ",ritd); |
jp1nom | 1:ee890adf56ea | 280 | } |
jp1nom | 1:ee890adf56ea | 281 | } else { |
jp1nom | 1:ee890adf56ea | 282 | |
jp1nom | 0:5cdf1a556e60 | 283 | if (s==0) { |
jp1nom | 0:5cdf1a556e60 | 284 | if ((FQD + STEPD) <= f2) { |
jp1nom | 0:5cdf1a556e60 | 285 | FQD = FQD + STEPD; |
jp1nom | 0:5cdf1a556e60 | 286 | FQ = FQ + STEP * 100; |
jp1nom | 0:5cdf1a556e60 | 287 | } |
jp1nom | 0:5cdf1a556e60 | 288 | }else{ |
jp1nom | 0:5cdf1a556e60 | 289 | if ((FQD + STEPD * 100) <= f2) { |
jp1nom | 0:5cdf1a556e60 | 290 | FQD = FQD + STEPD * 100; |
jp1nom | 0:5cdf1a556e60 | 291 | FQ = FQ + STEP * 10000; |
jp1nom | 0:5cdf1a556e60 | 292 | } |
jp1nom | 0:5cdf1a556e60 | 293 | } |
jp1nom | 1:ee890adf56ea | 294 | |
jp1nom | 1:ee890adf56ea | 295 | FQDD = FQD; |
jp1nom | 0:5cdf1a556e60 | 296 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 297 | |
jp1nom | 1:ee890adf56ea | 298 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 299 | FQX = FQ + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 300 | }else{ |
jp1nom | 1:ee890adf56ea | 301 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 302 | } |
jp1nom | 1:ee890adf56ea | 303 | |
jp1nom | 0:5cdf1a556e60 | 304 | DDS(); |
jp1nom | 1:ee890adf56ea | 305 | } |
jp1nom | 0:5cdf1a556e60 | 306 | } |
jp1nom | 0:5cdf1a556e60 | 307 | |
jp1nom | 0:5cdf1a556e60 | 308 | void DDS_D(void) { |
jp1nom | 0:5cdf1a556e60 | 309 | |
jp1nom | 1:ee890adf56ea | 310 | if (riton==1) { |
jp1nom | 1:ee890adf56ea | 311 | if (ritd > -99) { |
jp1nom | 1:ee890adf56ea | 312 | ritd--; |
jp1nom | 1:ee890adf56ea | 313 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 314 | FQX = FQ + STEP * ritd * 100 + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 315 | }else{ |
jp1nom | 1:ee890adf56ea | 316 | FQX = FQ + STEP * ritd * 100 + IF; |
jp1nom | 1:ee890adf56ea | 317 | } |
jp1nom | 1:ee890adf56ea | 318 | DDS(); |
jp1nom | 1:ee890adf56ea | 319 | lcd.locate( 7,1 ); |
jp1nom | 1:ee890adf56ea | 320 | lcd.printf("%d0 ",ritd); |
jp1nom | 1:ee890adf56ea | 321 | } |
jp1nom | 1:ee890adf56ea | 322 | } else { |
jp1nom | 0:5cdf1a556e60 | 323 | if (s==0) { |
jp1nom | 0:5cdf1a556e60 | 324 | if ((FQD - STEPD) >= f1) { |
jp1nom | 0:5cdf1a556e60 | 325 | FQD = FQD - STEPD; |
jp1nom | 0:5cdf1a556e60 | 326 | FQ = FQ - STEP * 100; |
jp1nom | 0:5cdf1a556e60 | 327 | } |
jp1nom | 0:5cdf1a556e60 | 328 | }else{ |
jp1nom | 0:5cdf1a556e60 | 329 | if ((FQD - STEPD * 100) >= f1) { |
jp1nom | 0:5cdf1a556e60 | 330 | FQD = FQD - STEPD * 100; |
jp1nom | 0:5cdf1a556e60 | 331 | FQ = FQ - STEP * 10000; |
jp1nom | 0:5cdf1a556e60 | 332 | } |
jp1nom | 0:5cdf1a556e60 | 333 | } |
jp1nom | 1:ee890adf56ea | 334 | FQDD = FQD; |
jp1nom | 0:5cdf1a556e60 | 335 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 336 | |
jp1nom | 1:ee890adf56ea | 337 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 338 | FQX = FQ + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 339 | }else{ |
jp1nom | 1:ee890adf56ea | 340 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 341 | } |
jp1nom | 0:5cdf1a556e60 | 342 | DDS(); |
jp1nom | 1:ee890adf56ea | 343 | } |
jp1nom | 0:5cdf1a556e60 | 344 | } |
jp1nom | 0:5cdf1a556e60 | 345 | |
jp1nom | 0:5cdf1a556e60 | 346 | void DDS_T(void) { |
jp1nom | 0:5cdf1a556e60 | 347 | |
jp1nom | 0:5cdf1a556e60 | 348 | if (FQD > f1 && FQD < f2) { |
jp1nom | 0:5cdf1a556e60 | 349 | GET_LCD_DATA(); |
jp1nom | 0:5cdf1a556e60 | 350 | lcd.locate( 14, 0 ); |
jp1nom | 1:ee890adf56ea | 351 | lcd.printf( "TX" ); |
jp1nom | 0:5cdf1a556e60 | 352 | |
jp1nom | 0:5cdf1a556e60 | 353 | FQX = FQ; |
jp1nom | 0:5cdf1a556e60 | 354 | DDS(); |
jp1nom | 0:5cdf1a556e60 | 355 | LED = 1; |
jp1nom | 0:5cdf1a556e60 | 356 | PTT_OUT = 1; |
jp1nom | 0:5cdf1a556e60 | 357 | while( PTT_ON == 0) {} |
jp1nom | 0:5cdf1a556e60 | 358 | PTT_OUT = 0; |
jp1nom | 0:5cdf1a556e60 | 359 | LED = 0; |
jp1nom | 0:5cdf1a556e60 | 360 | FQX = FQ + IF; |
jp1nom | 0:5cdf1a556e60 | 361 | DDS(); |
jp1nom | 0:5cdf1a556e60 | 362 | }else{ |
jp1nom | 0:5cdf1a556e60 | 363 | LED=1; |
jp1nom | 0:5cdf1a556e60 | 364 | wait(0.2); |
jp1nom | 0:5cdf1a556e60 | 365 | LED=0; |
jp1nom | 0:5cdf1a556e60 | 366 | wait(0.2); |
jp1nom | 0:5cdf1a556e60 | 367 | } |
jp1nom | 0:5cdf1a556e60 | 368 | GET_LCD_DATA(); |
jp1nom | 0:5cdf1a556e60 | 369 | lcd.locate( 14,0 ); |
jp1nom | 1:ee890adf56ea | 370 | lcd.printf( "RX" ); |
jp1nom | 0:5cdf1a556e60 | 371 | } |
jp1nom | 0:5cdf1a556e60 | 372 | |
jp1nom | 0:5cdf1a556e60 | 373 | void GET_LCD_DATA(void) { |
jp1nom | 0:5cdf1a556e60 | 374 | |
jp1nom | 0:5cdf1a556e60 | 375 | char f[9]; |
jp1nom | 0:5cdf1a556e60 | 376 | |
jp1nom | 1:ee890adf56ea | 377 | sprintf(f,"%8.5lf",FQDD / 1000000); |
jp1nom | 0:5cdf1a556e60 | 378 | lcd.locate( 0,0 ); |
jp1nom | 1:ee890adf56ea | 379 | lcd.printf( "%c%c%c%c%c%c",f[0],f[1],f[2],f[3],f[4],f[5] ); |
jp1nom | 1:ee890adf56ea | 380 | lcd.printf( ".%c%c%",f[6],f[7] ); |
jp1nom | 1:ee890adf56ea | 381 | |
jp1nom | 1:ee890adf56ea | 382 | if (FQDD >= f1_CW && FQDD < f2_CW) { |
jp1nom | 1:ee890adf56ea | 383 | lcd.locate( 0,1 ); |
jp1nom | 1:ee890adf56ea | 384 | lcd.printf("CW"); |
jp1nom | 0:5cdf1a556e60 | 385 | }else{ |
jp1nom | 1:ee890adf56ea | 386 | if(FQDD >= f2_CW && FQDD < f2 ) { |
jp1nom | 1:ee890adf56ea | 387 | lcd.locate( 0,1 ); |
jp1nom | 1:ee890adf56ea | 388 | lcd.printf("Ph"); |
jp1nom | 0:5cdf1a556e60 | 389 | }else{ |
jp1nom | 1:ee890adf56ea | 390 | lcd.locate( 0,1 ); |
jp1nom | 1:ee890adf56ea | 391 | lcd.printf("no"); |
jp1nom | 0:5cdf1a556e60 | 392 | } |
jp1nom | 0:5cdf1a556e60 | 393 | } |
jp1nom | 0:5cdf1a556e60 | 394 | } |
jp1nom | 0:5cdf1a556e60 | 395 | |
jp1nom | 0:5cdf1a556e60 | 396 | void STEPS( void ) { |
jp1nom | 1:ee890adf56ea | 397 | |
jp1nom | 0:5cdf1a556e60 | 398 | if (s==1) { |
jp1nom | 0:5cdf1a556e60 | 399 | s = 0; |
jp1nom | 1:ee890adf56ea | 400 | lcd.locate(12,1); |
jp1nom | 1:ee890adf56ea | 401 | lcd.printf("10"); |
jp1nom | 0:5cdf1a556e60 | 402 | }else{ |
jp1nom | 0:5cdf1a556e60 | 403 | s = 1; |
jp1nom | 1:ee890adf56ea | 404 | lcd.locate(12,1); |
jp1nom | 1:ee890adf56ea | 405 | lcd.printf("1K"); |
jp1nom | 1:ee890adf56ea | 406 | } |
jp1nom | 0:5cdf1a556e60 | 407 | wait(0.3); |
jp1nom | 1:ee890adf56ea | 408 | |
jp1nom | 0:5cdf1a556e60 | 409 | } |
jp1nom | 0:5cdf1a556e60 | 410 | |
jp1nom | 0:5cdf1a556e60 | 411 | void QSY(void) { |
jp1nom | 1:ee890adf56ea | 412 | |
jp1nom | 1:ee890adf56ea | 413 | switch ( BAND ) { |
jp1nom | 0:5cdf1a556e60 | 414 | case 7: |
jp1nom | 0:5cdf1a556e60 | 415 | BAND = 10; |
jp1nom | 0:5cdf1a556e60 | 416 | FQD_7 = FQD; |
jp1nom | 0:5cdf1a556e60 | 417 | FQD = FQD_10; |
jp1nom | 0:5cdf1a556e60 | 418 | FQ_7 = FQ; |
jp1nom | 0:5cdf1a556e60 | 419 | FQ = FQ_10; |
jp1nom | 0:5cdf1a556e60 | 420 | f1 = 10100000; |
jp1nom | 0:5cdf1a556e60 | 421 | f2 = 10150000; |
jp1nom | 0:5cdf1a556e60 | 422 | f1_CW = 10100000; |
jp1nom | 0:5cdf1a556e60 | 423 | f2_CW = 10150000; |
jp1nom | 0:5cdf1a556e60 | 424 | break; |
jp1nom | 1:ee890adf56ea | 425 | |
jp1nom | 0:5cdf1a556e60 | 426 | |
jp1nom | 0:5cdf1a556e60 | 427 | case 10: |
jp1nom | 1:ee890adf56ea | 428 | BAND = 14; |
jp1nom | 0:5cdf1a556e60 | 429 | FQD_10 = FQD; |
jp1nom | 1:ee890adf56ea | 430 | FQD = FQD_14; |
jp1nom | 0:5cdf1a556e60 | 431 | FQ_10 = FQ; |
jp1nom | 1:ee890adf56ea | 432 | FQ = FQ_14; |
jp1nom | 1:ee890adf56ea | 433 | f1 = 14000000; |
jp1nom | 1:ee890adf56ea | 434 | f2 = 14350000; |
jp1nom | 1:ee890adf56ea | 435 | f1_CW =14000000; |
jp1nom | 1:ee890adf56ea | 436 | f2_CW =14100000; |
jp1nom | 0:5cdf1a556e60 | 437 | break; |
jp1nom | 1:ee890adf56ea | 438 | ///////////// |
jp1nom | 1:ee890adf56ea | 439 | case 14: |
jp1nom | 1:ee890adf56ea | 440 | BAND = 351; |
jp1nom | 1:ee890adf56ea | 441 | FQD_14 = FQD; |
jp1nom | 1:ee890adf56ea | 442 | FQD = FQD_351; |
jp1nom | 1:ee890adf56ea | 443 | FQ_14 = FQ; |
jp1nom | 1:ee890adf56ea | 444 | FQ = FQ_351; |
jp1nom | 1:ee890adf56ea | 445 | f1 = 3500000; |
jp1nom | 1:ee890adf56ea | 446 | f2 = 3575000; |
jp1nom | 1:ee890adf56ea | 447 | f1_CW =3500000; |
jp1nom | 1:ee890adf56ea | 448 | f2_CW =3535000; |
jp1nom | 0:5cdf1a556e60 | 449 | break; |
jp1nom | 1:ee890adf56ea | 450 | ///////////// |
jp1nom | 0:5cdf1a556e60 | 451 | case 351: |
jp1nom | 0:5cdf1a556e60 | 452 | BAND = 352; |
jp1nom | 0:5cdf1a556e60 | 453 | FQD_351 = FQD; |
jp1nom | 0:5cdf1a556e60 | 454 | FQD = FQD_352; |
jp1nom | 0:5cdf1a556e60 | 455 | FQ_351 = FQ; |
jp1nom | 0:5cdf1a556e60 | 456 | FQ = FQ_352; |
jp1nom | 0:5cdf1a556e60 | 457 | f1 = 3599000; |
jp1nom | 0:5cdf1a556e60 | 458 | f2 = 3612000; |
jp1nom | 0:5cdf1a556e60 | 459 | f1_CW = 3599000; |
jp1nom | 0:5cdf1a556e60 | 460 | f2_CW = 3599000; |
jp1nom | 0:5cdf1a556e60 | 461 | break; |
jp1nom | 0:5cdf1a556e60 | 462 | |
jp1nom | 0:5cdf1a556e60 | 463 | case 352: |
jp1nom | 0:5cdf1a556e60 | 464 | BAND = 353; |
jp1nom | 0:5cdf1a556e60 | 465 | FQD_352 = FQD; |
jp1nom | 0:5cdf1a556e60 | 466 | FQD = FQD_353; |
jp1nom | 0:5cdf1a556e60 | 467 | FQ_352 = FQ; |
jp1nom | 0:5cdf1a556e60 | 468 | FQ = FQ_353; |
jp1nom | 0:5cdf1a556e60 | 469 | f1 = 3680000; |
jp1nom | 0:5cdf1a556e60 | 470 | f2 = 3687000; |
jp1nom | 0:5cdf1a556e60 | 471 | f1_CW = 3680000; |
jp1nom | 0:5cdf1a556e60 | 472 | f2_CW = 3680000; |
jp1nom | 0:5cdf1a556e60 | 473 | break; |
jp1nom | 0:5cdf1a556e60 | 474 | |
jp1nom | 0:5cdf1a556e60 | 475 | case 353: |
jp1nom | 0:5cdf1a556e60 | 476 | BAND = 381; |
jp1nom | 0:5cdf1a556e60 | 477 | FQD_353 = FQD; |
jp1nom | 0:5cdf1a556e60 | 478 | FQD = FQD_381; |
jp1nom | 0:5cdf1a556e60 | 479 | FQ_353 = FQ; |
jp1nom | 0:5cdf1a556e60 | 480 | FQ = FQ_381; |
jp1nom | 0:5cdf1a556e60 | 481 | f1 = 3702000; |
jp1nom | 0:5cdf1a556e60 | 482 | f2 = 3716000; |
jp1nom | 0:5cdf1a556e60 | 483 | f1_CW = 3702000; |
jp1nom | 0:5cdf1a556e60 | 484 | f2_CW = 3702000; |
jp1nom | 0:5cdf1a556e60 | 485 | break; |
jp1nom | 0:5cdf1a556e60 | 486 | |
jp1nom | 0:5cdf1a556e60 | 487 | case 381: |
jp1nom | 0:5cdf1a556e60 | 488 | BAND = 382; |
jp1nom | 0:5cdf1a556e60 | 489 | FQD_381 = FQD; |
jp1nom | 0:5cdf1a556e60 | 490 | FQD = FQD_382; |
jp1nom | 0:5cdf1a556e60 | 491 | FQ_381 = FQ; |
jp1nom | 0:5cdf1a556e60 | 492 | FQ = FQ_382; |
jp1nom | 0:5cdf1a556e60 | 493 | f1 = 3745000; |
jp1nom | 0:5cdf1a556e60 | 494 | f2 = 3770000; |
jp1nom | 0:5cdf1a556e60 | 495 | f1_CW = 3745000; |
jp1nom | 0:5cdf1a556e60 | 496 | f2_CW = 3745000; |
jp1nom | 0:5cdf1a556e60 | 497 | break; |
jp1nom | 0:5cdf1a556e60 | 498 | |
jp1nom | 0:5cdf1a556e60 | 499 | case 382: |
jp1nom | 0:5cdf1a556e60 | 500 | BAND = 383; |
jp1nom | 0:5cdf1a556e60 | 501 | FQD_382 = FQD; |
jp1nom | 0:5cdf1a556e60 | 502 | FQD = FQD_383; |
jp1nom | 0:5cdf1a556e60 | 503 | FQ_382 = FQ; |
jp1nom | 0:5cdf1a556e60 | 504 | FQ = FQ_383; |
jp1nom | 0:5cdf1a556e60 | 505 | f1 = 3791000; |
jp1nom | 0:5cdf1a556e60 | 506 | f2 = 3805000; |
jp1nom | 0:5cdf1a556e60 | 507 | f1_CW = 3791000; |
jp1nom | 0:5cdf1a556e60 | 508 | f2_CW = 3791000; |
jp1nom | 0:5cdf1a556e60 | 509 | break; |
jp1nom | 0:5cdf1a556e60 | 510 | |
jp1nom | 0:5cdf1a556e60 | 511 | case 383: |
jp1nom | 0:5cdf1a556e60 | 512 | BAND = 4; |
jp1nom | 0:5cdf1a556e60 | 513 | FQD_383 = FQD; |
jp1nom | 0:5cdf1a556e60 | 514 | FQD = FQD_4; |
jp1nom | 0:5cdf1a556e60 | 515 | FQ_383 = FQ; |
jp1nom | 0:5cdf1a556e60 | 516 | FQ = FQ_4; |
jp1nom | 0:5cdf1a556e60 | 517 | f1 = 4629999; |
jp1nom | 0:5cdf1a556e60 | 518 | f2 = 4630001; |
jp1nom | 0:5cdf1a556e60 | 519 | f1_CW = 4630000; |
jp1nom | 0:5cdf1a556e60 | 520 | f2_CW = 4630001; |
jp1nom | 0:5cdf1a556e60 | 521 | break; |
jp1nom | 0:5cdf1a556e60 | 522 | |
jp1nom | 1:ee890adf56ea | 523 | |
jp1nom | 0:5cdf1a556e60 | 524 | case 4: |
jp1nom | 0:5cdf1a556e60 | 525 | BAND = 7; |
jp1nom | 0:5cdf1a556e60 | 526 | FQD_4 = FQD; |
jp1nom | 0:5cdf1a556e60 | 527 | FQD = FQD_7; |
jp1nom | 0:5cdf1a556e60 | 528 | FQ_4 = FQ; |
jp1nom | 0:5cdf1a556e60 | 529 | FQ = FQ_7; |
jp1nom | 0:5cdf1a556e60 | 530 | f1 = 7000000; |
jp1nom | 0:5cdf1a556e60 | 531 | f2 = 7200000; |
jp1nom | 0:5cdf1a556e60 | 532 | f1_CW = 7000000; |
jp1nom | 0:5cdf1a556e60 | 533 | f2_CW = 7045000; |
jp1nom | 1:ee890adf56ea | 534 | break; |
jp1nom | 1:ee890adf56ea | 535 | |
jp1nom | 1:ee890adf56ea | 536 | |
jp1nom | 0:5cdf1a556e60 | 537 | default: |
jp1nom | 0:5cdf1a556e60 | 538 | BAND = 7; |
jp1nom | 0:5cdf1a556e60 | 539 | FQD = FQD_7; |
jp1nom | 0:5cdf1a556e60 | 540 | FQ = FQ_7; |
jp1nom | 0:5cdf1a556e60 | 541 | break; |
jp1nom | 0:5cdf1a556e60 | 542 | } |
jp1nom | 1:ee890adf56ea | 543 | FQDD = FQD; |
jp1nom | 0:5cdf1a556e60 | 544 | GET_LCD_DATA(); |
jp1nom | 0:5cdf1a556e60 | 545 | FQX = FQ + IF; |
jp1nom | 0:5cdf1a556e60 | 546 | DDS(); |
jp1nom | 0:5cdf1a556e60 | 547 | wait(0.3); |
jp1nom | 0:5cdf1a556e60 | 548 | } |
jp1nom | 0:5cdf1a556e60 | 549 | |
jp1nom | 0:5cdf1a556e60 | 550 | void STEPSS( void ) { |
jp1nom | 0:5cdf1a556e60 | 551 | if (s==0) { |
jp1nom | 0:5cdf1a556e60 | 552 | lcd.locate(13,1); |
jp1nom | 0:5cdf1a556e60 | 553 | lcd.printf("0"); |
jp1nom | 0:5cdf1a556e60 | 554 | }else{ |
jp1nom | 0:5cdf1a556e60 | 555 | lcd.locate(13,1); |
jp1nom | 0:5cdf1a556e60 | 556 | lcd.printf("K"); |
jp1nom | 0:5cdf1a556e60 | 557 | } |
jp1nom | 0:5cdf1a556e60 | 558 | } |
jp1nom | 0:5cdf1a556e60 | 559 | |
jp1nom | 0:5cdf1a556e60 | 560 | void PTT_OFF(void) { |
jp1nom | 0:5cdf1a556e60 | 561 | PTT_OUT = 0; |
jp1nom | 0:5cdf1a556e60 | 562 | LED = 0; |
jp1nom | 0:5cdf1a556e60 | 563 | FQX = FQ + IF; |
jp1nom | 0:5cdf1a556e60 | 564 | DDS(); |
jp1nom | 0:5cdf1a556e60 | 565 | GET_LCD_DATA(); |
jp1nom | 0:5cdf1a556e60 | 566 | lcd.locate( 14,0 ); |
jp1nom | 1:ee890adf56ea | 567 | lcd.printf( "RX" ); |
jp1nom | 1:ee890adf56ea | 568 | } |
jp1nom | 1:ee890adf56ea | 569 | |
jp1nom | 1:ee890adf56ea | 570 | void RIT(void) { |
jp1nom | 1:ee890adf56ea | 571 | |
jp1nom | 1:ee890adf56ea | 572 | if ( riton == 0) { |
jp1nom | 1:ee890adf56ea | 573 | riton = 1; |
jp1nom | 1:ee890adf56ea | 574 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 575 | lcd.printf("RIT:"); |
jp1nom | 1:ee890adf56ea | 576 | lcd.locate( 7,1 ); |
jp1nom | 1:ee890adf56ea | 577 | lcd.printf("%d0 ",ritd); |
jp1nom | 1:ee890adf56ea | 578 | |
jp1nom | 1:ee890adf56ea | 579 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 580 | FQX = FQ + STEP * ritd * 100+ IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 581 | }else{ |
jp1nom | 1:ee890adf56ea | 582 | FQX = FQ + STEP * ritd * 100+ IF; |
jp1nom | 1:ee890adf56ea | 583 | } |
jp1nom | 1:ee890adf56ea | 584 | |
jp1nom | 1:ee890adf56ea | 585 | DDS(); |
jp1nom | 1:ee890adf56ea | 586 | } else { |
jp1nom | 1:ee890adf56ea | 587 | riton = 0; |
jp1nom | 1:ee890adf56ea | 588 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 589 | lcd.printf(" "); |
jp1nom | 1:ee890adf56ea | 590 | MODEY(); |
jp1nom | 1:ee890adf56ea | 591 | if ( CW_IN == 1 ) { |
jp1nom | 1:ee890adf56ea | 592 | FQX = FQ + STEP + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 593 | }else{ |
jp1nom | 1:ee890adf56ea | 594 | FQX = FQ + STEP + IF; |
jp1nom | 1:ee890adf56ea | 595 | } |
jp1nom | 1:ee890adf56ea | 596 | DDS(); |
jp1nom | 1:ee890adf56ea | 597 | } |
jp1nom | 1:ee890adf56ea | 598 | wait(0.2); |
jp1nom | 1:ee890adf56ea | 599 | } |
jp1nom | 1:ee890adf56ea | 600 | |
jp1nom | 1:ee890adf56ea | 601 | |
jp1nom | 1:ee890adf56ea | 602 | //void MEMIN(void) { |
jp1nom | 1:ee890adf56ea | 603 | // if(mem == 0 ) { |
jp1nom | 1:ee890adf56ea | 604 | // BAND_M = BAND; |
jp1nom | 1:ee890adf56ea | 605 | // FQD_M = FQD; |
jp1nom | 1:ee890adf56ea | 606 | // FQ_M = FQ; |
jp1nom | 1:ee890adf56ea | 607 | // f1_M = f1; |
jp1nom | 1:ee890adf56ea | 608 | // f2_M = f2; |
jp1nom | 1:ee890adf56ea | 609 | // f1_CW_M = f1_CW; |
jp1nom | 1:ee890adf56ea | 610 | // f2_CW_M = f2_CW; |
jp1nom | 1:ee890adf56ea | 611 | // mem = 1; |
jp1nom | 1:ee890adf56ea | 612 | // CW_MODE_M = CW_MODE; |
jp1nom | 1:ee890adf56ea | 613 | // lcd.locate(11,1); |
jp1nom | 1:ee890adf56ea | 614 | // lcd.printf("M"); |
jp1nom | 1:ee890adf56ea | 615 | // }else{ |
jp1nom | 1:ee890adf56ea | 616 | // mem = 0; |
jp1nom | 1:ee890adf56ea | 617 | // lcd.locate(11,1); |
jp1nom | 1:ee890adf56ea | 618 | // lcd.printf(" "); |
jp1nom | 1:ee890adf56ea | 619 | // } |
jp1nom | 1:ee890adf56ea | 620 | // wait(0.3); |
jp1nom | 1:ee890adf56ea | 621 | //} |
jp1nom | 1:ee890adf56ea | 622 | |
jp1nom | 1:ee890adf56ea | 623 | //void MEMOUT(void) { |
jp1nom | 1:ee890adf56ea | 624 | // if (mem == 1) { |
jp1nom | 1:ee890adf56ea | 625 | // BAND_MM = BAND; |
jp1nom | 1:ee890adf56ea | 626 | // FQD_MM = FQD; |
jp1nom | 1:ee890adf56ea | 627 | // FQ_MM = FQ; |
jp1nom | 1:ee890adf56ea | 628 | // f1_MM = f1; |
jp1nom | 1:ee890adf56ea | 629 | // f2_MM = f2; |
jp1nom | 1:ee890adf56ea | 630 | // f1_CW_M = f1_CW; |
jp1nom | 1:ee890adf56ea | 631 | // f2_CW_M = f2_CW; |
jp1nom | 1:ee890adf56ea | 632 | // FQD = FQD_M; |
jp1nom | 1:ee890adf56ea | 633 | // FQ = FQ_M; |
jp1nom | 1:ee890adf56ea | 634 | // f1 = f1_M; |
jp1nom | 1:ee890adf56ea | 635 | // f2 = f2_M; |
jp1nom | 1:ee890adf56ea | 636 | // f1_CW = f1_CW_M; |
jp1nom | 1:ee890adf56ea | 637 | // f2_CW = f2_CW_M; |
jp1nom | 1:ee890adf56ea | 638 | // FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 639 | // GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 640 | // if (CW_MODE_M == 1) { |
jp1nom | 1:ee890adf56ea | 641 | // FQX = FQ + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 642 | // }else{ |
jp1nom | 1:ee890adf56ea | 643 | // FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 644 | // } |
jp1nom | 1:ee890adf56ea | 645 | // DDS(); |
jp1nom | 1:ee890adf56ea | 646 | // mem = 0; |
jp1nom | 1:ee890adf56ea | 647 | // lcd.locate(11,1); |
jp1nom | 1:ee890adf56ea | 648 | // lcd.printf(" "); |
jp1nom | 1:ee890adf56ea | 649 | // } else { |
jp1nom | 1:ee890adf56ea | 650 | // BAND = BAND_MM; |
jp1nom | 1:ee890adf56ea | 651 | // FQD = FQD_MM; |
jp1nom | 1:ee890adf56ea | 652 | // FQ = FQ_MM; |
jp1nom | 1:ee890adf56ea | 653 | // f1 = f1_MM; |
jp1nom | 1:ee890adf56ea | 654 | // f2 = f2_MM; |
jp1nom | 1:ee890adf56ea | 655 | // f1_CW = f1_CW_M; |
jp1nom | 1:ee890adf56ea | 656 | // f2_CW = f2_CW_M; |
jp1nom | 1:ee890adf56ea | 657 | // FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 658 | // GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 659 | // if (CW_MODE_M == 1) { |
jp1nom | 1:ee890adf56ea | 660 | // FQX = FQ + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 661 | // }else{ |
jp1nom | 1:ee890adf56ea | 662 | // FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 663 | // } |
jp1nom | 1:ee890adf56ea | 664 | // FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 665 | // DDS(); |
jp1nom | 1:ee890adf56ea | 666 | // } |
jp1nom | 1:ee890adf56ea | 667 | // wait(0.1); |
jp1nom | 1:ee890adf56ea | 668 | //} |
jp1nom | 1:ee890adf56ea | 669 | |
jp1nom | 1:ee890adf56ea | 670 | void JMH(void) { |
jp1nom | 1:ee890adf56ea | 671 | |
jp1nom | 1:ee890adf56ea | 672 | if (mem_jmh == 0) { |
jp1nom | 1:ee890adf56ea | 673 | FQD = FQD_JMH; |
jp1nom | 1:ee890adf56ea | 674 | FQ = FQ_JMH; |
jp1nom | 1:ee890adf56ea | 675 | f1 = FQD_JMH; |
jp1nom | 1:ee890adf56ea | 676 | f2 = FQD_JMH; |
jp1nom | 1:ee890adf56ea | 677 | f1_CW = FQD_JMH; |
jp1nom | 1:ee890adf56ea | 678 | f2_CW = FQD_JMH; |
jp1nom | 1:ee890adf56ea | 679 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 680 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 681 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 682 | DDS(); |
jp1nom | 1:ee890adf56ea | 683 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 684 | lcd.printf("JMH "); |
jp1nom | 1:ee890adf56ea | 685 | |
jp1nom | 1:ee890adf56ea | 686 | }else{ |
jp1nom | 1:ee890adf56ea | 687 | if (mem_jmh == 1) { |
jp1nom | 1:ee890adf56ea | 688 | FQD = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 689 | FQ = FQ_JMH1; |
jp1nom | 1:ee890adf56ea | 690 | f1 = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 691 | f2 = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 692 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 693 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 694 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 695 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 696 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 697 | DDS(); |
jp1nom | 1:ee890adf56ea | 698 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 699 | lcd.printf("JMH "); |
jp1nom | 1:ee890adf56ea | 700 | |
jp1nom | 1:ee890adf56ea | 701 | }else{ |
jp1nom | 1:ee890adf56ea | 702 | if (mem_jmh == 2) { |
jp1nom | 1:ee890adf56ea | 703 | FQD = FQD_VOK1; |
jp1nom | 1:ee890adf56ea | 704 | FQ = FQ_VOK1; |
jp1nom | 1:ee890adf56ea | 705 | f1 = FQD_VOK1; |
jp1nom | 1:ee890adf56ea | 706 | f2 = FQD_VOK1; |
jp1nom | 1:ee890adf56ea | 707 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 708 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 709 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 710 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 711 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 712 | DDS(); |
jp1nom | 1:ee890adf56ea | 713 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 714 | lcd.printf("VOK "); |
jp1nom | 1:ee890adf56ea | 715 | |
jp1nom | 1:ee890adf56ea | 716 | }else{ |
jp1nom | 1:ee890adf56ea | 717 | if (mem_jmh == 3) { |
jp1nom | 1:ee890adf56ea | 718 | FQD = FQD_VOK2; |
jp1nom | 1:ee890adf56ea | 719 | FQ = FQ_VOK2; |
jp1nom | 1:ee890adf56ea | 720 | f1 = FQD_VOK2; |
jp1nom | 1:ee890adf56ea | 721 | f2 = FQD_VOK2; |
jp1nom | 1:ee890adf56ea | 722 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 723 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 724 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 725 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 726 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 727 | DDS(); |
jp1nom | 1:ee890adf56ea | 728 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 729 | lcd.printf("VOK "); |
jp1nom | 1:ee890adf56ea | 730 | |
jp1nom | 1:ee890adf56ea | 731 | }else{ |
jp1nom | 1:ee890adf56ea | 732 | if (mem_jmh == 4) { |
jp1nom | 1:ee890adf56ea | 733 | FQD = FQD_KCBS; |
jp1nom | 1:ee890adf56ea | 734 | FQ = FQ_KCBS; |
jp1nom | 1:ee890adf56ea | 735 | f1 = FQD_KCBS; |
jp1nom | 1:ee890adf56ea | 736 | f2 = FQD_KCBS; |
jp1nom | 1:ee890adf56ea | 737 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 738 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 739 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 740 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 741 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 742 | DDS(); |
jp1nom | 1:ee890adf56ea | 743 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 744 | lcd.printf("KCBS"); |
jp1nom | 1:ee890adf56ea | 745 | |
jp1nom | 1:ee890adf56ea | 746 | |
jp1nom | 1:ee890adf56ea | 747 | }else{ |
jp1nom | 1:ee890adf56ea | 748 | if (mem_jmh == 5) { |
jp1nom | 1:ee890adf56ea | 749 | FQD = FQD_NSB1; |
jp1nom | 1:ee890adf56ea | 750 | FQ = FQ_NSB1; |
jp1nom | 1:ee890adf56ea | 751 | f1 = FQD_NSB1; |
jp1nom | 1:ee890adf56ea | 752 | f2 = FQD_NSB1; |
jp1nom | 1:ee890adf56ea | 753 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 754 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 755 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 756 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 757 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 758 | DDS(); |
jp1nom | 1:ee890adf56ea | 759 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 760 | lcd.printf("NSB1"); |
jp1nom | 1:ee890adf56ea | 761 | |
jp1nom | 1:ee890adf56ea | 762 | |
jp1nom | 1:ee890adf56ea | 763 | }else{ |
jp1nom | 1:ee890adf56ea | 764 | if (mem_jmh == 6) { |
jp1nom | 1:ee890adf56ea | 765 | FQD = FQD_NSB2; |
jp1nom | 1:ee890adf56ea | 766 | FQ = FQ_NSB2; |
jp1nom | 1:ee890adf56ea | 767 | f1 = FQD_NSB2; |
jp1nom | 1:ee890adf56ea | 768 | f2 = FQD_NSB2; |
jp1nom | 1:ee890adf56ea | 769 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 770 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 771 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 772 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 773 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 774 | DDS(); |
jp1nom | 1:ee890adf56ea | 775 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 776 | lcd.printf("NSB2"); |
jp1nom | 1:ee890adf56ea | 777 | |
jp1nom | 1:ee890adf56ea | 778 | }else{ |
jp1nom | 1:ee890adf56ea | 779 | if (mem_jmh == 7) { |
jp1nom | 1:ee890adf56ea | 780 | FQD = FQD_NSB3; |
jp1nom | 1:ee890adf56ea | 781 | FQ = FQ_NSB3; |
jp1nom | 1:ee890adf56ea | 782 | f1 = FQD_NSB3; |
jp1nom | 1:ee890adf56ea | 783 | f2 = FQD_NSB3; |
jp1nom | 1:ee890adf56ea | 784 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 785 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 786 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 787 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 788 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 789 | DDS(); |
jp1nom | 1:ee890adf56ea | 790 | // mem_jmh = 8; |
jp1nom | 1:ee890adf56ea | 791 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 792 | lcd.printf("NSB1"); |
jp1nom | 1:ee890adf56ea | 793 | |
jp1nom | 1:ee890adf56ea | 794 | }else{ |
jp1nom | 1:ee890adf56ea | 795 | if (mem_jmh == 8) { |
jp1nom | 1:ee890adf56ea | 796 | FQD = FQD_NSB4; |
jp1nom | 1:ee890adf56ea | 797 | FQ = FQ_NSB4; |
jp1nom | 1:ee890adf56ea | 798 | f1 = FQD_NSB4; |
jp1nom | 1:ee890adf56ea | 799 | f2 = FQD_NSB4; |
jp1nom | 1:ee890adf56ea | 800 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 801 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 802 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 803 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 804 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 805 | DDS(); |
jp1nom | 1:ee890adf56ea | 806 | // mem_jmh = 9; |
jp1nom | 1:ee890adf56ea | 807 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 808 | lcd.printf("NSB2"); |
jp1nom | 1:ee890adf56ea | 809 | |
jp1nom | 1:ee890adf56ea | 810 | }else{ |
jp1nom | 1:ee890adf56ea | 811 | if (mem_jmh == 9) { |
jp1nom | 1:ee890adf56ea | 812 | FQD = FQD_NSB5; |
jp1nom | 1:ee890adf56ea | 813 | FQ = FQ_NSB5; |
jp1nom | 1:ee890adf56ea | 814 | f1 = FQD_NSB5; |
jp1nom | 1:ee890adf56ea | 815 | f2 = FQD_NSB5; |
jp1nom | 1:ee890adf56ea | 816 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 817 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 818 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 819 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 820 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 821 | DDS(); |
jp1nom | 1:ee890adf56ea | 822 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 823 | lcd.printf("NSB1"); |
jp1nom | 1:ee890adf56ea | 824 | |
jp1nom | 1:ee890adf56ea | 825 | }else{ |
jp1nom | 1:ee890adf56ea | 826 | if (mem_jmh == 10) { |
jp1nom | 1:ee890adf56ea | 827 | FQD = FQD_NSB6; |
jp1nom | 1:ee890adf56ea | 828 | FQ = FQ_NSB6; |
jp1nom | 1:ee890adf56ea | 829 | f1 = FQD_NSB6; |
jp1nom | 1:ee890adf56ea | 830 | f2 = FQD_NSB6; |
jp1nom | 1:ee890adf56ea | 831 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 832 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 833 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 834 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 835 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 836 | DDS(); |
jp1nom | 1:ee890adf56ea | 837 | // mem_jmh = 11; |
jp1nom | 1:ee890adf56ea | 838 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 839 | lcd.printf("NSB2"); |
jp1nom | 1:ee890adf56ea | 840 | |
jp1nom | 1:ee890adf56ea | 841 | |
jp1nom | 1:ee890adf56ea | 842 | }else{ |
jp1nom | 1:ee890adf56ea | 843 | if (mem_jmh == 11) { |
jp1nom | 1:ee890adf56ea | 844 | FQD = FQD_CRI; |
jp1nom | 1:ee890adf56ea | 845 | FQ = FQ_CRI; |
jp1nom | 1:ee890adf56ea | 846 | f1 = FQD_CRI; |
jp1nom | 1:ee890adf56ea | 847 | f2 = FQD_CRI; |
jp1nom | 1:ee890adf56ea | 848 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 849 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 850 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 851 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 852 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 853 | DDS(); |
jp1nom | 1:ee890adf56ea | 854 | // mem_jmh = 12; |
jp1nom | 1:ee890adf56ea | 855 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 856 | lcd.printf("CRI "); |
jp1nom | 1:ee890adf56ea | 857 | |
jp1nom | 1:ee890adf56ea | 858 | |
jp1nom | 1:ee890adf56ea | 859 | }else{ |
jp1nom | 1:ee890adf56ea | 860 | if (mem_jmh == 12) { |
jp1nom | 1:ee890adf56ea | 861 | FQD = FQD_NHK; |
jp1nom | 1:ee890adf56ea | 862 | FQ = FQ_NHK; |
jp1nom | 1:ee890adf56ea | 863 | f1 = FQD_NHK; |
jp1nom | 1:ee890adf56ea | 864 | f2 = FQD_NHK; |
jp1nom | 1:ee890adf56ea | 865 | f1_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 866 | f2_CW = FQD_JMH1; |
jp1nom | 1:ee890adf56ea | 867 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 868 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 869 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 870 | DDS(); |
jp1nom | 1:ee890adf56ea | 871 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 872 | lcd.printf("NHK "); |
jp1nom | 1:ee890adf56ea | 873 | |
jp1nom | 1:ee890adf56ea | 874 | } else { |
jp1nom | 1:ee890adf56ea | 875 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 876 | lcd.printf(" "); |
jp1nom | 1:ee890adf56ea | 877 | } |
jp1nom | 1:ee890adf56ea | 878 | } |
jp1nom | 1:ee890adf56ea | 879 | } |
jp1nom | 1:ee890adf56ea | 880 | } |
jp1nom | 1:ee890adf56ea | 881 | } |
jp1nom | 1:ee890adf56ea | 882 | } |
jp1nom | 1:ee890adf56ea | 883 | } |
jp1nom | 1:ee890adf56ea | 884 | } |
jp1nom | 1:ee890adf56ea | 885 | } |
jp1nom | 1:ee890adf56ea | 886 | } |
jp1nom | 1:ee890adf56ea | 887 | } |
jp1nom | 1:ee890adf56ea | 888 | } |
jp1nom | 1:ee890adf56ea | 889 | } |
jp1nom | 1:ee890adf56ea | 890 | wait(0.2); |
jp1nom | 1:ee890adf56ea | 891 | } |
jp1nom | 1:ee890adf56ea | 892 | |
jp1nom | 1:ee890adf56ea | 893 | void CW1(void) { |
jp1nom | 1:ee890adf56ea | 894 | |
jp1nom | 1:ee890adf56ea | 895 | if ( riton == 1 ) { |
jp1nom | 1:ee890adf56ea | 896 | FQX = FQ + STEP * ritd * 100 + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 897 | } else { |
jp1nom | 1:ee890adf56ea | 898 | FQX = FQ + IF + CW_OFFSET; |
jp1nom | 1:ee890adf56ea | 899 | } |
jp1nom | 1:ee890adf56ea | 900 | DDS(); |
jp1nom | 1:ee890adf56ea | 901 | |
jp1nom | 1:ee890adf56ea | 902 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 903 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 904 | |
jp1nom | 1:ee890adf56ea | 905 | CW_MODE = 1; |
jp1nom | 1:ee890adf56ea | 906 | DDS(); |
jp1nom | 1:ee890adf56ea | 907 | } |
jp1nom | 1:ee890adf56ea | 908 | |
jp1nom | 1:ee890adf56ea | 909 | void CW2(void) { |
jp1nom | 1:ee890adf56ea | 910 | if ( riton == 1 ) { |
jp1nom | 1:ee890adf56ea | 911 | FQX = FQ + STEP * ritd * 100 + IF; |
jp1nom | 1:ee890adf56ea | 912 | } else { |
jp1nom | 1:ee890adf56ea | 913 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 914 | } |
jp1nom | 1:ee890adf56ea | 915 | DDS(); |
jp1nom | 1:ee890adf56ea | 916 | |
jp1nom | 1:ee890adf56ea | 917 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 918 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 919 | |
jp1nom | 1:ee890adf56ea | 920 | CW_MODE = 0; |
jp1nom | 1:ee890adf56ea | 921 | DDS(); |
jp1nom | 1:ee890adf56ea | 922 | } |
jp1nom | 1:ee890adf56ea | 923 | |
jp1nom | 1:ee890adf56ea | 924 | void JOZ(void) { |
jp1nom | 1:ee890adf56ea | 925 | |
jp1nom | 1:ee890adf56ea | 926 | BAND_jmh = BAND; |
jp1nom | 1:ee890adf56ea | 927 | FQD_jmh = FQD; |
jp1nom | 1:ee890adf56ea | 928 | FQ_jmh = FQ; |
jp1nom | 1:ee890adf56ea | 929 | f1_jmh = f1; |
jp1nom | 1:ee890adf56ea | 930 | f2_jmh = f2; |
jp1nom | 1:ee890adf56ea | 931 | f1_CW_jmh = f1_CW; |
jp1nom | 1:ee890adf56ea | 932 | f2_CW_jmh = f2_CW; |
jp1nom | 1:ee890adf56ea | 933 | fbuf5 = fbuf1; |
jp1nom | 1:ee890adf56ea | 934 | fbuf6 = fbuf2; |
jp1nom | 1:ee890adf56ea | 935 | fbuf3 = 0; |
jp1nom | 1:ee890adf56ea | 936 | fbuf4 = 0; |
jp1nom | 1:ee890adf56ea | 937 | |
jp1nom | 1:ee890adf56ea | 938 | JMH(); |
jp1nom | 1:ee890adf56ea | 939 | wait(0.5); |
jp1nom | 1:ee890adf56ea | 940 | |
jp1nom | 1:ee890adf56ea | 941 | while (jmh == 0) { |
jp1nom | 1:ee890adf56ea | 942 | |
jp1nom | 1:ee890adf56ea | 943 | if (MODE_IN == 1 ) {MODEX();} |
jp1nom | 1:ee890adf56ea | 944 | |
jp1nom | 1:ee890adf56ea | 945 | if (CW_MODE == 1 ) {CW1();} |
jp1nom | 1:ee890adf56ea | 946 | if (CW_MODE != 1 ) {CW2();} |
jp1nom | 1:ee890adf56ea | 947 | |
jp1nom | 1:ee890adf56ea | 948 | fbuf3 = wheel.getPulses(); |
jp1nom | 1:ee890adf56ea | 949 | if (fbuf3 > fbuf4) { |
jp1nom | 1:ee890adf56ea | 950 | if (mem_jmh <12 ) { |
jp1nom | 1:ee890adf56ea | 951 | mem_jmh++; |
jp1nom | 1:ee890adf56ea | 952 | JMH(); |
jp1nom | 1:ee890adf56ea | 953 | } |
jp1nom | 1:ee890adf56ea | 954 | } |
jp1nom | 1:ee890adf56ea | 955 | if (fbuf3 < fbuf4) { |
jp1nom | 1:ee890adf56ea | 956 | if (mem_jmh > 0) { |
jp1nom | 1:ee890adf56ea | 957 | mem_jmh--; |
jp1nom | 1:ee890adf56ea | 958 | JMH(); |
jp1nom | 1:ee890adf56ea | 959 | } |
jp1nom | 1:ee890adf56ea | 960 | } |
jp1nom | 1:ee890adf56ea | 961 | fbuf4 = fbuf3; |
jp1nom | 1:ee890adf56ea | 962 | |
jp1nom | 1:ee890adf56ea | 963 | } |
jp1nom | 1:ee890adf56ea | 964 | |
jp1nom | 1:ee890adf56ea | 965 | fbuf3 = 0; |
jp1nom | 1:ee890adf56ea | 966 | fbuf4 = 0; |
jp1nom | 1:ee890adf56ea | 967 | fbuf1 = fbuf5; |
jp1nom | 1:ee890adf56ea | 968 | fbuf2 = fbuf6; |
jp1nom | 1:ee890adf56ea | 969 | BAND = BAND_jmh; |
jp1nom | 1:ee890adf56ea | 970 | FQD = FQD_jmh; |
jp1nom | 1:ee890adf56ea | 971 | FQ = FQ_jmh; |
jp1nom | 1:ee890adf56ea | 972 | f1 = f1_jmh; |
jp1nom | 1:ee890adf56ea | 973 | f2 = f2_jmh; |
jp1nom | 1:ee890adf56ea | 974 | f1_CW = f1_CW_jmh; |
jp1nom | 1:ee890adf56ea | 975 | f2_CW = f2_CW_jmh; |
jp1nom | 1:ee890adf56ea | 976 | FQDD = FQD; |
jp1nom | 1:ee890adf56ea | 977 | FQX = FQ + IF; |
jp1nom | 1:ee890adf56ea | 978 | GET_LCD_DATA(); |
jp1nom | 1:ee890adf56ea | 979 | DDS(); |
jp1nom | 1:ee890adf56ea | 980 | |
jp1nom | 1:ee890adf56ea | 981 | lcd.locate(7,1); |
jp1nom | 1:ee890adf56ea | 982 | lcd.printf(" "); |
jp1nom | 1:ee890adf56ea | 983 | MODEY(); |
jp1nom | 1:ee890adf56ea | 984 | wait(0.3); |
jp1nom | 1:ee890adf56ea | 985 | } |
jp1nom | 1:ee890adf56ea | 986 | |
jp1nom | 1:ee890adf56ea | 987 | void MODEX(void) { |
jp1nom | 1:ee890adf56ea | 988 | if (CW_IN == 0) { |
jp1nom | 1:ee890adf56ea | 989 | CW_IN++; |
jp1nom | 1:ee890adf56ea | 990 | RL1 = 1; |
jp1nom | 1:ee890adf56ea | 991 | RL2 = 1; |
jp1nom | 1:ee890adf56ea | 992 | CW1(); |
jp1nom | 1:ee890adf56ea | 993 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 994 | lcd.printf("CW "); |
jp1nom | 1:ee890adf56ea | 995 | wait(0.3); |
jp1nom | 1:ee890adf56ea | 996 | }else{ |
jp1nom | 1:ee890adf56ea | 997 | if (CW_IN == 1) { |
jp1nom | 1:ee890adf56ea | 998 | CW_IN++; |
jp1nom | 1:ee890adf56ea | 999 | RL1 = 0; |
jp1nom | 1:ee890adf56ea | 1000 | RL2 = 0; |
jp1nom | 1:ee890adf56ea | 1001 | CW2(); |
jp1nom | 1:ee890adf56ea | 1002 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 1003 | lcd.printf("AM "); |
jp1nom | 1:ee890adf56ea | 1004 | wait(0.3); |
jp1nom | 1:ee890adf56ea | 1005 | }else{ |
jp1nom | 1:ee890adf56ea | 1006 | if (CW_IN == 2) { |
jp1nom | 1:ee890adf56ea | 1007 | CW_IN = 0; |
jp1nom | 1:ee890adf56ea | 1008 | RL1= 1; |
jp1nom | 1:ee890adf56ea | 1009 | RL2= 0; |
jp1nom | 1:ee890adf56ea | 1010 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 1011 | lcd.printf("SSB"); |
jp1nom | 1:ee890adf56ea | 1012 | wait(0.3); |
jp1nom | 1:ee890adf56ea | 1013 | CW2(); |
jp1nom | 1:ee890adf56ea | 1014 | CW_IN = 0; |
jp1nom | 1:ee890adf56ea | 1015 | } |
jp1nom | 1:ee890adf56ea | 1016 | } |
jp1nom | 1:ee890adf56ea | 1017 | } |
jp1nom | 1:ee890adf56ea | 1018 | // DDS_U(); |
jp1nom | 1:ee890adf56ea | 1019 | } |
jp1nom | 1:ee890adf56ea | 1020 | |
jp1nom | 1:ee890adf56ea | 1021 | void MODEY(void) { |
jp1nom | 1:ee890adf56ea | 1022 | if (CW_IN == 0) { |
jp1nom | 1:ee890adf56ea | 1023 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 1024 | lcd.printf("SSB"); |
jp1nom | 1:ee890adf56ea | 1025 | }else{ |
jp1nom | 1:ee890adf56ea | 1026 | if (CW_IN == 1) { |
jp1nom | 1:ee890adf56ea | 1027 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 1028 | lcd.printf("CW "); |
jp1nom | 1:ee890adf56ea | 1029 | }else{ |
jp1nom | 1:ee890adf56ea | 1030 | if (CW_IN == 2) { |
jp1nom | 1:ee890adf56ea | 1031 | lcd.locate(3,1); |
jp1nom | 1:ee890adf56ea | 1032 | lcd.printf("AM "); |
jp1nom | 1:ee890adf56ea | 1033 | } |
jp1nom | 1:ee890adf56ea | 1034 | } |
jp1nom | 1:ee890adf56ea | 1035 | } |
jp1nom | 1:ee890adf56ea | 1036 | // DDS_U(); |
jp1nom | 1:ee890adf56ea | 1037 | } |