File nut/arch/avr/dev/sja1000.c

References Functions: SJAInit() nut/arch/avr/dev/sja1000.c
  SJAInput() nut/arch/avr/dev/sja1000.c
  SJAOutput() nut/arch/avr/dev/sja1000.c
  SJARxAvail() nut/arch/avr/dev/sja1000.c
  SJASetAccCode() nut/arch/avr/dev/sja1000.c
  SJASetAccMask() nut/arch/avr/dev/sja1000.c
  SJASetBaudrate() nut/arch/avr/dev/sja1000.c
  SJATxFree() nut/arch/avr/dev/sja1000.c
References Variables: dcb_sja1000 nut/arch/avr/dev/sja1000.c
  ifc_sja1000 nut/arch/avr/dev/sja1000.c

Included Files


Preprocessor definitions

#define SJA_SIGNAL sig_INTERRUPT7

#define SJA_EICR EICRB

#define SJA_SIGNAL_BIT 7

#define SJA_BASE 0x8800

#define CAN_BufSize 64


Type struct _CANBuffer

struct _CANBuffer
struct _CANBuffer  
   {  
      CANFRAME* dataptr;  
      uint16_t size;  
      uint16_t datalength;  
      uint16_t dataindex;  
      SEM empty;  
      SEM full;  
   }  

Typedef CANBuffer

typedef struct _CANBuffer CANBuffer
See: Type struct _CANBuffer

Global Variable dcb_sja1000

CANINFO dcb_sja1000
Visible in:   nut/arch/avr/dev/sja1000.c
Used in:   nut/arch/avr/dev/sja1000.c

Global Variable sja_base

volatile uint16_t sja_base
Visible in:   nut/arch/avr/dev/sja1000.c
Used in: CAN_Tx() nut/arch/avr/dev/sja1000.c
  SJAInit() nut/arch/avr/dev/sja1000.c
  SJAInput() nut/arch/avr/dev/sja1000.c
  SJAInterrupt() nut/arch/avr/dev/sja1000.c
  SJARxFrame() nut/arch/avr/dev/sja1000.c
  SJASetAccCode() nut/arch/avr/dev/sja1000.c
  SJASetAccMask() nut/arch/avr/dev/sja1000.c
  SJASetBaudrate() nut/arch/avr/dev/sja1000.c
  SJATxFrame() nut/arch/avr/dev/sja1000.c

Global Variable CAN_RX_BUF

CANBuffer CAN_RX_BUF
Visible in:   nut/arch/avr/dev/sja1000.c
Used in: SJAInit() nut/arch/avr/dev/sja1000.c
  SJAInput() nut/arch/avr/dev/sja1000.c
  SJAInterrupt() nut/arch/avr/dev/sja1000.c
  SJARxAvail() nut/arch/avr/dev/sja1000.c

Global Variable CAN_TX_BUF

CANBuffer CAN_TX_BUF
Visible in:   nut/arch/avr/dev/sja1000.c
Used in: CAN_Tx() nut/arch/avr/dev/sja1000.c
  SJAInit() nut/arch/avr/dev/sja1000.c
  SJAOutput() nut/arch/avr/dev/sja1000.c
  SJATxFree() nut/arch/avr/dev/sja1000.c

Global Variable ifc_sja1000

IFCAN ifc_sja1000
Visible in:   nut/arch/avr/dev/sja1000.c
Used in:   nut/arch/avr/dev/sja1000.c

Global Variable devSJA1000

NUTDEVICE devSJA1000
Visible in:   nut/arch/avr/dev/sja1000.c

Global Function CANBufferFree()

uint16_t CANBufferFree ( CANBuffer* buffer )
Called by: SJATxFree() nut/arch/avr/dev/sja1000.c

Global Function CANBufferGet()

CANFRAME CANBufferGet ( CANBuffer* buffer )
Called by: SJAInput() nut/arch/avr/dev/sja1000.c

Global Function CANBufferGetMutex()

CANFRAME CANBufferGetMutex ( CANBuffer* buffer )
Calls: NutSemPost(), NutSemWait()
Called by: CAN_Tx() nut/arch/avr/dev/sja1000.c

Global Function CANBufferInit()

void CANBufferInit ( CANBuffer* buffer, uint16_t size )
Calls: NutHeapRootAlloc(), NutSemInit()
Called by: SJAInit() nut/arch/avr/dev/sja1000.c

Global Function CANBufferPut()

