#include "gpio.h" #include "lampa.h" #include "struc.h" #include "message.h" #include "package.h" void ReadEnteres(void) { WORDE input; input.bit.bit0 = !IN_06; // Контроль ИП1 (питание управляющего контроллера) input.bit.bit1 = !IN_05; // Контроль ИП2 (питание периферийных устройств) input.bit.bit2 = !IN_04; // Контроль ИП3 (питание эл. замков, ламп освещения, УКСИ) input.bit.bit3 = !IN_03; // Контроль ИП4 (питание датчиков тока и напряжения +) input.bit.bit4 = !IN_02; // Контроль ИП5 (питание датчиков тока и напряжения –) input.bit.bit5 = !IN_01; // Контроль ИП6 (питание драйверов) input.bit.bit6 = !IN_07; // Контроль 3х фазного 380 В input.bit.bit7 = !IN_08; // Заряд накопителя input.bit.bit8 = !IN_09; // Разряд накопителя input.bit.bit9 = IN_10; // Авария в сети 24 В input.bit.bitD = (Squazh_U[3] > Squazh_L[3]); input.bit.bitC = (Squazh_U[2] > Squazh_L[2]); input.bit.bitB = (Squazh_U[1] > Squazh_L[1]); input.bit.bitA = (Squazh_U[0] > Squazh_L[0]); /* input.bit.bitA = !IN_11; // Контроль питания ЛСУ input.bit.bitB = !IN_12; // Контроль питания СВО input.bit.bitC = !IN_13; // резерв input.bit.bitD = !IN_14; // Контроль питания СКК */ Inputs.all = input.all; Alarms.all = ~Inputs.all & Alarm_mask.all; Alarms.bit.bit7 = 0; // Заряд накопителя Alarms.bit.bit8 = Inputs.bit.bit8; // Разряд накопителя Alarms.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В Errors.all = ~Inputs.all & Error_mask.all; Errors.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В } uint16_t ReadJumpers(void) { WORDE input; input.all = 0; input.bit.bit0 = !J0; input.bit.bit1 = !J1; input.bit.bit2 = !J2; input.bit.bit3 = !J3; return input.all; } uint16_t TestJumper(void) { return !Jselect; } void ReadSeanus(void) { static uint32_t cownt=0; static uint32_t sum_u[4]={0,0,0,0}; // static float flt_u[4]={0,0,0,0}; uint8_t i; sum_u[0] += !IN_11; sum_u[1] += !IN_12; sum_u[2] += !IN_13; sum_u[3] += !IN_14; if(++cownt>=10000) { cownt=0; for(i=0;i<4;i++) { // flt_u[i] +=((float)sum_u[i]-flt_u[i])/10+1; Squazh_U[i]=sum_u[i]/100; sum_u[i] = 0; } } }