fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Wed May 04 14:01:57 2016 +0000
Revision:
150:29c9f7671bac
Parent:
147:1aed74f19a8f
Child:
158:0c8342e1837a
PLC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igor_v 8:5188b1448d34 1 //ssdfwewedfsfds
igor_v 0:8ad47e2b6f00 2 /****************************************Copyright (c)****************************************************
igor_v 0:8ad47e2b6f00 3 **--------------File Info---------------------------------------------------------------------------------
igor_v 0:8ad47e2b6f00 4 ** File name: main.c
igor_v 0:8ad47e2b6f00 5 ** Last modified Date: 2011-10-24
igor_v 0:8ad47e2b6f00 6 ** Last Version: V1.00
igor_v 0:8ad47e2b6f00 7 ** Descriptions: The main() function
igor_v 0:8ad47e2b6f00 8 **
igor_v 0:8ad47e2b6f00 9 **--------------------------------------------------------------------------------------------------------
igor_v 0:8ad47e2b6f00 10 ** Created by: Electrooptica Incorp.
igor_v 0:8ad47e2b6f00 11 ** Created date: 2011-08-22
igor_v 0:8ad47e2b6f00 12 ** Version: V1.00
igor_v 3:ed8744c5f67a 13 ** Descriptions:
igor_v 3:ed8744c5f67a 14 **--------------------------------------------------------------------------------------------------------
igor_v 30:17c84ed091b3 15 последнии изменения
igor_v 30:17c84ed091b3 16 //2016_02_03_17_47
igor_v 31:c783288001b5 17 //2016_02_06 igor
igor_v 37:bdd52117b56e 18 //2016_06 Dima
Kovalev_D 41:70d12776d1ef 19 //2016_02_06 21:20 Kovalev_D
igor_v 0:8ad47e2b6f00 20 *********************************************************************************************************/
igor_v 0:8ad47e2b6f00 21 #include "Global.h"
Diletant 74:f4d9c3403578 22 #include "Device.h"
igor_v 0:8ad47e2b6f00 23 /******************************************************************************
igor_v 0:8ad47e2b6f00 24 ** Main Function main()
igor_v 0:8ad47e2b6f00 25 ******************************************************************************/
Diletant 138:14a0c452cf32 26 extern Device device; //Single global for all device hardware-independent algorithm
Kovalev_D 136:19b9e6abb86f 27 unsigned int addres;
Kovalev_D 134:caf4c9cd5052 28 uint32_t Result[5];
igor_v 0:8ad47e2b6f00 29 extern uint32_t CMD_Mode;
igor_v 52:30f2e52a493f 30 unsigned int secPuls;
igor_v 52:30f2e52a493f 31 float DACF, K_DAC;
Kovalev_D 107:4d178bcc9d8a 32 int tempAMP;
Kovalev_D 139:1716152517aa 33 int temp;
Kovalev_D 136:19b9e6abb86f 34 unsigned int status;
Kovalev_D 136:19b9e6abb86f 35 unsigned int Para;
igor_v 52:30f2e52a493f 36 int main (void)
igor_v 52:30f2e52a493f 37 {
Kovalev_D 136:19b9e6abb86f 38 SystemInit1(); // Инициализация контроллера: установка тактовых частот
Kovalev_D 150:29c9f7671bac 39 SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 103MHz
Kovalev_D 147:1aed74f19a8f 40 GLD_Init();
igor_v 91:a2bb81eaa183 41
Kovalev_D 150:29c9f7671bac 42 UART_InitSet (0, 921600, 0x03);
Kovalev_D 129:406995a91322 43 // UART_InitSet (1, 921600, 0x03);
Kovalev_D 129:406995a91322 44 UART_InitSet (1, 115200, 0x03);
Kovalev_D 88:b5c1d9d338d1 45
Kovalev_D 150:29c9f7671bac 46 // IntLatch_Init(); // инициализация внутренней защелки.
Kovalev_D 150:29c9f7671bac 47 // ExtLatch_Init(); // инициализация внешней защелки.
Kovalev_D 150:29c9f7671bac 48 // LoadFlashParam(FromFLASH); //загрузка параметров.
Kovalev_D 150:29c9f7671bac 49 // init_PLC(); //Инициализация СРП(регулировка периметра)
Kovalev_D 150:29c9f7671bac 50 // init_Dither_reg(); //инициализация вибропривода
igor_v 51:81f47b817071 51
Kovalev_D 105:bd01d8d20fb6 52 Out_G_photo(200,200); //запись в буфер мастера принятые от функции данные (60,60) и установка флага старта передачи и занятой шины.
Kovalev_D 47:d902ef6f7564 53 WriteCon1("\n\r ...GL start programm uart ACK.... ");
Kovalev_D 47:d902ef6f7564 54 WriteCon("\n\r ...GL start programm uart Tech.... ");
igor_v 15:f5191a1c3805 55 sprintf(Time,"\r\nCompiled: %s %s.",__DATE__, __TIME__ ); //Подготовка даты и времени компиляции
igor_v 13:e2a1d18677b8 56 WriteCon(Time);
Kovalev_D 150:29c9f7671bac 57
igor_v 11:af609f6dee46 58
Kovalev_D 150:29c9f7671bac 59
Kovalev_D 150:29c9f7671bac 60 while ( 1 ){ //основной цикл.
Kovalev_D 150:29c9f7671bac 61
Kovalev_D 147:1aed74f19a8f 62 G_Photo_Exchange();
Kovalev_D 108:030cdde08314 63 Concol (); // Проврка 0 консоли (вход и выход)
Kovalev_D 93:b3803774f110 64 Concol1 (); // Проврка 0 консоли (вход и выход)
Kovalev_D 99:3d8f206ceac2 65 Read_CMD();
igor_v 3:ed8744c5f67a 66 if (OutBufConCount) OutBufConCount--;
Kovalev_D 108:030cdde08314 67 if (OutBufCon1Count) OutBufCon1Count--;
Kovalev_D 104:ab1cb4ff56b2 68
Kovalev_D 147:1aed74f19a8f 69 TechLog();//технологическая выдача
Kovalev_D 136:19b9e6abb86f 70
Kovalev_D 116:66f1f0ff2dab 71 Event_100KHz();
Kovalev_D 88:b5c1d9d338d1 72 Event_1KHz();
Kovalev_D 124:9ae09249f842 73 Event_500Hz();
Kovalev_D 116:66f1f0ff2dab 74 Event_1Hz();
Kovalev_D 88:b5c1d9d338d1 75 Event_Vibro();
Kovalev_D 150:29c9f7671bac 76
Kovalev_D 150:29c9f7671bac 77
Kovalev_D 150:29c9f7671bac 78 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 79 ////////////////////////////////////выдача параметров через Rate////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 80 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 81 switch(Gyro.ModeOut) {
Kovalev_D 150:29c9f7671bac 82 case 1: if(Gyro.Rate1_Event == 1) CMD_Rate(); break;
Kovalev_D 150:29c9f7671bac 83 case 2: if(Gyro.Rate2_Event == 1) CMD_Rate2(); break;
Kovalev_D 150:29c9f7671bac 84 case 3: if(Gyro.Delta500_Event == 1) CMD_Delta_500Hz(); break;
Kovalev_D 150:29c9f7671bac 85 case 4: if(Gyro.EXT_Latch == 1) CMD_Delta_Ext(); break;
Kovalev_D 150:29c9f7671bac 86 }
Kovalev_D 150:29c9f7671bac 87
Kovalev_D 150:29c9f7671bac 88
Kovalev_D 150:29c9f7671bac 89 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 90 /////////////////////////////////////////////////контуры регулировки///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 91 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 92 if (Spi.ADC_NewData == 1) {ADS_Acum(); } // был приход новых данных по ацп сдесь сделать обработку информации и подготовку для выдачи делается 1 раз за вибро
Kovalev_D 150:29c9f7671bac 93 if (Gyro.ADF_NewData == 1) {Gyro.ADF_NewData = 0; } // был приход новых данных После быстрого фильтра AD
Kovalev_D 150:29c9f7671bac 94 if (Gyro.ADS_NewData == 1) {Gyro.ADS_NewData = 0; PlcRegul(); } // был приход новых данных После Медленного фильтра AD (гдето раз в 38 - 40 секунд )//регулировка периметра.
Kovalev_D 150:29c9f7671bac 95 if (Gyro.VibroFrqRegulF == 1) {Gyro.VibroFrqRegulF = 0; VibroFrqRegul(); } // Регулеровка частоты виброподвеса
Kovalev_D 150:29c9f7671bac 96 if (Gyro.VibroAMPRegulF == 1) {Gyro.VibroAMPRegulF = 0; VibroAMPRegul(); } // Регулеровка Амплитуды виброподвеса
Kovalev_D 150:29c9f7671bac 97 if (Gyro.VibroNoiseF == 1) {Gyro.VibroNoiseF = 0; CalcAmpN(); } // регулеровка ошумления, наверно нужно объеденить с регулеровкой ампитуды
Kovalev_D 150:29c9f7671bac 98 if (Gyro.VibroOutF == 1) {Gyro.VibroOutF = 0; VibroOut(); } // установка ног в регисторе тоже подумать , зачем отделный флаг? наверно
Kovalev_D 150:29c9f7671bac 99
Kovalev_D 150:29c9f7671bac 100
Kovalev_D 150:29c9f7671bac 101
Kovalev_D 150:29c9f7671bac 102 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 103 ////////////////////////////////////////////////////выдача частоты в терминал длля записи лога///////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 104 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 150:29c9f7671bac 105 //////G=1,K=0 в терменале
Kovalev_D 150:29c9f7671bac 106 if((Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1)) //Запись длля Ориджина.
Kovalev_D 139:1716152517aa 107 {
Kovalev_D 143:2b15794a6cd2 108 Gyro.Event_500Hz=0;
Kovalev_D 147:1aed74f19a8f 109 sprintf((Time),"%d \r\n",LPC_TIM1->MR0);
Kovalev_D 147:1aed74f19a8f 110 WriteCon(Time);
Kovalev_D 147:1aed74f19a8f 111 }
Kovalev_D 132:2c7bec5cf6fe 112 /////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 132:2c7bec5cf6fe 113 /////////////////////////Работа с Flash//////////////////////////////////////////////////////////////////
Kovalev_D 132:2c7bec5cf6fe 114 /////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 147:1aed74f19a8f 115 if(Gyro.FlashMod == 1) {GoBoot(); }
Kovalev_D 147:1aed74f19a8f 116 if(Gyro.FlashMod == 2) {WriteFlash(); }
Kovalev_D 147:1aed74f19a8f 117 if(Gyro.FlashMod == 3) {ReadFlash(); }
Kovalev_D 136:19b9e6abb86f 118
Kovalev_D 147:1aed74f19a8f 119 }
Kovalev_D 132:2c7bec5cf6fe 120 }//main
igor_v 0:8ad47e2b6f00 121
igor_v 0:8ad47e2b6f00 122 /******************************************************************************
igor_v 0:8ad47e2b6f00 123 ** End Of File
igor_v 0:8ad47e2b6f00 124 ******************************************************************************/
igor_v 0:8ad47e2b6f00 125
igor_v 0:8ad47e2b6f00 126