From ba78bd9ba834260d035a9830726afc34fdad2a15 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 18 Oct 2009 23:32:54 +0200 Subject: import firmware from LEGO v1.05 --- AT91SAM7S256/Source/c_comm.h | 151 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 AT91SAM7S256/Source/c_comm.h (limited to 'AT91SAM7S256/Source/c_comm.h') diff --git a/AT91SAM7S256/Source/c_comm.h b/AT91SAM7S256/Source/c_comm.h new file mode 100644 index 0000000..8487a82 --- /dev/null +++ b/AT91SAM7S256/Source/c_comm.h @@ -0,0 +1,151 @@ +// +// Date init 14.12.2004 +// +// Revision date $Date:: 16-05-06 9:42 $ +// +// Filename $Workfile:: c_comm.h $ +// +// Version $Revision:: 54 $ +// +// Archive $Archive:: /LMS2006/Sys01/Main/Firmware/Source/c_comm.h $ +// +// Platform C +// + +#ifndef C_COMM +#define C_COMM + + +#define BLUECORE_RESET_TIME 100 // Time in mS +#define BLUECORE_WAIT_BEFORE_INIT 5000 // Time in mS +#define BLUETOOTH_HANDLE_UNDEFIEND 0xFF + +/* Constants related to BtAdrStatus*/ +enum +{ + COLDBOOT, + INITIALIZED, + BTADRERROR +}; + + +enum +{ + USB_CH, + BT_CH, + HISPEED_CH, + NO_OF_CHANNELS +}; + + +/* enum reffering to BT update */ +enum +{ + UPD_BRICKNAME, + UPD_FACTORYRESET, + UPD_OPENSTREAM, + UPD_REQCMDMODE, + UPD_CONNECT, + UPD_CONNECTREQ, + UPD_PINREQ, + UPD_DISCONNECT, + UPD_DISCONNECTALL, + UPD_REMOVEDEVICE, + UPD_SEARCH, + UPD_RESET, + UPD_EXTREAD, + UPD_SENDFILE, + UPD_OFF, + UPD_VISIBILITY, + UPD_SENDDATA, + UPD_IDLE +}; + +/* Constants reffering to Protocol */ +enum +{ + DIRECT_CMD = 0x00, + SYSTEM_CMD = 0x01, + REPLY_CMD = 0x02, + NO_REPLY_BIT = 0x80 +}; + +typedef struct +{ + ULONG RemFileSize; + UWORD RemMsgSize; + UWORD SrcHandle; + UWORD DstHandle; + UWORD Timer; + UBYTE FileName[FILENAME_LENGTH + 1]; + UBYTE Cmd; + UBYTE SlotNo; +}EXTTX; + +typedef struct +{ + UBYTE Buf[256]; + UWORD InPtr; + UWORD OutPtr; +}BTDATA; + +typedef struct +{ + UBYTE Buf[256]; + UWORD InPtr; + UWORD OutPtr; +}HSDATA; + +typedef struct +{ + UBYTE Status; + UBYTE Type; + UBYTE Handle; + UBYTE Cmd; +}EXTMODE; + +typedef struct +{ + UBYTE ParamOne; + UBYTE ParamTwo; + UBYTE ParamThree; +}BTCMD; + +typedef struct +{ + UBYTE BtUpdateDataConnectNr; + UBYTE BtBcPinLevel; + UBYTE BtResetTimeCnt; + UWORD BtWaitTimeCnt; + BTDATA BtModuleInBuf; + BTDATA BtModuleOutBuf; + BTCMD BtCmdData; + UBYTE HsState; + HSDATA HsModuleInBuf; + HSDATA HsModuleOutBuf; + EXTTX ExtTx; + EXTMODE ExtMode[NO_OF_CHANNELS]; + UBYTE ActiveUpdate; + UBYTE UpdateState; + UBYTE BtDeviceIndex; + UBYTE CmdSwitchCnt; + UBYTE StreamStateCnt; + UBYTE CloseConn0Cnt; + UBYTE DiscAllCnt; + UBYTE ResetBtCnt; + UBYTE BtState; + UWORD *pRetVal; + UWORD RetVal; + UBYTE *pValidPinCode; + UBYTE LookUpCnt; + UBYTE BtAdrStatus; + UBYTE BtCmdModeWaitCnt; +}VARSCOMM; + +void cCommInit(void* pHeader); +void cCommCtrl(void); +void cCommExit(void); + +extern const HEADER cComm; + +#endif -- cgit v1.2.3