107 lines
2.6 KiB
C
107 lines
2.6 KiB
C
|
|
|
|||
|
|
#ifndef __EXTIOCONTROL_H__
|
|||
|
|
#define __EXTIOCONTROL_H__
|
|||
|
|
|
|||
|
|
#include "controlbus.h"
|
|||
|
|
|
|||
|
|
#if (CONTROL_BUS == COMM_CAN)
|
|||
|
|
/*
|
|||
|
|
IO<EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
u8 nodeId; // <20>ڵ<EFBFBD>ID
|
|||
|
|
|
|||
|
|
CtrlBusPacket ctrlCmd; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
CtrlBusPacket exbSta; // <20><>Χ<EFBFBD>巵<EFBFBD>ص<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
BoardRegVal regVal; // <20><>Χ<EFBFBD><CEA7><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ֵ
|
|||
|
|
CtrlBusPacket rdReg; // <20><>ȡ<EFBFBD><C8A1>Χ<EFBFBD><CEA7><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ֵ
|
|||
|
|
|
|||
|
|
u8 cmdFlag; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ N5--<2D><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
u8 staFlag; // <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC>־ N5--<2D><><EFBFBD><EFBFBD>BN_CMD_EXSTA
|
|||
|
|
u8 refSta; // ˢ<><CBA2>״̬<D7B4><CCAC>־ N5--<2D><><EFBFBD><EFBFBD>BN_CMD_EXSTA
|
|||
|
|
|
|||
|
|
u8 refVer;
|
|||
|
|
u8 verFlag;
|
|||
|
|
|
|||
|
|
u8 transFlag; // <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>־ <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u8 exbupdateFlag; // <20><>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
|
|
|||
|
|
}ExtIOControl;
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
typedef union
|
|||
|
|
{
|
|||
|
|
u8 buff[CAN_DATA_LEN];
|
|||
|
|
|
|||
|
|
struct
|
|||
|
|
{
|
|||
|
|
u16 cmd;
|
|||
|
|
u8 subcmd;
|
|||
|
|
u16 outctrl;
|
|||
|
|
u8 para[3];
|
|||
|
|
} __attribute__ ((packed)) extIOCtrl; // IO<49><4F>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
struct
|
|||
|
|
{
|
|||
|
|
u16 inputSta;
|
|||
|
|
u8 rev[6];
|
|||
|
|
} __attribute__ ((packed)) extIOSta; // ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
}ExtIOCommand;
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6A8>
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
#define CTRL_CMD_EMB_HEAD_CTRL 0x1000 // ƽ<><C6BD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_EMB_HEAD_PARA 0x1001 // ƽ<><C6BD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_HEAD_NVPARA 0x1002 // ƽ<><C6BD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ʧ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
#define CTRL_CMD_CHENILLE_HEAD_CTRL 0x1010 // ë<><C3AB><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_CHENILLE_HEAD_PARA 0x1011 // ë<><C3AB><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_CHENILLE_NVPARA 0x1012 // ë<><C3AB><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ʧ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
#define CTRL_CMD_COIL_HEAD_CTRL 0x1020 // <20><><EFBFBD>ƻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_COIL_HEAD_PARA 0x1021 // <20><><EFBFBD>ƻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_COIL_NVPARA 0x1022 // <20><><EFBFBD>ƻ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ʧ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
/*
|
|||
|
|
#define CTRL_CMD_COLOR_CTRL 0x1100 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_COLOR_PARA 0x1101 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
#define CTRL_CMD_COLOR_NVPARA 0x1102 // <20><><EFBFBD><EFBFBD>ʧ<EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#define CTRL_CMD_EXTIO_CTRL 0x1200 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
// <20>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB6A8>
|
|||
|
|
#define CTRL_SUBCMD_OUT_ON 0x01
|
|||
|
|
#define CTRL_SUBCMD_OUT_OFF 0x02
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
void InitExtIOControl(ExtIOControl * pCtrl);
|
|||
|
|
|
|||
|
|
void SendExtIOCommand(ExtIOControl * pCtrl, ExtIOCommand * pCmd);
|
|||
|
|
|
|||
|
|
void RequestExtIOStatus(ExtIOControl * pCtrl);
|
|||
|
|
|
|||
|
|
void RequestExtIOVersion(ExtIOControl * pCtrl);
|
|||
|
|
|
|||
|
|
//-------------------------------------------------------------------------------
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
#endif
|