⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 can_vector.h

📁 美国COPLEY驱动器,程序开发工具之一.
💻 H
字号:
/************************************************************/
/*                                                          */
/*  Copley Motion Libraries                                 */
/*                                                          */
/*  Author: Stephen Glow                                    */
/*                                                          */
/*  Copyright (c) 2002-2005 Copley Controls Corp.           */
/*                          http://www.copleycontrols.com   */
/*                                                          */
/************************************************************/

/** \file

CAN hardware interface for the Vector Can Card-X

*/

#ifndef _DEF_INC_CAN_VECTOR
#define _DEF_INC_CAN_VECTOR

#define _cplusplus

#include "CML_Settings.h"
#include "CML_Can.h"
#include "CML_Threads.h"

CML_NAMESPACE_START();

/**
Vector specific CAN interface.

This class extends the generic CanInterface class into a working
interface for the Vector CAN cards.

*/
class VectorCAN: public CanInterface
{
public:
	VectorCAN( void );
	VectorCAN( const char *port );
	~VectorCAN( void );
	const Error *Open( void );
	const Error *Close( void );
	const Error *SetBaud( int32 baud );

	/// If this method is called before the CanInterface is opened,
	/// then the Open will succeed even if another process already
	/// has the port open.  This was added to allow the CAN card to 
	/// be used by CML even when it's open by an external logging
	/// program.  Note that the baud rate can not be set when this
	/// is set.
	void  AllowSharedAccess( void )
	{
		shareOK = true;
	}

protected:
	const Error *RecvFrame( CanFrame &frame, int32 timeout );
	const Error *XmitFrame( CanFrame &frame, int32 timeout );

	/// Allow port sharing if true.
	bool shareOK;

	/// tracks the state of the interface as open or closed.
	int open;

	/// Holds a copy of the last baud rate set
	long baud;

	/// Pointer used to access some local data
	void *data;

	Mutex mutex;
};

CML_NAMESPACE_END();

#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -