123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- #include "init_task.h"
- #include "common_config.h"
- #include "wdg.h"
- #include "usart.h"
- #include "led.h"
- #include "rng.h"
- #include "buttons.h"
- #include "jumper.h"
- #include "rtc.h"
- #include "log.h"
- #include "stm32f4x7_eth_bsp.h"
- #include "netconf.h"
- #include "udp_netsetting.h"
- #include "snmp_api.h"
- #ifdef CLI_ENABLE
- #include "cli.h"
- #endif
- #ifdef TELNET_ENABLE
- #include "telnet_server.h"
- #endif
- #ifdef SSH_ENABLE
- #include "server.h"
- #endif
- #ifdef HTTP_SERVER_ENABLE
- #include "http_server.h"
- #endif
- #ifdef SSL_SERVER_ENABLE
- #include "my_ssl_server.h"
- #endif
- #ifdef PORTGW_ENABLE
- #include "portgw.h"
- #endif
- #ifdef DALLAS_SENSOR_ENABLE
- #include "temper.h"
- #endif
- #ifdef AM2301_SENSOR_ENABLE
- #include "AM2301.h"
- #endif
- #include "stm32_temperature.h"
- #include "sntp_api.h"
- #include "settings_api.h"
- #include "main.h"
- #include "trap_api.h"
- #include "megatec.h"
- #include "testing.h"
- #include "ups_monitor.h"
- #include "lwip/stats.h"
- #ifdef PRINTF_STDLIB
- #include <stdio.h>
- #endif
- #ifdef PRINTF_CUSTOM
- #include "tinystdio.h"
- #endif
- #include "syslog.h"
- #include "FreeRTOS.h"
- #include "task.h"
- extern bool dhcp;
- #define DBG if (0)
- extern SETTINGS_t sSettings;
- #ifdef DEBUG_FREERTOS
- static void vTaskDebug(void *pvParameters);
- #endif
- TaskHandle_t xHandleSntpOnceSinhro = NULL;
- void InitTask(void *params)
- {
- InitUSART();
- log_init(false);
- ups_megatec_init();
-
-
-
-
- SETTINGS_Load();
-
- if (set_mode_jumper()) {
- SETTINGS_SetServiceDef();
- SETTINGS_Save();
- log_event_data(LOG_PSW_CHANGE, "Сброс к заводскому");
- }
- #ifdef HARDWARE_BT6703
- check_outputs_config();
- #endif
- #ifdef USART_DEBUG_ENABLE
-
- #endif
- #ifdef LED_ENABLE
- LED_Init();
-
- xTaskCreate(vTaskLedBlink, "LED_Blink", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
- #endif
- #ifdef BUTTON_ENABLE
- BUTTON_Init();
- xTaskCreate(vTaskButtons, "Buttons", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
- #endif
- #ifdef RTC_ENABLE
- TM_RTC_Init(TM_RTC_ClockSource_External);
- #endif
- #ifdef UPS_ENABLE
- xTaskCreate(UPS_Monitor, "UPS_Monitor", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
- #endif
- #ifdef DALLAS_SENSOR_ENABLE
- OW_Init();
- #endif
- #ifdef AM2301_SENSOR_ENABLE
- DHT_Task_Init();
- #endif
- RNG_Init();
- stm32_temperature_init();
- #ifdef NET_ENABLE
- ETH_BSP_Config();
- LwIP_Init();
- #ifdef HTTP_SERVER_ENABLE
- HTTP_Init();
- #endif
- #ifdef SSL_SERVER_ENABLE
- HTTP_Init();
- HTTPS_Init();
-
- xTaskCreate(ssl_server, "SSL", 24 * configMINIMAL_STACK_SIZE, NULL, SSL_TASK_PRIO, NULL);
- #endif
- if (strncmp(sSettings.sFlags.testState, "T2OK", 4)) {
- xTaskCreate(vTaskTesting, "Testing", 2 * configMINIMAL_STACK_SIZE,
- NULL, tskIDLE_PRIORITY, NULL);
- } else {
- UDP_netsetting_init();
- }
- #ifdef CLI_ENABLE
- cli_init();
- #endif
- #if defined TELNET_ENABLE
- telnet_server_init();
- #ifdef SSH_ENABLE
- ssh_server_init();
- #endif
- openlog();
- #endif
-
- SNTP_Init();
- xTaskCreate(vTaskOnceSynchro, "sntpOnceSinhro", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY,
- &xHandleSntpOnceSinhro);
- xTaskCreate(vTaskPeriodicSynchro, "sntpPeriodicSinhro", 2*configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
- #ifdef SNMP_ENABLE
- SNMP_Init();
- xTaskCreate(snmp_trap_tread, "snmpTrapTest", 4 * configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL);
- #endif
- #endif
- #ifdef PORTGW_ENABLE
- portgw_init();
- #endif
-
- #ifdef DEBUG_FREERTOS
- xTaskCreate(vTaskDebug, "Debug", 800, NULL, tskIDLE_PRIORITY, NULL);
- #endif
- log_event_data(LOG_TURN_ON, " ");
-
-
- vTaskDelay(4000);
- SETTINGS_ResetBootTry();
-
-
- vTaskDelete(NULL);
- taskYIELD();
- }
- #ifdef DEBUG_FREERTOS
- static void vTaskDebug(void *pvParameters)
- {
- char msg[700];
- for (;;) {
- DBG printf("Free memory %d\n\r\r\n", xPortGetFreeHeapSize());
- DBG vTaskList(msg);
- DBG printf(msg);
- DBG printf("\n\r\r\n");
- #if LWIP_STATS
- stats_display();
- DBG printf("\r\n\r\n");
- #endif
- vTaskDelay(5000);
- }
- }
- #endif
|