You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <stddef.h>
#include <stdio.h>
//
#include "base_service/base_service.h"
#include "base_service/fpga_if.h"
#include "service/device_info.hpp"
#include "service/extern_if_service.h"
#include "service/network_service.h"
#include "service/reg_manager.h"
#include "service/report_generator_service.h"
//
#define TAG "main"
using namespace std;
extern void umain(); extern "C" { extern void MX_LWIP_Init(void); void StartDefaultTask(void const* argument) { umain(); } } /*******************************************************************************
* MAIN * *******************************************************************************/
/**
* @brief * | extern_if_service | * ======================================== * | reg_manager | * config_service ======================================== * | report_generator | device_info | * =================== ============== * | fpage_if | * ======================================== * */
xs_gpio_t m_debug_led; extern "C" { void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { report_generator_service_irq_trigger(GPIO_Pin); } }
void umain() { XS_LOGI(TAG, "%s:%d", PC_PROJECT_NAME, PC_VERSION); /**
* @brief ����ָʾ�Ƴ�ʼ�� */ xs_gpio_init_as_output(&m_debug_led, PC_DEBUG_LIGHT_GPIO, kxs_gpio_nopull, false, false); /**
* @brief ���ó�ʼ�� */ config_init(); /**
* @brief ��ʼ���������� */ network_service_init(); /**
* @brief fpga_interface init */ fpga_if_init(); /**
* @brief report_generator init */ report_generator_service_init(fpga_if_get_instance()->timecode_irq_pin, fpga_if_get_instance()->camera_sync_code_irq_pin); /**
* @brief device_info init */ device_info_init(); /**
* @brief reg_manager init */ reg_manager_init(); /**
* @brief extern_if_service init * * �����������ⲿָ�� */ extern_if_service_init();
while (true) { xs_gpio_write(&m_debug_led, true); xs_delay_ms(100); xs_gpio_write(&m_debug_led, false); xs_delay_ms(100); } }
|