optical/NxFuncs/controlbus/corecontrol.h
2025-09-04 09:45:08 +08:00

42 lines
1012 B
C

#ifndef __CORECONTROL_H__
#define __CORECONTROL_H__
#include "controlbus.h"
#define CORE_STA_BUF_LEN 8
#define CORE_CHG_BUF_LEN 8
typedef struct
{
u32 staexid;
u32 cmdexid;
// 状态
int refreshflag; // 刷新标志
void (*ReSendStatus)(int); // 刷新状态函数
int stachangeflag; // 状态变化标志,如果是本板,如果本板状态改变,设置这个标志,会输出状态到总线。如果是其他板子,保存更新标志
u32 stabuff[CORE_STA_BUF_LEN]; // 状态缓冲区,如果是本板,那么这个缓冲区保存本板状态,输出给其他板子。如果是其他板子,存放读取到的其他板子的状态。
// 命令
int newcmdflag; // 新命令标志,如果是本板,如果有其他板子发来的新命令,设置这个标志。如果是其他板子,设置这个标志,需要启动命令输出
u32 cmdbuff[CORE_CHG_BUF_LEN]; // 命令缓冲区,如果是本板,这个缓冲区保存其他板子发来的命令。如果是其他板子,本板向这个区域写入命令并发送。
}CoreControl;
//------------------------------------------------
//------------------------------------------------
void InitCoreControl(CoreControl * pCtrl);
#endif