Subversion Repositories NaviCtrl

Compare Revisions

Ignore whitespace Rev 237 → Rev 238

/tags/V0_20c/mkprotocol.h
0,0 → 1,38
#ifndef _MKPROTOCOL_H
#define _MKPROTOCOL_H
 
// slave addresses
#define ANY_ADDRESS 0
#define FC_ADDRESS 1
#define NC_ADDRESS 2
#define MK3MAG_ADDRESS 3
#define MKOSD_ADDRESS 4
#define BL_ADDRESS 5
 
typedef struct
{
u8* pData;
u16 Size;
u16 DataBytes;
u16 Position;
u8 Locked;
} __attribute__((packed)) Buffer_t;
 
extern void Buffer_Init(Buffer_t* pBuffer, u8* pDataBuffer, u16 DataBufferSize);
extern void Buffer_Clear(Buffer_t* pBuffer);
extern u8 Buffer_Copy(Buffer_t* pSrcBuffer, Buffer_t* pDstBuffer);
 
typedef struct
{
u8 Address;
u8 CmdID;
u8* pData;
u16 DataLen;
} __attribute__((packed)) SerialMsg_t;
 
extern u8 MKProtocol_CollectSerialFrame(Buffer_t* pRxBuff, u8 c);
extern void MKProtocol_CreateSerialFrame(Buffer_t* pTxBuff, u8 CmdID, u8 Address, u8 numofbuffers , ...); //u8 *data, u8 len, ....;
extern void MKProtocol_DecodeSerialFrameHeader(Buffer_t* pRxBuff, SerialMsg_t* pSerialMsg);
extern void MKProtocol_DecodeSerialFrameData(Buffer_t* pRxBuff, SerialMsg_t* pSerialMsg);
 
#endif // _MKPROTOCOL_H