fork

Dependencies:   mbed

Fork of LG by igor Apu

Committer:
Kovalev_D
Date:
Fri Apr 29 07:27:50 2016 +0000
Revision:
147:1aed74f19a8f
Parent:
146:2bea299a7c4f
Child:
150:29c9f7671bac
123

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 147:1aed74f19a8f 39 SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 100MHz
Kovalev_D 147:1aed74f19a8f 40 GLD_Init();
igor_v 91:a2bb81eaa183 41
Kovalev_D 134:caf4c9cd5052 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
Diletant 46:2670fa0fcebc 46 IntLatch_Init(); // инициализация внутренней защелки.
Diletant 46:2670fa0fcebc 47 ExtLatch_Init(); // инициализация внешней защелки.
igor_v 21:bc8c1cec3da6 48 LoadFlashParam(FromFLASH); //загрузка параметров.
igor_v 30:17c84ed091b3 49 init_PLC(); //Инициализация СРП(регулировка периметра)
igor_v 30:17c84ed091b3 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);
igor_v 11:af609f6dee46 57
igor_v 127:6a7472d67804 58 Gyro.PLC_Error2Mode = 10; // начальная задержка (неработает СРП)
Kovalev_D 50:0e3d47f18a50 59 while ( 1 ) { //основной цикл.
Kovalev_D 147:1aed74f19a8f 60 G_Photo_Exchange();
Kovalev_D 108:030cdde08314 61 Concol (); // Проврка 0 консоли (вход и выход)
Kovalev_D 93:b3803774f110 62 Concol1 (); // Проврка 0 консоли (вход и выход)
Kovalev_D 99:3d8f206ceac2 63 Read_CMD();
igor_v 3:ed8744c5f67a 64 if (OutBufConCount) OutBufConCount--;
Kovalev_D 108:030cdde08314 65 if (OutBufCon1Count) OutBufCon1Count--;
Kovalev_D 104:ab1cb4ff56b2 66
Kovalev_D 147:1aed74f19a8f 67 TechLog();//технологическая выдача
Kovalev_D 136:19b9e6abb86f 68
Kovalev_D 116:66f1f0ff2dab 69 Event_100KHz();
Kovalev_D 88:b5c1d9d338d1 70 Event_1KHz();
Kovalev_D 124:9ae09249f842 71 Event_500Hz();
Kovalev_D 116:66f1f0ff2dab 72 Event_1Hz();
Kovalev_D 88:b5c1d9d338d1 73 Event_Vibro();
Kovalev_D 124:9ae09249f842 74
Kovalev_D 124:9ae09249f842 75 switch(Gyro.ModeOut) {
Kovalev_D 124:9ae09249f842 76 case 1:
Kovalev_D 147:1aed74f19a8f 77 if(Gyro.Rate1_Event == 1) CMD_Rate();
Kovalev_D 124:9ae09249f842 78 break;
Kovalev_D 124:9ae09249f842 79 case 2:
Kovalev_D 147:1aed74f19a8f 80 if(Gyro.Rate2_Event == 1) CMD_Rate2();
Kovalev_D 147:1aed74f19a8f 81 break;
Kovalev_D 124:9ae09249f842 82 case 3:
Kovalev_D 147:1aed74f19a8f 83 if(Gyro.Delta500_Event == 1) CMD_Delta_500Hz();
Kovalev_D 128:1e4675a36c93 84 break;
Kovalev_D 128:1e4675a36c93 85 case 4:
Kovalev_D 147:1aed74f19a8f 86 if(Gyro.EXT_Latch == 1) CMD_Delta_Ext();
Kovalev_D 128:1e4675a36c93 87 break;
Kovalev_D 124:9ae09249f842 88 }
Kovalev_D 147:1aed74f19a8f 89 if (Spi.ADC_NewData == 1) {ADS_Acum(); } // был приход новых данных по ацп сдесь сделать обработку информации и подготовку для выдачи делается 1 раз за вибро
Kovalev_D 147:1aed74f19a8f 90 if (Gyro.ADF_NewData == 1) {Gyro.ADF_NewData = 0; } // был приход новых данных После быстрого фильтра AD
Kovalev_D 147:1aed74f19a8f 91 if (Gyro.ADS_NewData == 1) {Gyro.ADS_NewData = 0; PlcRegul(); } // был приход новых данных После Медленного фильтра AD
Kovalev_D 147:1aed74f19a8f 92 if (Gyro.VibroFrqRegulF == 1) {Gyro.VibroFrqRegulF = 0; VibroFrqRegul(); } //Регулеровка частоты виброподвеса
Kovalev_D 147:1aed74f19a8f 93 if (Gyro.VibroAMPRegulF == 1) {Gyro.VibroAMPRegulF = 0; VibroAMPRegul(); } //Регулеровка Амплитуды виброподвеса
Kovalev_D 147:1aed74f19a8f 94 if (Gyro.VibroNoiseF == 1) {Gyro.VibroNoiseF = 0; CalcAmpN(); }//регулеровка ошумления, наверно нужно объеденить с регулеровкой ампитуды
Kovalev_D 147:1aed74f19a8f 95 if(Gyro.VibroOutF == 1) {Gyro.VibroOutF = 0; VibroOut(); }// установка ног в регисторе тоже подумать , зачем отделный флаг? наверно
Kovalev_D 147:1aed74f19a8f 96 if( (Gyro.LogHZ == 1)&&(Gyro.Event_500Hz==1))
Kovalev_D 139:1716152517aa 97 {
Kovalev_D 143:2b15794a6cd2 98 Gyro.Event_500Hz=0;
Kovalev_D 147:1aed74f19a8f 99 sprintf((Time),"%d \r\n",LPC_TIM1->MR0);
Kovalev_D 147:1aed74f19a8f 100 WriteCon(Time);
Kovalev_D 147:1aed74f19a8f 101 }
Kovalev_D 132:2c7bec5cf6fe 102 /////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 132:2c7bec5cf6fe 103 /////////////////////////Работа с Flash//////////////////////////////////////////////////////////////////
Kovalev_D 132:2c7bec5cf6fe 104 /////////////////////////////////////////////////////////////////////////////////////////////////////////
Kovalev_D 147:1aed74f19a8f 105 if(Gyro.FlashMod == 1) {GoBoot(); }
Kovalev_D 147:1aed74f19a8f 106 if(Gyro.FlashMod == 2) {WriteFlash(); }
Kovalev_D 147:1aed74f19a8f 107 if(Gyro.FlashMod == 3) {ReadFlash(); }
Kovalev_D 136:19b9e6abb86f 108
Kovalev_D 147:1aed74f19a8f 109 }
Kovalev_D 132:2c7bec5cf6fe 110 }//main
igor_v 0:8ad47e2b6f00 111
igor_v 0:8ad47e2b6f00 112 /******************************************************************************
igor_v 0:8ad47e2b6f00 113 ** End Of File
igor_v 0:8ad47e2b6f00 114 ******************************************************************************/
igor_v 0:8ad47e2b6f00 115
igor_v 0:8ad47e2b6f00 116