TEST2
Dependencies: LCD_DISCO_F746NG QSPI_DISCO_F746NG TS_DISCO_F746NG
main.h@0:011a309655b5, 2017-12-14 (annotated)
- Committer:
- yefremovv
- Date:
- Thu Dec 14 09:40:28 2017 +0000
- Revision:
- 0:011a309655b5
testSkav
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yefremovv | 0:011a309655b5 | 1 | #include "mbed.h" |
yefremovv | 0:011a309655b5 | 2 | #include "LCD_DISCO_F746NG.h" |
yefremovv | 0:011a309655b5 | 3 | #include "TS_DISCO_F746NG.h" |
yefremovv | 0:011a309655b5 | 4 | #include "QSPI_DISCO_F746NG.h" |
yefremovv | 0:011a309655b5 | 5 | #include "EthernetInterface.h" |
yefremovv | 0:011a309655b5 | 6 | #include <ctype.h> |
yefremovv | 0:011a309655b5 | 7 | #include <math.h> |
yefremovv | 0:011a309655b5 | 8 | #define WRITE_READ_ADDR ((uint32_t)0x0050) |
yefremovv | 0:011a309655b5 | 9 | #define QSPI_BASE_ADDR ((uint32_t)0x90000000) |
yefremovv | 0:011a309655b5 | 10 | #define TIMEOUT_MINUS 600 |
yefremovv | 0:011a309655b5 | 11 | #define LEN_PACK_9003 18 //длина пакета со временем |
yefremovv | 0:011a309655b5 | 12 | #define LEN_PACK_9006 46 //длина пакета с инфой для ПУИ |
yefremovv | 0:011a309655b5 | 13 | |
yefremovv | 0:011a309655b5 | 14 | Thread threadEth; //поток для Eth |
yefremovv | 0:011a309655b5 | 15 | Mutex flMut; //мютекс |
yefremovv | 0:011a309655b5 | 16 | |
yefremovv | 0:011a309655b5 | 17 | Serial pc(USBTX, USBRX, 115200); //для отладки |
yefremovv | 0:011a309655b5 | 18 | Serial pc1(A4, A5, 2400); //com-порт1 |
yefremovv | 0:011a309655b5 | 19 | Serial pc2(D1, D0, 2400); //com-порт2 |
yefremovv | 0:011a309655b5 | 20 | |
yefremovv | 0:011a309655b5 | 21 | static IWDG_HandleTypeDef IwdgHandle; //для иниц. wdt |
yefremovv | 0:011a309655b5 | 22 | static const char* Mask = "255.0.0.0"; //маска подсети |
yefremovv | 0:011a309655b5 | 23 | static const char* Gateway = "10.114.48.1"; //шлюз |
yefremovv | 0:011a309655b5 | 24 | static char bufX[16] = "XXX.XXX.XXX.XXX"; |
yefremovv | 0:011a309655b5 | 25 | osThreadId_t idThread2 = 0; //идентификатор потока |
yefremovv | 0:011a309655b5 | 26 | Ticker tickerIrqSec, tickerConn, tickWdt; //таймеры событий |
yefremovv | 0:011a309655b5 | 27 | LCD_DISCO_F746NG lcd; //экран |
yefremovv | 0:011a309655b5 | 28 | TS_DISCO_F746NG ts; //тачпад |
yefremovv | 0:011a309655b5 | 29 | TS_StateTypeDef TS_State; //состояние тачпада |
yefremovv | 0:011a309655b5 | 30 | QSPI_DISCO_F746NG qspi; //flash_spi |
yefremovv | 0:011a309655b5 | 31 | EthernetInterface eth; //сеть |
yefremovv | 0:011a309655b5 | 32 | UDPSocket sock9003, sock9006; |
yefremovv | 0:011a309655b5 | 33 | SocketAddress sockAddr; |
yefremovv | 0:011a309655b5 | 34 | time_t sTime, s1Time, s2Time; //время RTC + для секундомеров |
yefremovv | 0:011a309655b5 | 35 | tm t, tmuPui; //структура для времени |
yefremovv | 0:011a309655b5 | 36 | short sec1 = 0, sec2 = 0, numStat1 = -1, numStat2 = -1, ind = 0; //секунды, № станций, индекс символа в меню "Сеть" |
yefremovv | 0:011a309655b5 | 37 | unsigned int cntRecPack = 0; //кол-во принятых пакетов |
yefremovv | 0:011a309655b5 | 38 | uint8_t funcTx = 0; |
yefremovv | 0:011a309655b5 | 39 | char checkTh = 0; //счётчик проверки дочернего потока |
yefremovv | 0:011a309655b5 | 40 | char readBuf[16], buf[10], buf1[10], buf2[10], bufPc1[3], bufPc2[3], bufSend1[3], bufSend2[3]; //для чтения из флеш, для отображ. RTC, |
yefremovv | 0:011a309655b5 | 41 | //для отображ. секундомеров, буфера для отправки/приёма с ПУИ |
yefremovv | 0:011a309655b5 | 42 | char* r; //для копирования в ip |
yefremovv | 0:011a309655b5 | 43 | char* ip = "0.0.0.0"; //для хранения ip из flash |
yefremovv | 0:011a309655b5 | 44 | bool brightness1 = 0, brightness2 = 0, flTime = 1, flSec1 = 0, flSec2 = 0, flTest = 0, fl1NP = 1, fl2NP = 1, |
yefremovv | 0:011a309655b5 | 45 | flWork1 = 0, flWork2 = 0, visible = 1, flEth = 0, flRec1, flRec2, flRecT1 = 0, flRecT2 = 0, flWorkT1 = 0, |
yefremovv | 0:011a309655b5 | 46 | flWorkT2 = 0, fl1 = 0, flWdtTh = 0, flCon1 = 0, flCon2 = 0, flNetW = 0, flLight = 0; //флаг яркости, флаги разрешения обновления таймеров, |
yefremovv | 0:011a309655b5 | 47 | //флаг теста, флаги "+"/"-", флаги работы секундомеров, флаг отображ. кнопок, флаг связи с eth, флаги пакетов со станцией, |
yefremovv | 0:011a309655b5 | 48 | //флаги пакета секундомеров, флаги отображ. секундомеров, флаг зависания доч. потока, флаги связи с ПУИ, |
yefremovv | 0:011a309655b5 | 49 | //флаг меню "СЕТЬ", флаг меню "ЯРКОСТЬ" |
yefremovv | 0:011a309655b5 | 50 | |
yefremovv | 0:011a309655b5 | 51 | char* getStation(short); //определение названия станции |
yefremovv | 0:011a309655b5 | 52 | void viewStation(short, bool); //вывод названия станции на экран |
yefremovv | 0:011a309655b5 | 53 | void logo(); //эмблема нии тм |
yefremovv | 0:011a309655b5 | 54 | void setClock(); //установка часов |
yefremovv | 0:011a309655b5 | 55 | void viewTimerSec(); //секундомер для путей + RTC |
yefremovv | 0:011a309655b5 | 56 | void mainWindow(); //отрисовка главного окна |
yefremovv | 0:011a309655b5 | 57 | void settingBut(); //меню настроек |
yefremovv | 0:011a309655b5 | 58 | void configWindow(); //окно настройки сети |
yefremovv | 0:011a309655b5 | 59 | void drawSelector(); //отрисовка выбора яркости |
yefremovv | 0:011a309655b5 | 60 | void drawIP(); //отрисовка эл-ов управления в меню "Сеть" |
yefremovv | 0:011a309655b5 | 61 | int defSymbol(uint16_t, uint16_t); //определяем выбранный символ в меню "Сеть" |
yefremovv | 0:011a309655b5 | 62 | void viewSymbol(short); //отображаем выбранный символ в меню "Сеть" |
yefremovv | 0:011a309655b5 | 63 | void backFunc(); //возврат в основное меню |
yefremovv | 0:011a309655b5 | 64 | bool checkIP(const char *); //проверка правильности ввода IP-адреса |
yefremovv | 0:011a309655b5 | 65 | void pui1SetTime(int); //отправка времени на ПУИ1 |
yefremovv | 0:011a309655b5 | 66 | void pui2SetTime(int); //отправка времени на ПУИ2 |
yefremovv | 0:011a309655b5 | 67 | void sendStatPui1(short); //отправка станции на ПУИ1 |
yefremovv | 0:011a309655b5 | 68 | void sendStatPui2(short); //отправка станции на ПУИ2 |
yefremovv | 0:011a309655b5 | 69 | void workConn(); //уст-ка флага отсутствия связи с сервером |
yefremovv | 0:011a309655b5 | 70 | void ansPui1(); //ответ от ПУИ1 |
yefremovv | 0:011a309655b5 | 71 | void ansPui2(); //ответ от ПУИ2 |
yefremovv | 0:011a309655b5 | 72 | void StartIWDG(int); //watchdog таймер для main() |