Skip to content

Instantly share code, notes, and snippets.

@romasvrd
Created September 16, 2014 12:37
Show Gist options
  • Save romasvrd/851ea3c12bed808d0601 to your computer and use it in GitHub Desktop.
Save romasvrd/851ea3c12bed808d0601 to your computer and use it in GitHub Desktop.
/* Kernel includes. */
#include "FreeRTOS.h"
#include "task.h"
/* UDP demo includes. */
#include "UDPCommandInterpreter.h"
#include "TwoEchoClients.h"
/* FreeRTOS+UDP sockets include */
#include "FreeRTOS_sockets.h"
#include "timers.h"
#include "twi.h"
#include "task.h"
#define RELE_MCP_ADDR 0x32
#define RELE_MCP_GPIOA 0x12
#define RELE_MCP_GPIOB 0x13
uint8_t rele_buffera=0x00;
uint8_t rele_bufferb=0x00;
static twi_packet_t rele_packeta;
static twi_packet_t rele_packetb;
int i=0;
//rele_buffera[0];
char data1[16];
char data2[16];
void adc_timer_isact (void);
//void adc_timer_current (void);
extern uint8_t time_flag;
extern uint32_t logic_dp,logic_emp;
int rele_3_ready_1 (void);
int rele_3_ready_2 (void);
int rele_4_ready_1 (void);
int rele_8_ready_1(void);
int rele_deact(void);
extern TimerHandle_t xTimer_current;
int check_flag=1;
/* Misc. */
#define mainDONT_BLOCK ( 0 )
int rele(int check, int pt)
{
rele_flag=0;
nosendflag=0;
float value_mid;
rele_packeta.addr[0]=RELE_MCP_GPIOA;
rele_packeta.addr_length=1;
rele_packeta.buffer=rele_buffera;
rele_packeta.chip=RELE_MCP_ADDR;
rele_packeta.length=1;
uint8_t rele_bufferb=0x00;
//rele_bufferb[0]=0x00;
rele_packetb.addr[0]=RELE_MCP_GPIOB;
rele_packetb.addr_length=1;
rele_packetb.buffer=rele_bufferb;
rele_packetb.chip=RELE_MCP_ADDR;
rele_packetb.length=1;
int rele_mcp_status=twi_probe(TWI0,RELE_MCP_ADDR);
//if (rele_mcp_status!=TWI_SUCCESS) return 1;
switch(check)
{
case 0: //всякая деактивация и перекоммутация в середине этапа
{
if(pt==91||pt==92||pt==93)
{
//3. Остановка работы синтезатора частоты
return 0;
}
if(pt==51)
{
//активация модуля Амперметр
rele_buffera=0b00001010;
rele_bufferb=0b00001000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
}
if(pt==52)
{
//активация модуля Амперметр
rele_buffera=0b00001010;
rele_bufferb=0b00001010;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
}
if(pt==53)
{
//активация модуля Амперметр
rele_buffera=0b00001011;
rele_bufferb=0b00001110;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
}
if(pt==54)
{
//активация модуля Амперметр
rele_buffera=0b00001011;
rele_bufferb=0b00001100;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
}
if(pt==63)
{
//1.6) Подключение модуля В-DC к Гн5 – Гн14
rele_bufferb=0b00001001;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.7) Активация модуля B-DC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packeta);
}
if(pt==65)
{
//1.5) Деактивация модуля В-DC
rele_buffera=0b00010000;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.6) Подключение модуля В-DC к Гн3 – Гн14
rele_buffera=0b00000000;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.7) Активация модуля В-DC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packeta);
}
if(pt==101||pt==102||pt==112)
{
rele_0();
return 0;
}
if(pt==111)
{
rele_buffera=0b00010000;
rele_bufferb=0b01000000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
return 0;
}
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
nosendflag=1;
return 0;
}
case 2:
{
if(pt==1)
{
//1.1) Установка модуля В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-DC к гнездам Гн1 – Гн14
rele_0();
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-DC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packeta);
return 0;
}
else if (pt==2)
{
//1.1) Установка модуля В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-DC к гнездам Гн1 – Гн14
rele_buffera=0b00000001;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-DC
rele_buffera=0b00000101; //Активация модуля В-DC
twi_master_write(TWI0,&rele_packeta);
return 0;
}
}
case 3:
{
if(pt==1)
{
//1.1) Установка модуля В-АC в режим 2.
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-АС к гнёздам Гн2-Гн14
rele_0();
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-АC i=0;
rele_buffera=0b00000010;
twi_master_write(TWI0,&rele_packeta);
}
else if (pt==2)
{
//1.1) Установка модуля В-АC в режим 1.
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_HIGH);
//1.2) Подключение модуля В-АС к гнёздам Гн2-Гн14
rele_0();
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
//1.3) Активация модуля В-АC
rele_buffera=0b00000010;
twi_master_write(TWI0,&rele_packeta);
}
//1.4) Измерение амплитуды сигнала управления
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
return 0;
//когда напряжение будет измерено, таймер вызовет продолжение проверки (функция ниже)
}
case 4:
{
//1.1) Подключение модуля В-DC в режиме прямого включения к гнездам Гн17 – Гн14
rele_buffera=0b00000001;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
ioport_toggle_pin_level(PIN_RELE1);
//1.2) Активация модуля В-DC
rele_buffera=0b00100001;
twi_master_write(TWI0,&rele_packeta);
//1.3) Измерение значения напряжения управления U1
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
return 0;
}
case 5:
{
switch(pt)
{
case 1:
{
//1.1) Установка модуля В-АC в режим 2.
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-АC к гнездам Гн7 – Гн14
rele_bufferb=0b00001000;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-АC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packeta);
//1.4) Подключение модуля Амперметр к гнездам Гн1 – Гн19
break;
}
case 2:
{
//1.9) Подключение модуля Амперметр к гнездам Гн1-Гн6
rele_buffera=0b00000010;
twi_master_write(TWI0,&rele_packeta);
rele_bufferb=0b00001010;
twi_master_write(TWI0,&rele_packeta);
break;
}
case 3:
{
//1.1) Установка модуля В-АC в режим 2.
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-АC к гнездам Гн8 – Гн14
rele_buffera=0x00;
twi_master_write(TWI0,&rele_packeta);
rele_bufferb=0b00001100;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-АС
rele_buffera=0b00000010;
twi_master_write(TWI0,&rele_packeta);
rele_bufferb=0b00001100;
twi_master_write(TWI0,&rele_packeta);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-АС
rele_buffera=0b00000011;
twi_master_write(TWI0,&rele_packeta);
rele_bufferb=0b00001100;
twi_master_write(TWI0,&rele_packeta);
break;
}
case 4:
{
//1.9) Подключение модуля Амперметр к гнездам Гн4-Гн6
rele_buffera=0b00000011;
twi_master_write(TWI0,&rele_packeta);
rele_bufferb=0b00001110;
twi_master_write(TWI0,&rele_packeta);
break;
}
}
//1.6) Отслеживание появления колебаний на Гн7-Гн14
//1.11) Отслеживание пропадания колебаний на Гн7-Гн14
if( xTimer_current != NULL )
{
xTimerStart( xTimer_current, mainDONT_BLOCK );
/* The callback function that inspects the status of all the other tasks. */
}
return 0;
}
case 6:
{
switch(pt)
{
case 1:
{
//1.1) Установка модуля В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-DC в режиме 1 к гнездам Гн3 – Гн14
rele_bufferb=0b00000001;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-DC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packetb);
//1.4) Установление минимального напряжения на Гн3-Гн14
break;
}
case 2:
{
//1.1) Установка модуля В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.6) Подключение модуля В-DC к гнездам Гн5-Гн14
rele_buffera=0b00001001;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.7) Активация модуля В-DC
rele_bufferb=0b00000100;
twi_master_write(TWI0,&rele_packetb);
//1.8) Установление минимального напряжения на Гн5-Гн14
break;
}
case 3:
{
//1.1) Установка В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-DC к Гн9 – Гн20,
rele_buffera=0b00010000;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-DC
rele_buffera=0b00010100;
twi_master_write(TWI0,&rele_packetb);
//1.4) Отследить появление перепада на Гн9-Гн20, определение Верхнего порога срабатывания БКУ
break;
}
case 4:
{
//1.9) Установить минимальное напряжение на Гн5-Гн14
}
case 5:
{
//1.1) Установка В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-DC к Гн10 – Гн20,
rele_buffera=0b00010000;
rele_bufferb=0b00000001;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.3) Активация модуля В-DC
rele_buffera=0b00010100;
twi_master_write(TWI0,&rele_packetb);
//1.4) Отследить появление перепада на Гн10-Гн20, определение Верхнего порога срабатывания БКУ
break;
}
}
if( xTimer_current != NULL )
{
xTimerStart( xTimer_current, mainDONT_BLOCK );
/* The callback function that inspects the status of all the other tasks. */
}
return 0;
}
case 7:
{
if (pt==1)
{
//1.1) Установка модулей В-АС и В-DC в режим 2.
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_HIGH);
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-АС к гнездам Гн11-Гн20, подключение модуля В-DC к гнездам Гн12-Гн14.
rele_buffera=0b00000000;
rele_bufferb=0b00000010;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
}
if (pt==7)
{
//1.1) Установка модулей В-АС и В-DC в режим 2.
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_HIGH);
ioport_set_pin_level(PIN_RELE2,IOPORT_PIN_LEVEL_LOW);
//1.2) Подключение модуля В-АС к гнездам Гн13-Гн20, подключение модуля В-DC к гнездам Гн12-Гн14.
rele_buffera=0b00000000;
rele_bufferb=0b00000110;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
}
if(pt==1||pt==3||pt==5)
{
//1.3) Активация модулей В-АС и В-DC
rele_buffera=0b01000010;
rele_bufferb=0b00000010;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
}
if(pt==7||pt==9||pt==11)
{
//1.3) Активация модулей В-АС и В-DC
rele_buffera=0b01000010;
rele_bufferb=0b00000110;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
}
if(pt==2||pt==4||pt==6||pt==8||pt==10||pt==12)
{
}
if( xTimer_current != NULL )
{
xTimerStart( xTimer_current, mainDONT_BLOCK );
/* The callback function that inspects the status of all the other tasks. */
}
return 0;
}
case 8:
{
//1.1) Подключение модуля В-DC к гнездам Гн15 – Гн14
rele_0();
//1.2) Активация модуля B-DC
rele_buffera=0b00100000;
twi_master_write(TWI0,&rele_packeta);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
//1.3) Измерить напряжение Uоп+
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
return 0;
}
case 9:
{
int freq_out=0;
//1. Настройка синтезатора частоты
//Форма сигнала: Синусоидальная
//Опорная частота: 10 МГц
if(pt==1) freq_out=1000;
if(pt==2) freq_out=900;
if(pt==3) freq_out=1010;
//2. Запуск генерации частоты
return 0;
}
case 10:
{
//1. Подключение модуля В-DC в режиме прямого включения к гнездам +/-ТОК ЛАМПЫ
rele_0();
//2. Активация модуля В-DC в режиме прямого включения
rele_buffera=0b00100000;
twi_master_write(TWI0,&rele_packeta);
//3. Измерение напряжения на гнездах +/-ТОК ЛАМПЫ
if( xTimer_current != NULL )
{
xTimerStart( xTimer_current, mainDONT_BLOCK );
/* The callback function that inspects the status of all the other tasks. */
}
return 0;
}
case 11:
{
//1. Подключение модуля В-DC в режиме прямого включения к гнездам +/-ТОК НАСОСА
rele_buffera=0b00010000;
rele_bufferb=0b01000000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
//2. Активация модуля В-DC в режиме прямого включения
rele_buffera=0b00110000;
twi_master_write(TWI0,&rele_packeta);
//3. Измерение напряжения на гнездах +/-ТОК НАСОСА
if( xTimer_current != NULL )
{
xTimerStart( xTimer_current, mainDONT_BLOCK );
/* The callback function that inspects the status of all the other tasks. */
}
return 0;
}
case 12:
{
//запуск таймеркаунтера
time_flag=0;
logic_dp=0;
logic_emp=0;
tc_start(TC0,0);
return 0;
}
case 61:
{
if(pt==-1||pt==-2||pt==-3||pt==-4)
{
//1) Установка модуля В-DC в режим 1
ioport_set_pin_level(PIN_RELE1,IOPORT_PIN_LEVEL_LOW);
//2) Подключение модуля В-DC в режиме 1 к гнездам ТО-СрТ
rele_0();
//3) Активация модуля В-DC
rele_buffera=0b00000100;
twi_master_write(TWI0,&rele_packeta);
//4) Замер напряжения и вывод результата на экран
}
if(pt==-5||pt==-6||pt==-7||pt==-8)
{
//1) Подключение модуля В-DC в режиме прямого включения к гнездам ТО-СрТ
rele_buffera=0b00000001;
twi_master_write(TWI0,&rele_packeta);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
//2) Активация модуля В-DC
rele_buffera=0b00100001;
twi_master_write(TWI0,&rele_packeta);
}
if(pt==-9||pt==-10||pt==-11||pt==-12)
{
//1) Подключение модуля В-DC в режиме прямого включения к гнездам ТО-СрТ
rele_buffera=0b00000001;
rele_bufferb=0b01000000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
//2) Активация модуля В-DC
rele_buffera=0b00100001;
twi_master_write(TWI0,&rele_packeta);
}
adc_id=1;
adc_timer();
return 0;
}
case 91:
{
// Определение частоты мигания индикатора ГЕН.
return 0;
}
case 100:
{
if(pt==1)
{
//1) Сброс регистров управления в начальное состояние
rele_0();
//2) Соединение ТО-ДУ
rele_bufferb=0b00100000;
twi_master_write(TWI0,&rele_packetb);
}
if(pt==2)
{
//1) Сброс регистров управления в начальное состояние
rele_0();
}
return 0;
}
}
}
int rele_0 (void)
{
rele_buffera=0x00;
rele_bufferb=0x00;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
return 0;
}
void adc_timer_current(void)
{
adc_id=1;
adc_read();
}
int rele_3_ready_1 (void)
{
//1.5) Деактивация модуля В-АС
rele_0();
//отправляем инфу о напряжении
FreeRTOS_sendto( xxxSocket, "voltage\r\n", strlen("voltage\r\n"), 0, &xClient2, xClientAddressLength );
sprintf (data1,"%d.%d\r\n",1, 3);//value_int,value_res
FreeRTOS_sendto( xxxSocket, data1, strlen(data1), 0, &xClient2, xClientAddressLength );
//1.6) Установка модуля Частотомер в режим 2
if(pt==1)ioport_set_pin_level(PIN_RELE3,IOPORT_PIN_LEVEL_LOW);
if(pt==2)ioport_set_pin_level(PIN_RELE3,IOPORT_PIN_LEVEL_HIGH);
//1.7) Активация модуля частотомер
rele_bufferb=0b00010000;
twi_master_write(TWI0,&rele_packetb);
//1.8) Измерение частоты
tc_enum=0;
tc1sec();
return 0;
}
int rele_3_ready_2 (void)
{
//отправляем инфу о частоте
FreeRTOS_sendto( xxxSocket, "frequency\r\n", strlen("frequency\r\n"), 0, &xClient2, xClientAddressLength );
sprintf (data2,"%d.%d\r\n",4, 5);//value_int,value_res
FreeRTOS_sendto( xxxSocket, data2, strlen(data2), 0, &xClient2, xClientAddressLength );
//1.9) Деактивация модуля Частотомера
rele_0();
memset(data1,NULL,strlen(data1));
memset(data2,NULL,strlen(data2));
return 0;
}
int rele_4_ready_1 (void)
{
if(rele_flag==0)
{
sprintf (data1,"%d.%d\r\n",value_int, value_res);
FreeRTOS_sendto( xxxSocket, "u1\r\n", strlen("u1\r\n"), 0, &xClient2, xClientAddressLength );
FreeRTOS_sendto( xxxSocket, data1, strlen(data1), 0, &xClient2, xClientAddressLength );
//1.4) Деактивация модуля В-DC
rele_buffera=0b00000001;
twi_master_write(TWI0,&rele_packeta);
//1.5) Подключение модуля В-DC к гнездам Гн18 – Гн14
rele_bufferb=0b01000000;
twi_master_write(TWI0,&rele_packetb);
//задержка ~10мс, для правильного переключения реле
for (i;i<5000;i++)
{
};
i=0;
//1.7) Активация модуля В-DC
rele_buffera=0b00100001;
twi_master_write(TWI0,&rele_packetb);
//1.8) Измерение значения напряжения управления U2
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
rele_flag=1;
}
else
{
sprintf (data2,"%d.%d\r\n",value_int, value_res);
FreeRTOS_sendto( xxxSocket, "u2\r\n", strlen("u2\r\n"), 0, &xClient2, xClientAddressLength );
FreeRTOS_sendto( xxxSocket, data2, strlen(data2), 0, &xClient2, xClientAddressLength );
//1.8) Деактивация модуля В-DC
rele_0();
rele_flag=0;
}
return 0;
}
int rele_8_ready_1(void)
{
if(rele_flag==0)
{
sprintf (data1,"%d.%d\r\n",value_int, value_res);
FreeRTOS_sendto( xxxSocket, "u1\r\n", strlen("u1\r\n"), 0, &xClient2, xClientAddressLength );
FreeRTOS_sendto( xxxSocket, data1, strlen(data1), 0, &xClient2, xClientAddressLength );
//1.5) Деактивация модуля В-DC
rele_0;
//1.6) Подключение модуля В-DC к гнездам Гн16-Гн14
rele_bufferb=0b01000000;
twi_master_write(TWI0,&rele_packetb);
for (i;i<5000;i++) //задержка ~10мс, для правильного переключения реле
{
};
i=0;
//1.7) Активация модуля В-DC
rele_buffera=0b00100000;
twi_master_write(TWI0,&rele_packeta);
//1.8) Измерить напряжение Uоп-
adc_id=1;//каким ацп будем мерять
adc_timer();//меряем напряжение
rele_flag=1;
}
else
{
sprintf (data2,"%d.%d\r\n",value_int+3, value_res+24);
FreeRTOS_sendto( xxxSocket, "u2\r\n", strlen("u2\r\n"), 0, &xClient2, xClientAddressLength );
FreeRTOS_sendto( xxxSocket, data2, strlen(data2), 0, &xClient2, xClientAddressLength );
rele_0();//1.9) Деактивация модуля В-DC
rele_flag=0;
return 0;
}
}
//всякая деактивация
int rele_deact (void)
{
if(pt==51)
{
//1.8) Деактивация модуля Амперметр
rele_buffera=0b00000010;
rele_bufferb=0b00001000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto( xxxSocket, "rele switched\r\n", strlen("rele switched\r\n"), 0, &xClient2, xClientAddressLength );
}
if(pt==52)
{
//1.8) Деактивация модуля Амперметр
rele_buffera=0b00000000;
rele_bufferb=0b00001000;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto( xxxSocket, "rele switched\r\n", strlen("rele switched\r\n"), 0, &xClient2, xClientAddressLength );
}
if(pt==53)
{
//1.8) Деактивация модуля Амперметр
rele_buffera=0b00000011;
rele_bufferb=0b00001100;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto( xxxSocket, "rele switched\r\n", strlen("rele switched\r\n"), 0, &xClient2, xClientAddressLength );
}
if(pt==54)
{
//1.8) Деактивация модуля Амперметр
rele_0();
FreeRTOS_sendto( xxxSocket, "rele switched\r\n", strlen("rele switched\r\n"), 0, &xClient2, xClientAddressLength );
}
if(pt==61)
{
//1.5) Деактивация модуля В-DC
rele_buffera=0b00000000;
rele_bufferb=0b00000001;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto( xxxSocket, "rele switched\r\n", strlen("rele switched\r\n"), 0, &xClient2, xClientAddressLength );
}
if(pt==62)
{
//1.9) Деактивация модуля В-DC
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
}
if(pt==63)
{
//1.5) Деактивация модуля В-DC
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
}
if(pt==64)
{
//1.6) Деактивация модуля В-DC
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
}
if (pt==65)
{
//1.9) Деактивация модуля В-DC
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
}
if(pt==71||pt==73||pt==75||pt==77||pt==79||pt==81)
{
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
}
if(pt==72||pt==74)
{
rele_buffera=0b00000000;
rele_bufferb=0b00000010;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
return 0;
}
if (pt==78||pt==80)
{
rele_buffera=0b00000000;
rele_bufferb=0b00000110;
twi_master_write(TWI0,&rele_packeta);
twi_master_write(TWI0,&rele_packetb);
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
return 0;
}
if(pt==76||pt==82)
{
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
return 0;
}
if(pt==-1||pt==-2||pt==-3||pt==-4)
{
rele_0();
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
return 0;
}
if(pt==-5||pt==-6||pt==-7||pt==-8||pt==-9||pt==-10||pt==-11||pt==-12)
{
rele_buffera=0b00000001;
twi_master_write(TWI0,&rele_buffera);
FreeRTOS_sendto(xxxSocket,"rele switched\r\n",strlen("rele switched\r\n"),0,&xClient2,xClientAddressLength);
return 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment