📄 cobspackets.h
字号:
//--------------------------------------------------------------------------
//
// Filename: CobsPackets.h
//
// Description:
//
//--------------------------------------------------------------------------
// $Archive: /WirelessUSB/WUSB Kits/CY3635 N-to-1 DVK/DocSrc/CD_Root/Software/Nto1/common/CobsPackets/CobsPackets.h $
// $Modtime: 10/06/04 6:19p $
// $Revision: 1 $
//--------------------------------------------------------------------------
//
// Copyright 2004, Cypress Semiconductor Corporation.
//
// This software is owned by Cypress Semiconductor Corporation (Cypress)
// and is protected by and subject to worldwide patent protection (United
// States and foreign), United States copyright laws and international
// treaty provisions. Cypress hereby grants to licensee a personal,
// non-exclusive, non-transferable license to copy, use, modify, create
// derivative works of, and compile the Cypress Source Code and derivative
// works for the sole purpose of creating custom software in support of
// licensee product to be used only in conjunction with a Cypress integrated
// circuit as specified in the applicable agreement. Any reproduction,
// modification, translation, compilation, or representation of this
// software except as specified above is prohibited without the express
// written permission of Cypress.
//
// Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
// Cypress reserves the right to make changes without further notice to the
// materials described herein. Cypress does not assume any liability arising
// out of the application or use of any product or circuit described herein.
// Cypress does not authorize its products for use as critical components in
// life-support systems where a malfunction or failure may reasonably be
// expected to result in significant injury to the user. The inclusion of
// Cypress' product in a life-support systems application implies that the
// manufacturer assumes all risk of such use and in doing so indemnifies
// Cypress against all charges.
//
// Use may be limited by and subject to the applicable Cypress software
// license agreement.
//
//--------------------------------------------------------------------------
#ifndef __cobspackets_h
#define __cobspackets_h
typedef struct _ListPacket
{
BYTE packetCommand;
UINT packetLength;
unsigned char *packetData;
} ListPacket;
/////////////////////////////////////////////////////////////////////////////
// class CCobsPackets
/////////////////////////////////////////////////////////////////////////////
class CCobsPackets : public CObject
{
// Class enumerations
public:
// CCobsPackets Events
typedef enum
{
EEventUnKnown = 0, // Unknown Event
EEventReceivedPacket = 1, // Packet has been recevied
EEventSendPacket = 2, // Packet ready to send
EEventPacketError = 3, // Error in processing packet
}
EEvent;
// CCobsPackets Errors
typedef enum
{
EErrorNone = 0, // No Error
EErrorPacketOverrun = 1, // Packet overran packet buffer
EErrorPacketDecode = 2, // Unable to decode packet
}
EError;
public:
CCobsPackets();
virtual ~CCobsPackets();
bool Init(HWND hwndDest, UINT nCobsMsg=WM_NULL, LPARAM lParam=0, UINT nMaxPacketSize=0xFF);
void SendEvent (EEvent eEvent, EError eError = EErrorNone);
void DataReceived(unsigned char *src, UINT length);
void SendPacket(unsigned char *src, UINT length);
BYTE GetPacket(EEvent eEvent, unsigned char *data, UINT *length);
// Default Cobs notification message
static const UINT mg_nDefaultCobsMsg;
protected:
ListPacket* NewPacket();
UINT StuffData(unsigned char *src, unsigned char *dst, UINT length);
UINT UnStuffData(unsigned char *src, unsigned char *dst, UINT length);
HWND m_hMsgWnd;
UINT m_nCobsMsg;
LPARAM m_lParam;
UINT m_nMaxPacketSize;
unsigned char *m_pInPacketData;
UINT m_nInPacketPos;
CPtrList m_InPacketList;
CPtrList m_OutPacketList;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -