?lang_form?
?lang_select?
?lang_submit?
?lang_endform?
{HEADER END}
{FILE START}
library
?curdirlinks? - Rev 6
?prevdifflink? - Blame - ?getfile?
/*! \file edp.h \brief Emerald Data Protocol System. */
//*****************************************************************************
//
// File Name : 'edp.h'
// Title : Emerald Data Protocol System
// Author : Pascal Stang - Copyright (C) 2003
// Created : 2003.07.01
// Revised : 2003.07.21
// Version : 0.1
// Target MCU : Atmel AVR series
// Editor Tabs : 4
//
// This code is distributed under the GNU Public License
// which can be found at http://www.gnu.org/licenses/gpl.txt
//
//*****************************************************************************
#ifndef EDP_H
#define EDP_H
#include "edpdefs.h"
// defines
//#define EDP_DEBUG
// edp reply buffer size
#ifndef EDP_REPLY_BUFFER_SIZE
#define EDP_REPLY_BUFFER_SIZE 128
#endif
// edpSendCommand return values
#define EDP_COMMAND_OK 0
#define EDP_COMMAND_NODEV 1
// edpGetCommandReply return values
#define EDP_REPLY_OK 0
#define EDP_REPLY_BADCHKSUM 1
// structs and typedefs
typedef struct
{
u08 SrcAddr;
u08 Command;
u08 Data[];
} EdpCommand;
typedef struct
{
u08 Length;
u08 Data[];
} EdpReply;
// typedefs
typedef u08 (*EdpSlaveHandlerFuncType)(u08 edpCmdLength, EdpCommand* edpCmd,
u08 edpReplyLengthMax, EdpReply* edpReply);
// functions
void edpInit(void);
void edpSetSlaveHandler(EdpSlaveHandlerFuncType edpSlaveHandlerFunction);
// ************ EDP Master operations ************
u08 edpSendCommand(u08 deviceAddr, u08 cmdLength, EdpCommand* edpCommand);
u08 edpGetCommandReply(u08* responseCode, EdpReply** edpReply);
//u08 edpSendCommand(u08 deviceAddr, u08 sendLength, u08* sendData);
//u08 edpGetCommandReply(u08* responseCode, u08* replyLength, u08** replyData);
// ************ EDP Slave operations ************
void edpSlaveReceiveService(u08 receiveDataLength, u08* receiveData);
u08 edpSlaveTransmitService(u08 transmitDataLengthMax, u08* transmitData);
#endif
|
{FILE END}
{FOOTER START}
Powered by WebSVN v2.8.3