148 lines
2.2 KiB
C
148 lines
2.2 KiB
C
|
|
|
|||
|
|
#include "apptasks.h"
|
|||
|
|
|
|||
|
|
#if (CUR_CORE_BOARD == CORE_BOARD_APP)
|
|||
|
|
|
|||
|
|
#include "inout.h"
|
|||
|
|
#include "trigger.h"
|
|||
|
|
#include "shell.h"
|
|||
|
|
#include "fram.h"
|
|||
|
|
#include "buttons.h"
|
|||
|
|
#include "embfpga.h"
|
|||
|
|
#include "extendboards.h"
|
|||
|
|
#include "operator.h"
|
|||
|
|
#include "paras.h"
|
|||
|
|
#include "corefmc.h"
|
|||
|
|
#include "workctrl.h"
|
|||
|
|
#include "error.h"
|
|||
|
|
#include "encrypt.h"
|
|||
|
|
|
|||
|
|
void TaskPreMainLoop(void);
|
|||
|
|
|
|||
|
|
void AppMainTask(void)
|
|||
|
|
{
|
|||
|
|
SetDefaultOut();
|
|||
|
|
|
|||
|
|
InitTrigger(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
InitShell(); // <20><>ʼ<EFBFBD><CABC>Shell<6C><6C><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
InitFram();
|
|||
|
|
|
|||
|
|
InitButtonCtrl(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ť<EFBFBD><C5A5><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
InitEmbFpga();
|
|||
|
|
|
|||
|
|
InitDatFiles(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|||
|
|
|
|||
|
|
InitMotos(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
InitExtendBoards(); // <20><>ʼ<EFBFBD><CABC>CAN<41><4E>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>CAN<41><4E><EFBFBD><EFBFBD><EFBFBD>ϵİ忨
|
|||
|
|
|
|||
|
|
InitOperator(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
InitParas(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
printf("\r\n================== Application ==================\r\n");
|
|||
|
|
|
|||
|
|
InitCoreFmc();
|
|||
|
|
|
|||
|
|
InitWorkCtrl(); // <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
TaskPreMainLoop(); // һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
do
|
|||
|
|
{
|
|||
|
|
TriggerTask(); //
|
|||
|
|
|
|||
|
|
ShellTask(); //
|
|||
|
|
|
|||
|
|
ExtendBoardTask();
|
|||
|
|
|
|||
|
|
ButtonsTask();
|
|||
|
|
|
|||
|
|
WorkCtrlTask();
|
|||
|
|
|
|||
|
|
OperatorTask();
|
|||
|
|
|
|||
|
|
#if (0) // <20><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
static u32 timer = 0;
|
|||
|
|
static u32 temp;
|
|||
|
|
static int runcount = 0;
|
|||
|
|
|
|||
|
|
runcount++;
|
|||
|
|
|
|||
|
|
temp = GetMsSoftTimer();
|
|||
|
|
if (temp - timer >= 1000)
|
|||
|
|
{
|
|||
|
|
timer = temp;
|
|||
|
|
printf("run circle = %d/s\r\n", runcount);
|
|||
|
|
runcount = 0;
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
}while(1);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void TaskPreMainLoop(void)
|
|||
|
|
{
|
|||
|
|
int err;
|
|||
|
|
u16 ver;
|
|||
|
|
|
|||
|
|
AddTriggerToList(500, SetLedToggle, NULL); // 500ms <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
SetNewParasFlag(PARA_VALID);
|
|||
|
|
RefreshParas(PARA_VALID);
|
|||
|
|
|
|||
|
|
RegDelayFun(DelayRef);
|
|||
|
|
|
|||
|
|
CheckEncrypt(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.....
|
|||
|
|
|
|||
|
|
do
|
|||
|
|
{
|
|||
|
|
TriggerTask();
|
|||
|
|
|
|||
|
|
ShellTask();
|
|||
|
|
|
|||
|
|
ExtendBoardTask();
|
|||
|
|
|
|||
|
|
OperatorTask();
|
|||
|
|
|
|||
|
|
WorkCtrlTask();
|
|||
|
|
|
|||
|
|
}while(0);
|
|||
|
|
|
|||
|
|
ver = GetFpgaHardVersion(); // <20><>ȡӲ<C8A1><D3B2><EFBFBD>汾<EFBFBD><E6B1BE>Ϣ
|
|||
|
|
|
|||
|
|
if (((ver&0xff00)>>8) != FPGA_EMB_VER)
|
|||
|
|
{
|
|||
|
|
err = ERR_FPGA_HARD_ERR;
|
|||
|
|
ReportError(err);
|
|||
|
|
printf("fpga hard ver error\r\n");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
ver = GetFpgaSoftVersion(); // <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><E6B1BE>Ϣ
|
|||
|
|
|
|||
|
|
if (ver == 0)
|
|||
|
|
{
|
|||
|
|
err = ERR_FPGA_ERR;
|
|||
|
|
ReportError(err);
|
|||
|
|
printf("fpga soft ver error\r\n");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (WaitAllButtonUp() != 0) // <20>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD>̧<EFBFBD><CCA7>
|
|||
|
|
{
|
|||
|
|
err = ERR_BUTTON_NOUP; // <20>ȴ<EFBFBD><C8B4><EFBFBD>ţ̌<C5A5><CCA7><EFBFBD><EFBFBD>ʱ
|
|||
|
|
ReportError(err);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
CleanButtonTask(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
CheckSensorAndPos(); // <20><><EFBFBD><EFBFBD><E2B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
|
|
|||
|
|
printf("PreMainLoop over\r\n");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif
|