Grisha Boga / Mbed 2 deprecated Prog_rele_with_tft

Dependencies:   mbed mbed-rtos

Committer:
grisha_b13
Date:
Thu Sep 23 18:18:05 2021 +0000
Revision:
1:b05f79b901ac
Parent:
0:aa53c09fba30
23_09_21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
grisha_b13 0:aa53c09fba30 1
grisha_b13 0:aa53c09fba30 2 /************** Program rele *******************************/
grisha_b13 0:aa53c09fba30 3
grisha_b13 0:aa53c09fba30 4 #include <mbed.h>
grisha_b13 0:aa53c09fba30 5 #include "rtos.h"
grisha_b13 0:aa53c09fba30 6
grisha_b13 0:aa53c09fba30 7 #include "task.h"
grisha_b13 0:aa53c09fba30 8 #include "ext_vars.h"
grisha_b13 0:aa53c09fba30 9
grisha_b13 0:aa53c09fba30 10 #define UART_BAUD 9600 // скорость
grisha_b13 0:aa53c09fba30 11 #define MAX_LEN 30 // макс. длинна строки usb
grisha_b13 0:aa53c09fba30 12
grisha_b13 0:aa53c09fba30 13 //--------------- input / output ---------------------------------------
grisha_b13 0:aa53c09fba30 14 // outputs
grisha_b13 0:aa53c09fba30 15 DigitalOut led(PC_13); // выход LED на плате
grisha_b13 0:aa53c09fba30 16
grisha_b13 0:aa53c09fba30 17 DigitalOut y_01(PB_12); // out y01
grisha_b13 0:aa53c09fba30 18 DigitalOut y_02(PB_13); // out y02
grisha_b13 0:aa53c09fba30 19 DigitalOut y_03(PB_14); // out y03
grisha_b13 0:aa53c09fba30 20 DigitalOut y_04(PB_15); // out y04
grisha_b13 0:aa53c09fba30 21 DigitalOut y_05(PA_8); // out y05
grisha_b13 0:aa53c09fba30 22 DigitalOut y_06(PA_9); // out y06
grisha_b13 0:aa53c09fba30 23
grisha_b13 0:aa53c09fba30 24 // inputs
grisha_b13 0:aa53c09fba30 25 DigitalIn x_01(PB_9); // inp x01
grisha_b13 0:aa53c09fba30 26 DigitalIn x_02(PB_8); // inp x02
grisha_b13 0:aa53c09fba30 27 DigitalIn x_03(PB_7); // inp x03
grisha_b13 0:aa53c09fba30 28 DigitalIn x_04(PB_6); // inp x04
grisha_b13 0:aa53c09fba30 29 DigitalIn x_05(PB_5); // inp x05
grisha_b13 0:aa53c09fba30 30 DigitalIn x_06(PB_4); // inp x06
grisha_b13 0:aa53c09fba30 31 DigitalIn x_07(PB_3); // inp x07
grisha_b13 0:aa53c09fba30 32 DigitalIn x_08(PA_15); // inp x08
grisha_b13 0:aa53c09fba30 33
grisha_b13 0:aa53c09fba30 34 //------- discr input ------------
grisha_b13 0:aa53c09fba30 35 DigitalIn swd_01(PA_0); // dip 1
grisha_b13 0:aa53c09fba30 36 DigitalIn swd_02(PA_1); // dip 2
grisha_b13 0:aa53c09fba30 37 DigitalIn swd_03(PA_2); // dip 3
grisha_b13 0:aa53c09fba30 38 DigitalIn swd_04(PA_3); // dip 4
grisha_b13 0:aa53c09fba30 39
grisha_b13 0:aa53c09fba30 40 //-------- Prototype functions ----------------------------------------
grisha_b13 0:aa53c09fba30 41 void read_inputs(); // сохр.состояния входов в памяти
grisha_b13 0:aa53c09fba30 42 void write_outs(); // формирование выходов
grisha_b13 0:aa53c09fba30 43 void save_stat(); // сохранение сост. переменных
grisha_b13 0:aa53c09fba30 44 void logic_tasks(); // логические задачи
grisha_b13 0:aa53c09fba30 45 void timers(); // обработка таймеров
grisha_b13 0:aa53c09fba30 46 int read_val(); // вычитывание значения из строки
grisha_b13 1:b05f79b901ac 47 void pc_rd(); // работа с serial портом
grisha_b13 1:b05f79b901ac 48
grisha_b13 1:b05f79b901ac 49 /********************* Threads **************************************/
grisha_b13 1:b05f79b901ac 50 Thread read_uart;
grisha_b13 0:aa53c09fba30 51
grisha_b13 0:aa53c09fba30 52 //-------- for SERIAL interface ---------------------------------------
grisha_b13 0:aa53c09fba30 53 Serial pc(PB_10, PB_11); // tx, rx
grisha_b13 0:aa53c09fba30 54 int pc_i = 99;
grisha_b13 0:aa53c09fba30 55 int pc_m = 0;
grisha_b13 0:aa53c09fba30 56 char pc_buffer[100];
grisha_b13 0:aa53c09fba30 57
grisha_b13 0:aa53c09fba30 58 //----------- Local vars -----------------------------------------------
grisha_b13 0:aa53c09fba30 59 int delay_time = 10;
grisha_b13 0:aa53c09fba30 60 int t_sys = 0;
grisha_b13 0:aa53c09fba30 61
grisha_b13 0:aa53c09fba30 62 // Переменные для проверки прихода значений из енергонезависимой памяти с rasp-pico
grisha_b13 0:aa53c09fba30 63 int check_par1 = 0;
grisha_b13 0:aa53c09fba30 64 int check_par2 = 0;
grisha_b13 0:aa53c09fba30 65 int check_par3 = 0;
grisha_b13 0:aa53c09fba30 66 int check_par4 = 0;
grisha_b13 0:aa53c09fba30 67 int check_par5 = 0;
grisha_b13 0:aa53c09fba30 68
grisha_b13 0:aa53c09fba30 69
grisha_b13 0:aa53c09fba30 70 //----------- EXT VARS -------------------------------------------------
grisha_b13 0:aa53c09fba30 71 // DC inputs
grisha_b13 0:aa53c09fba30 72 int x01 = 0; int x01_m = 0;
grisha_b13 0:aa53c09fba30 73 int x02 = 0; int x02_m = 0;
grisha_b13 0:aa53c09fba30 74 int x03 = 0; int x03_m = 0;
grisha_b13 0:aa53c09fba30 75 int x04 = 0; int x04_m = 0;
grisha_b13 0:aa53c09fba30 76 int x05 = 0; int x05_m = 0;
grisha_b13 0:aa53c09fba30 77 int x06 = 0; int x06_m = 0;
grisha_b13 0:aa53c09fba30 78 int x07 = 0; int x07_m = 0;
grisha_b13 0:aa53c09fba30 79 int x08 = 0; int x08_m = 0;
grisha_b13 0:aa53c09fba30 80 // Dip inputs
grisha_b13 0:aa53c09fba30 81 int swd01 = 0; int swd01_m = 0;
grisha_b13 0:aa53c09fba30 82 int swd02 = 0; int swd02_m = 0;
grisha_b13 0:aa53c09fba30 83 int swd03 = 0; int swd03_m = 0;
grisha_b13 0:aa53c09fba30 84 int swd04 = 0; int swd04_m = 0;
grisha_b13 0:aa53c09fba30 85 // Outputs
grisha_b13 0:aa53c09fba30 86 int y01 = 0; int y01_m = 0;
grisha_b13 0:aa53c09fba30 87 int y02 = 0; int y02_m = 0;
grisha_b13 0:aa53c09fba30 88 int y03 = 0; int y03_m = 0;
grisha_b13 0:aa53c09fba30 89 int y04 = 0; int y04_m = 0;
grisha_b13 0:aa53c09fba30 90 int y05 = 0; int y05_m = 0;
grisha_b13 0:aa53c09fba30 91 int y06 = 0; int y06_m = 0;
grisha_b13 0:aa53c09fba30 92 // Timers
grisha_b13 0:aa53c09fba30 93 int t01 = 0; int t101 = 0;
grisha_b13 0:aa53c09fba30 94 int t02 = 0; int t102 = 0;
grisha_b13 0:aa53c09fba30 95 int t03 = 0; int t103 = 0;
grisha_b13 0:aa53c09fba30 96 int t04 = 0; int t104 = 0;
grisha_b13 0:aa53c09fba30 97 int t05 = 0; int t105 = 0;
grisha_b13 0:aa53c09fba30 98 // Parametrs
grisha_b13 0:aa53c09fba30 99 int pr001 = 0;
grisha_b13 0:aa53c09fba30 100 int pr002 = 0;
grisha_b13 0:aa53c09fba30 101 int pr003 = 0;
grisha_b13 0:aa53c09fba30 102 int pr004 = 0;
grisha_b13 0:aa53c09fba30 103 int pr005 = 0;
grisha_b13 0:aa53c09fba30 104 // Alarms
grisha_b13 0:aa53c09fba30 105 int al000 = 0;
grisha_b13 0:aa53c09fba30 106 // VrXXX
grisha_b13 0:aa53c09fba30 107 int vr000 = 0;
grisha_b13 0:aa53c09fba30 108 int vr001 = 1;
grisha_b13 0:aa53c09fba30 109
grisha_b13 0:aa53c09fba30 110 /**************************** main **********************************/
grisha_b13 0:aa53c09fba30 111 int main(void)
grisha_b13 0:aa53c09fba30 112 {
grisha_b13 0:aa53c09fba30 113 //----- настраиваем порт serial ------
grisha_b13 0:aa53c09fba30 114 pc.baud(UART_BAUD);
grisha_b13 0:aa53c09fba30 115
grisha_b13 0:aa53c09fba30 116 //--- запускаем логич.задач по таймеру delay_time msec ------
grisha_b13 0:aa53c09fba30 117 RtosTimer t_msec(&logic_tasks);
grisha_b13 0:aa53c09fba30 118 t_msec.start(delay_time);
grisha_b13 1:b05f79b901ac 119
grisha_b13 1:b05f79b901ac 120 //------- запускаем потоки Thread ------
grisha_b13 1:b05f79b901ac 121 read_uart.start(pc_rd); // чтение UART
grisha_b13 0:aa53c09fba30 122
grisha_b13 0:aa53c09fba30 123 while(true)
grisha_b13 0:aa53c09fba30 124 {
grisha_b13 0:aa53c09fba30 125 led = !led;
grisha_b13 0:aa53c09fba30 126
grisha_b13 0:aa53c09fba30 127 // проверяем usb
grisha_b13 0:aa53c09fba30 128 if (pc_i > 1 && pc_i == pc_m) {
grisha_b13 1:b05f79b901ac 129 pc_buffer[pc_i++] = 0; pc_i = 0;
grisha_b13 0:aa53c09fba30 130 // --- устанавливаем значение переменных ----
grisha_b13 0:aa53c09fba30 131 if(strstr(pc_buffer, "=")) {
grisha_b13 0:aa53c09fba30 132 if(strstr(pc_buffer, "pr001")) { pr001 = read_val(); pc.printf("ok\n"); check_par1 = 1; }
grisha_b13 0:aa53c09fba30 133 if(strstr(pc_buffer, "pr002")) { pr002 = read_val(); pc.printf("ok\n"); check_par2 = 1; }
grisha_b13 0:aa53c09fba30 134 if(strstr(pc_buffer, "pr003")) { pr003 = read_val(); pc.printf("ok\n"); check_par3 = 1; }
grisha_b13 0:aa53c09fba30 135 if(strstr(pc_buffer, "pr004")) { pr004 = read_val(); pc.printf("ok\n"); check_par4 = 1; }
grisha_b13 0:aa53c09fba30 136 if(strstr(pc_buffer, "pr005")) { pr005 = read_val(); pc.printf("ok\n"); check_par5 = 1; }
grisha_b13 0:aa53c09fba30 137
grisha_b13 0:aa53c09fba30 138 if(strstr(pc_buffer, "vr000")) { vr000 = read_val(); pc.printf("ok\n"); }
grisha_b13 0:aa53c09fba30 139 if(strstr(pc_buffer, "vr001")) { vr001 = read_val(); pc.printf("ok\n"); }
grisha_b13 0:aa53c09fba30 140
grisha_b13 0:aa53c09fba30 141 if(strstr(pc_buffer, "al000")) { al000 = read_val(); pc.printf("ok\n"); }
grisha_b13 0:aa53c09fba30 142 }
grisha_b13 0:aa53c09fba30 143
grisha_b13 0:aa53c09fba30 144 // --- отправляем в serial значение переменных ---
grisha_b13 0:aa53c09fba30 145 if(strstr(pc_buffer, "?")) {
grisha_b13 0:aa53c09fba30 146 if(strstr(pc_buffer, "pr001?")) { pc.printf("pr001:%d\n", pr001); }
grisha_b13 0:aa53c09fba30 147 if(strstr(pc_buffer, "pr002?")) { pc.printf("pr002:%d\n", pr002); }
grisha_b13 0:aa53c09fba30 148 if(strstr(pc_buffer, "pr003?")) { pc.printf("pr003:%d\n", pr003); }
grisha_b13 0:aa53c09fba30 149 if(strstr(pc_buffer, "pr004?")) { pc.printf("pr004:%d\n", pr004); }
grisha_b13 0:aa53c09fba30 150 if(strstr(pc_buffer, "pr005?")) { pc.printf("pr005:%d\n", pr005); }
grisha_b13 0:aa53c09fba30 151
grisha_b13 0:aa53c09fba30 152 if(strstr(pc_buffer, "vr000?")) { pc.printf("vr000:%d\n", vr000); }
grisha_b13 0:aa53c09fba30 153 if(strstr(pc_buffer, "vr001?")) { pc.printf("vr001:%d\n", vr001); }
grisha_b13 0:aa53c09fba30 154
grisha_b13 0:aa53c09fba30 155 if(strstr(pc_buffer, "al000?")) { pc.printf("al000:%d\n", al000); }
grisha_b13 0:aa53c09fba30 156 }
grisha_b13 0:aa53c09fba30 157
grisha_b13 1:b05f79b901ac 158 } else { pc_m = pc_i; }
grisha_b13 0:aa53c09fba30 159
grisha_b13 0:aa53c09fba30 160 Thread::wait(250);
grisha_b13 0:aa53c09fba30 161 }
grisha_b13 0:aa53c09fba30 162 }
grisha_b13 0:aa53c09fba30 163
grisha_b13 0:aa53c09fba30 164 /**************** логические задачи контроллера *********************/
grisha_b13 0:aa53c09fba30 165
grisha_b13 0:aa53c09fba30 166 // логические задачи. вызываются для выполнения
grisha_b13 0:aa53c09fba30 167 // каждые delay_time мсек
grisha_b13 0:aa53c09fba30 168 void logic_tasks() {
grisha_b13 0:aa53c09fba30 169
grisha_b13 0:aa53c09fba30 170 // подготовка входн.информации
grisha_b13 0:aa53c09fba30 171 timers();
grisha_b13 0:aa53c09fba30 172 read_inputs();
grisha_b13 0:aa53c09fba30 173
grisha_b13 0:aa53c09fba30 174 // логичeские задачи (организационный блок)
grisha_b13 0:aa53c09fba30 175 // запускаем лог задачи только после получения всех параметров из rasp-pico
grisha_b13 0:aa53c09fba30 176 if(check_par1 == 1 && check_par2 == 1 && check_par3 == 1
grisha_b13 0:aa53c09fba30 177 && check_par4 == 1 && check_par5 == 1) {
grisha_b13 0:aa53c09fba30 178 task();
grisha_b13 0:aa53c09fba30 179 }
grisha_b13 0:aa53c09fba30 180
grisha_b13 0:aa53c09fba30 181 // формирование выходн.информации
grisha_b13 0:aa53c09fba30 182 write_outs();
grisha_b13 0:aa53c09fba30 183 save_stat();
grisha_b13 0:aa53c09fba30 184 }
grisha_b13 0:aa53c09fba30 185
grisha_b13 0:aa53c09fba30 186 //----------------------------------------
grisha_b13 0:aa53c09fba30 187 // формирование значения переменных
grisha_b13 0:aa53c09fba30 188 // в соответствии с сигналами на входах контроллер
grisha_b13 0:aa53c09fba30 189 void read_inputs() {
grisha_b13 0:aa53c09fba30 190 // читаем локальные входа контроллера
grisha_b13 0:aa53c09fba30 191 x01 = x_01; x05 = x_05;
grisha_b13 0:aa53c09fba30 192 x02 = x_02; x06 = x_06;
grisha_b13 0:aa53c09fba30 193 x03 = x_03; x07 = x_07;
grisha_b13 0:aa53c09fba30 194 x04 = x_04; x08 = x_08;
grisha_b13 0:aa53c09fba30 195 swd01 = swd_01; swd02 = swd_02;
grisha_b13 0:aa53c09fba30 196 swd03 = swd_03; swd04 = swd_04;
grisha_b13 0:aa53c09fba30 197 }
grisha_b13 0:aa53c09fba30 198
grisha_b13 0:aa53c09fba30 199 //----------------------------------------
grisha_b13 0:aa53c09fba30 200 // установка выходов контроллера
grisha_b13 0:aa53c09fba30 201 // в соответствии значения преременным
grisha_b13 0:aa53c09fba30 202 void write_outs(){
grisha_b13 0:aa53c09fba30 203 // устанавливаем локальные выходы
grisha_b13 0:aa53c09fba30 204 y_01 = y01; y_04 = y04;
grisha_b13 0:aa53c09fba30 205 y_02 = y02; y_05 = y05;
grisha_b13 0:aa53c09fba30 206 y_03 = y03; y_06 = y06;
grisha_b13 0:aa53c09fba30 207 }
grisha_b13 0:aa53c09fba30 208
grisha_b13 0:aa53c09fba30 209 //----------------------------------------
grisha_b13 0:aa53c09fba30 210 // сохранение значения переменных для обработки
grisha_b13 0:aa53c09fba30 211 // в след.цикле (установка, сброс)
grisha_b13 0:aa53c09fba30 212 void save_stat(){
grisha_b13 0:aa53c09fba30 213 x01_m = x01; x02_m = x02; x03_m = x03; x04_m = x04;
grisha_b13 0:aa53c09fba30 214 x05_m = x05; x06_m = x06; x07_m = x07; x08_m = x08;
grisha_b13 0:aa53c09fba30 215 y01_m = y01; y02_m = y02; y03_m = y03; y04_m = y04;
grisha_b13 0:aa53c09fba30 216 y05_m = y05; y06_m = y06;
grisha_b13 0:aa53c09fba30 217 swd01_m = swd01;
grisha_b13 0:aa53c09fba30 218 swd02_m = swd02;
grisha_b13 0:aa53c09fba30 219 swd03_m = swd03;
grisha_b13 0:aa53c09fba30 220 swd04_m = swd04;
grisha_b13 0:aa53c09fba30 221 }
grisha_b13 0:aa53c09fba30 222
grisha_b13 0:aa53c09fba30 223 //----------------------------------------
grisha_b13 0:aa53c09fba30 224 // изменение значения секундных и милисекундных таймеров
grisha_b13 0:aa53c09fba30 225 // (дискретность delay_time мсек)
grisha_b13 0:aa53c09fba30 226 void timers(){
grisha_b13 0:aa53c09fba30 227
grisha_b13 0:aa53c09fba30 228 int i = delay_time; // время цикла в мсек
grisha_b13 0:aa53c09fba30 229 int max1 = 60000; // макс. значение для мсек таймеров (60sec)
grisha_b13 0:aa53c09fba30 230 int max2 = 36000; // макс. значение для сек таймеров (10час)
grisha_b13 0:aa53c09fba30 231
grisha_b13 0:aa53c09fba30 232 // timers, 1s
grisha_b13 0:aa53c09fba30 233 if(t_sys < 1000) {
grisha_b13 0:aa53c09fba30 234 t_sys = t_sys + i;
grisha_b13 0:aa53c09fba30 235 } else {
grisha_b13 0:aa53c09fba30 236 t_sys = 0;
grisha_b13 0:aa53c09fba30 237 if(t101 < max2) { t101 = t101 + 1; }
grisha_b13 0:aa53c09fba30 238 if(t102 < max2) { t102 = t102 + 1; }
grisha_b13 0:aa53c09fba30 239 if(t103 < max2) { t103 = t103 + 1; }
grisha_b13 0:aa53c09fba30 240 if(t104 < max2) { t104 = t104 + 1; }
grisha_b13 0:aa53c09fba30 241 if(t105 < max2) { t105 = t105 + 1; }
grisha_b13 0:aa53c09fba30 242 }
grisha_b13 0:aa53c09fba30 243
grisha_b13 0:aa53c09fba30 244 // timers, 10ms
grisha_b13 0:aa53c09fba30 245 if(t01 < max1) { t01 = t01 + i; }
grisha_b13 0:aa53c09fba30 246 if(t02 < max1) { t02 = t02 + i; }
grisha_b13 0:aa53c09fba30 247 if(t03 < max1) { t03 = t03 + i; }
grisha_b13 0:aa53c09fba30 248 if(t04 < max1) { t04 = t04 + i; }
grisha_b13 0:aa53c09fba30 249 if(t05 < max1) { t05 = t05 + i; }
grisha_b13 0:aa53c09fba30 250 }
grisha_b13 0:aa53c09fba30 251
grisha_b13 0:aa53c09fba30 252 //----------------------------------------
grisha_b13 0:aa53c09fba30 253 // поиск и чтение значения из строки
grisha_b13 0:aa53c09fba30 254 // возвращает целое число. 0-999999
grisha_b13 0:aa53c09fba30 255 int read_val() {
grisha_b13 0:aa53c09fba30 256 char inp_c[10];
grisha_b13 0:aa53c09fba30 257 int val = 0;
grisha_b13 0:aa53c09fba30 258 int i = 0;
grisha_b13 0:aa53c09fba30 259 int p = 0;
grisha_b13 0:aa53c09fba30 260
grisha_b13 0:aa53c09fba30 261 while(p < MAX_LEN) {
grisha_b13 0:aa53c09fba30 262 if(pc_buffer[p] == '=') { break; }
grisha_b13 0:aa53c09fba30 263 p++;
grisha_b13 0:aa53c09fba30 264 }
grisha_b13 0:aa53c09fba30 265
grisha_b13 0:aa53c09fba30 266 p++;
grisha_b13 0:aa53c09fba30 267 i = 0; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 268 i = 1; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 269 i = 2; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 270 i = 3; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 271 i = 4; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 272 i = 5; if(pc_buffer[p + i] >= 48 && pc_buffer[p + i] <= 57) { inp_c[i] = pc_buffer[p + i]; } else { inp_c[i] = 0; }
grisha_b13 0:aa53c09fba30 273 inp_c[6] = 0 ;
grisha_b13 0:aa53c09fba30 274
grisha_b13 0:aa53c09fba30 275 val = atoi(inp_c);
grisha_b13 0:aa53c09fba30 276 return val;
grisha_b13 0:aa53c09fba30 277 }
grisha_b13 0:aa53c09fba30 278
grisha_b13 1:b05f79b901ac 279 //----------------------------------------
grisha_b13 1:b05f79b901ac 280 // посимвольный прием из USB и сохранение
grisha_b13 1:b05f79b901ac 281 // информации в буфере, обрабатывается после того как все принято
grisha_b13 1:b05f79b901ac 282 void pc_rd()
grisha_b13 1:b05f79b901ac 283 {
grisha_b13 1:b05f79b901ac 284 sprintf(pc_buffer, "buff_ok");
grisha_b13 1:b05f79b901ac 285 while(1)
grisha_b13 1:b05f79b901ac 286 {
grisha_b13 1:b05f79b901ac 287 if(pc.readable()) {
grisha_b13 1:b05f79b901ac 288 pc_buffer[pc_i] = pc.getc();
grisha_b13 1:b05f79b901ac 289 if(pc_i < MAX_LEN) { pc_i++; }
grisha_b13 1:b05f79b901ac 290 pc_buffer[pc_i] = 0;
grisha_b13 1:b05f79b901ac 291 }
grisha_b13 1:b05f79b901ac 292 }
grisha_b13 1:b05f79b901ac 293 }
grisha_b13 0:aa53c09fba30 294
grisha_b13 1:b05f79b901ac 295