void CANBufferPut ( CANBuffer* buffer, CANFRAME* data )
Called by: SJAInterrupt() nut/arch/avr/dev/sja1000.c

Global Function CANBufferPutMutex()

void CANBufferPutMutex ( CANBuffer* buffer, CANFRAME* data )
Calls: NutSemPost(), NutSemWait()
Called by: SJAOutput() nut/arch/avr/dev/sja1000.c

Global Function CAN_Tx()

void CAN_Tx ( void* arg )
Prototyped in: nut/arch/avr/dev/sja1000.c
Calls: CANBufferGetMutex() nut/arch/avr/dev/sja1000.c
  SJATxFrame() nut/arch/avr/dev/sja1000.c
  NutEventWait(), NutThreadSetPriority()
Used in: SJAInit() nut/arch/avr/dev/sja1000.c
References Variables: CAN_TX_BUF nut/arch/avr/dev/sja1000.c
  sja_base nut/arch/avr/dev/sja1000.c

Global Function SJAInit()

int SJAInit ( NUTDEVICE* dev )
Calls: CANBufferInit() nut/arch/avr/dev/sja1000.c
  NutRegisterIrqHandler(), NutThreadCreate(), memset()
Used in:   nut/arch/avr/dev/sja1000.c
References Functions: CAN_Tx() nut/arch/avr/dev/sja1000.c
  SJAInterrupt() nut/arch/avr/dev/sja1000.c
References Variables: CAN_RX_BUF nut/arch/avr/dev/sja1000.c
  CAN_TX_BUF nut/arch/avr/dev/sja1000.c
  sja_base nut/arch/avr/dev/sja1000.c

Global Function SJAInput()

uint8_t SJAInput ( NUTDEVICE* dev, CANFRAME* frame )
Calls: CANBufferGet() nut/arch/avr/dev/sja1000.c
  NutEventWait()
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: CAN_RX_BUF nut/arch/avr/dev/sja1000.c
  sja_base nut/arch/avr/dev/sja1000.c

Global Function SJAOutput()

void SJAOutput ( NUTDEVICE* dev, CANFRAME* frame )
Calls: CANBufferPutMutex() nut/arch/avr/dev/sja1000.c
  NutEventPostAsync()
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: CAN_TX_BUF nut/arch/avr/dev/sja1000.c

Global Function SJARxAvail()

inline uint8_t SJARxAvail ( NUTDEVICE* dev )
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: CAN_RX_BUF nut/arch/avr/dev/sja1000.c

Global Function SJARxFrame()

void SJARxFrame ( CANFRAME* CAN_frame )
Called by: SJAInterrupt() nut/arch/avr/dev/sja1000.c
References Variables: sja_base nut/arch/avr/dev/sja1000.c

Global Function SJASetAccCode()

Note - if you change SJA1000_MODECTRL, change it in

void SJASetAccCode ( NUTDEVICE* dev, uint8_t* ac )

Calls: memcpy()
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: sja_base nut/arch/avr/dev/sja1000.c

Global Function SJASetAccMask()

Note - if you change SJA1000_MODECTRL, change it in

void SJASetAccMask ( NUTDEVICE* dev, uint8_t* am )

Calls: memcpy()
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: sja_base nut/arch/avr/dev/sja1000.c

Global Function SJASetBaudrate()

uint8_t SJASetBaudrate ( NUTDEVICE* dev, uint32_t baudrate )
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: sja_base nut/arch/avr/dev/sja1000.c

Global Function SJATxFrame()

void SJATxFrame ( CANFRAME* CAN_frame )
Called by: CAN_Tx() nut/arch/avr/dev/sja1000.c
References Variables: sja_base nut/arch/avr/dev/sja1000.c

Global Function SJATxFree()

inline uint8_t SJATxFree ( NUTDEVICE* dev )
Calls: CANBufferFree() nut/arch/avr/dev/sja1000.c
Used in:   nut/arch/avr/dev/sja1000.c
References Variables: CAN_TX_BUF nut/arch/avr/dev/sja1000.c

Local Function SJAInterrupt()

static void SJAInterrupt ( void* arg )
Calls: CANBufferPut() nut/arch/avr/dev/sja1000.c
  SJARxFrame() nut/arch/avr/dev/sja1000.c
Used in: SJAInit() nut/arch/avr/dev/sja1000.c
References Variables: CAN_RX_BUF nut/arch/avr/dev/sja1000.c
  sja_base nut/arch/avr/dev/sja1000.c