#ifndef __OSP_TIMER_H__ #define __OSP_TIMER_H__ #include "osp_type_def.h" #include "stc_timer.h" #define OSP_TIMER_TASK_MAX (20) //(64) /* IM优化,单核最多定时点任务个数:20个 */ #define OSP_TIMER_COUNTS (OSP_TIMER_TASK_MAX -1) #define OSP_TMR_POINT_MAX (TDD_TMR_POINT_MAX) /* 静态定时点注册信息结构体 */ 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[OSP_TIMER_TASK_MAX]; /* OSP侧任务模块注册定时点任务时,需要记录 */ extern void osp_timer_init(void); /* 初始化 */ extern void osp_timer_sync(int scsId); /* 定时点任务设置完毕,启动 */ extern void osp_timer_unsync(int scsId); /* 删除定时点任务配置信息和设置,删除任务 */ extern void osp_timer_unsync_notask(int scs_id); /* 只清空定时点配置信息和设备,未删除任务 */ extern void osp_timer_call_task(); /* 顺序触发定时点任务 */ extern void osp_timer_call_task_spe(uint8_t u8slot, uint8_t u8taskidx); /* 指定触发某定时点任务 */ extern void osp_register_task_group_show(void); #endif /* __OSP_TIMER_H__ */