CanESD Class Reference

#include <CanESD.h>

Inheritance diagram for CanESD:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CanESD (const char *cIniFile, bool bObjectMode=false)
void init ()
bool isObjectMode ()
bool isTransmitError ()
bool receiveMsg (CanMsg *pCMsg)
bool receiveMsgRetry (CanMsg *pCMsg, int iNrOfRetry)
bool transmitMsg (CanMsg CMsg, bool bBlocking=true)
 ~CanESD ()

Protected Member Functions

int canIdAddGroup (NTCAN_HANDLE handle, int id)
std::string GetErrorStr (int ntstatus) const
int invert (int id)
int readEvent ()

Private Member Functions

void initIntern ()

Private Attributes

BYTE m_BaudRate
bool m_bIsTXError
bool m_bObjectMode
BYTE m_DeviceNr
NTCAN_HANDLE m_Handle
IniFile m_IniFile
int m_LastID
Mutex m_Mutex

Detailed Description

Driver of the CAN controller of ESD.

Definition at line 77 of file CanESD.h.


Constructor & Destructor Documentation

CanESD::CanESD ( const char *  cIniFile,
bool  bObjectMode = false 
)

Definition at line 63 of file CanESD.cpp.

CanESD::~CanESD (  ) 

Destructor. Release the allocated resources.

Definition at line 76 of file CanESD.cpp.


Member Function Documentation

int CanESD::canIdAddGroup ( NTCAN_HANDLE  handle,
int  id 
) [protected]

Add a group of CAN identifier to the handle, so it can be received. The identifiers are generated by inverting the id and adding each value between 0 and 7 This is used for generating the answer commands by the RCS5000.

Parameters:
handle The handle to add the identifiers to.
id The command id sent to the RCS5000.
Returns:
NTCAN_SUCESS if ok, or an error code.

Definition at line 303 of file CanESD.cpp.

std::string CanESD::GetErrorStr ( int  ntstatus  )  const [protected]

Definition at line 323 of file CanESD.cpp.

void CanESD::init (  )  [inline, virtual]

Initializes the CAN bus.

Implements CanItf.

Definition at line 88 of file CanESD.h.

void CanESD::initIntern (  )  [private]

Definition at line 84 of file CanESD.cpp.

CanESD::invert ( int  id  )  [inline, protected]

Invert a give ID in 1-complement. Note: Only 11 bits are used, i.e. the range is from 0x00 to 0x7FF.

Parameters:
id The id to be inverted.
Returns:
The inverted id.

Definition at line 105 of file CanESD.h.

bool CanESD::isObjectMode (  )  [inline, virtual]

Check if the current CAN interface was opened on OBJECT mode.

Returns:
true if opened in OBJECT mode, false if not.

Implements CanItf.

Definition at line 92 of file CanESD.h.

bool CanESD::isTransmitError (  )  [inline]

Definition at line 93 of file CanESD.h.

int CanESD::readEvent (  )  [protected]

Check if errors occured on the CAN bus.

Returns:
- 0 if everthing is fine.
  • -1 if an error occured.
  • -3 if messages were lost.
  • -5 if a FIFO overflow occured.
  • -6 if the CAN controller is BUS OFF.
  • -7 if the CAN controller is WARN, i.e. error passive.

Definition at line 367 of file CanESD.cpp.

bool CanESD::receiveMsg ( CanMsg pCMsg  )  [virtual]

Reads a CAN message.

Returns:
true if a message is available

Implements CanItf.

Definition at line 214 of file CanESD.cpp.

bool CanESD::receiveMsgRetry ( CanMsg pCMsg,
int  iNrOfRetry 
) [virtual]

Reads a CAN message. The function blocks between the attempts.

Parameters:
pCMsg CAN message
iNrOfRetry number of retries
Returns:
true if a message is available

Implements CanItf.

Definition at line 171 of file CanESD.cpp.

bool CanESD::transmitMsg ( CanMsg  CMsg,
bool  bBlocking = true 
) [virtual]

Transmit a message via the CAN bus. Additionally, an error flag is set internally if the transmission does not succeed.

Parameters:
CMsg Structure containing the CAN message.
Returns:
true on success, false on failure.

Implements CanItf.

Definition at line 138 of file CanESD.cpp.


Member Data Documentation

BYTE CanESD::m_BaudRate [private]

Definition at line 74 of file CanESD.h.

bool CanESD::m_bIsTXError [private]

Definition at line 78 of file CanESD.h.

bool CanESD::m_bObjectMode [private]

Definition at line 77 of file CanESD.h.

BYTE CanESD::m_DeviceNr [private]

Definition at line 73 of file CanESD.h.

NTCAN_HANDLE CanESD::m_Handle [private]

Definition at line 75 of file CanESD.h.

IniFile CanESD::m_IniFile [private]

Definition at line 81 of file CanESD.h.

int CanESD::m_LastID [private]

Definition at line 76 of file CanESD.h.

Mutex CanESD::m_Mutex [private]

Definition at line 79 of file CanESD.h.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator


cob_generic_can
Author(s): Christian Connette
autogenerated on Fri Jan 11 09:12:26 2013