52 lines
1.7 KiB
C
52 lines
1.7 KiB
C
![]() |
#ifndef __OSP_TIMER_H__
|
|||
|
#define __OSP_TIMER_H__
|
|||
|
|
|||
|
#include "osp_type_def.h"
|
|||
|
#include "stc_timer.h"
|
|||
|
|
|||
|
#define OSP_TIMER_TASK_MAX (64)
|
|||
|
#define OSP_TIMER_COUNTS (OSP_TIMER_TASK_MAX -1)
|
|||
|
#define OSP_TMR_POINT_MAX TDD_TMR_POINT_MAX
|
|||
|
|
|||
|
extern void stc_timer_set_tmrpoint(stStcTimerPoint *pTmrPoint);
|
|||
|
|
|||
|
/* 静态定时点注册信息结构体 */
|
|||
|
typedef struct osp_timer_cfg_inf_st{
|
|||
|
uint32_t apeid_bitmap;
|
|||
|
uint32_t task_id;
|
|||
|
char* task_name;
|
|||
|
uint32_t slot_bitmap;
|
|||
|
uint32_t t_offset;
|
|||
|
}osp_timer_cfg_inf;
|
|||
|
|
|||
|
typedef struct osp_offset_timer_st{
|
|||
|
char cnt;
|
|||
|
}osp_offset_timer;
|
|||
|
|
|||
|
/* 定时点与定时任务描述结构体 */
|
|||
|
typedef struct osp_timer_desc_st{
|
|||
|
uint32_t task_id;
|
|||
|
uint32_t slot_bitmap;
|
|||
|
uint32_t t_offset;
|
|||
|
}osp_timer_desc;
|
|||
|
|
|||
|
/* 定时点偏移与任务ID结构体 */
|
|||
|
typedef struct osp_id_timer_st{
|
|||
|
short t_offset;
|
|||
|
char task_id;
|
|||
|
}osp_id_timer_t;
|
|||
|
|
|||
|
extern int g_osp_timer_desc_idx; /* OSP侧任务模块注册定时点任务时,需要记录 */
|
|||
|
extern osp_timer_desc g_osp_timer_desc[64]; /* OSP侧任务模块注册定时点任务时,需要记录 */
|
|||
|
|
|||
|
extern void osp_timer_init(void); /* 初始化 */
|
|||
|
extern void osp_timer_sync(int scsId);/* 定时点任务设置完毕,启动 */
|
|||
|
extern void osp_timer_clear_task(); /* 清除所有定时点任务 */
|
|||
|
extern void osp_timer_clear_stctimer(); /* 清除STC timer的设置 */
|
|||
|
extern void osp_timer_call_task(); /* 顺序触发定时点任务 */
|
|||
|
//extern void osp_timer_restart(void); /* 定时点任务从首位开始 */
|
|||
|
extern void osp_timer_call_task_spe(uint8_t u8slot, uint8_t u8taskidx); /* 指定触发某定时点任务 */
|
|||
|
|
|||
|
#endif
|
|||
|
|