Subversion Repositories NaviCtrl

Rev

Rev 116 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
110 killagreg 1
#ifndef _MKPROTOCOL_H
2
#define _MKPROTOCOL_H
3
 
4
// slave addresses
5
#define FC_ADDRESS 1
6
#define NC_ADDRESS 2
7
#define MK3MAG_ADDRESS 3
116 killagreg 8
#define MKOSD_ADDRESS 4
110 killagreg 9
 
10
typedef struct
11
{
12
        u8* pData;
13
        u16 Size;
112 killagreg 14
        u16 DataBytes;
110 killagreg 15
        u16 Position;
16
        u8  Locked;
17
} __attribute__((packed)) Buffer_t;
18
 
112 killagreg 19
extern void Buffer_Init(Buffer_t* pBuffer, u8* pDataBuffer, u16 DataBufferSize);
20
extern void Buffer_Clear(Buffer_t* pBuffer);
21
 
110 killagreg 22
typedef struct
23
{
153 killagreg 24
        u8* pAddress;
25
        u8* pCmdID;
110 killagreg 26
        u8* pData;
27
        u16 DataLen;
28
} __attribute__((packed)) SerialMsg_t;
29
 
153 killagreg 30
extern u8 MKProtocol_CollectSerialFrame(Buffer_t* pRxBuff, u8 c);
110 killagreg 31
extern void MKProtocol_CreateSerialFrame(Buffer_t* pTxBuff, u8 CmdID, u8 Address, u8 numofbuffers , ...); //u8 *data, u8 len, ....;
32
extern void MKProtocol_DecodeSerialFrame(Buffer_t* pRxBuff, SerialMsg_t* pSerialMsg);
33
 
34
#endif // _MKPROTOCOL_H