Classes | Defines | Enumerations | Functions | Variables
functions.h File Reference

Contains functions prototype for PDCP protocol. More...

#include <stdlib.h>
#include "uCmaskFile.h"
#include "MCP2515control.h"
#include "config.h"

Go to the source code of this file.

Classes

struct  errorStr

Defines

#define CLEAR_REG_8_BIT   0x00
#define DUMMY_DATA   0x00
#define MCP_ACTIVATE   ( HW_CS_MCP2515_PORT &= ~( 1<<HW_CS_MCP2515 ) )
#define MCP_DEACTIVATE   ( HW_CS_MCP2515_PORT |= ( 1<<HW_CS_MCP2515 ) )
#define MASK_ARBITRATOR   0x00
#define MASK_DEVICE   0xFF

Enumerations

enum  SPI_INIT_STATUS { SPI_INIT_OK = 0, SPI_INIT_FAILED }
 Status of SPI interface initialization.
enum  SPI_TRANS_STATUS { SPI_TRANS_OK = 0, SPI_TRANS_FAILED }
 Status of SPI transmission.
enum  CAN_INIT_STATUS { CAN_INIT_OK = 0, CAN_INIT_FAILED }
 Status of CAN interface initialization.

Functions

SPI_INIT_STATUS initSpi (void)
 SPI Interface Initialization.
uint8_t transmitSpi (uint8_t data)
 SPI Transmit Data.
CAN_INIT_STATUS initCan (uint8_t id)
 Can initialization.
void hal_set_filter (uint8_t id)
 Function to set filters of node indicated by ID.
void hal_set_mask (uint8_t id)
 Function to set mask of node indicated by ID.
void initEEPROM (void)
 Init EEPROM.
uint8_t readEEPROM (uint8_t address)
 Read EEPROM.
void writeEEPROM (uint8_t address, uint8_t data)
 Write EEPROM.
void initInterrupts (void)
 Initialize all needed interrupts (TIMERS, EXTx..)
void initIOPort (void)
 Place for I/O pins initialization.
void initIOPort_appDesigner (void)
 Place for I/O pins initialization left for application designer.
void initInterrupts_appDesigner (void)
 Place for interrupt initialization left for application designer.
void initSPIPorts (void)
 Spi ports initialization.
void initINTPorts (void)
 Software interrupt ports initialization.
void initUSART (uint16_t baud)
 Function to initialize all important ports and methods for LLP hardware.
void checkTransmissionErrors (struct errorStr *readErrStr)
 Callback function to check whether errors in transmission have occured.
void clearTransmissionErrors (void)
 Function to clear error structure.
uint8_t mcp2515TransmitData (uint8_t mode, uint8_t reg, uint8_t val, uint8_t setClearFlag)
 Function to transmit data between MCU and MCP2515.
void triggerSoftwareInterrupt (uint8_t port)
 Function to trigger software interrupt.
void initLowLevelProtocolHardware (void)
 Function to initialize all important ports and methods for LLP hardware.
void printCharUsart (char sign)
 Function to send single char through UART.
void printUsart (char *str)
 Function to send string of chars through UART.
void hal_msg_take (void)
 Function to trigger message sending.
void wdtEnable (uint8_t time)
void wdtDisable (void)
 Function to disable watchdog timer.
void forceReset (void)
 Function to call reset handler.

Variables

struct errorStr errorStructure

Detailed Description

Contains functions prototype for PDCP protocol.

Author:
Andrzej Zamojski
NTNU in Trondheim (NORWAY)
TU of Lodz (POLAND)
Date:
1 VI 2012

Function Documentation

void checkTransmissionErrors ( struct errorStr readErrStr)

Callback function to check whether errors in transmission have occured.

Parameters:
[in]structerrorStr* Pointer to structure (type of errorStr) to read errors
Returns:
void
void clearTransmissionErrors ( void  )

Function to clear error structure.

Parameters:
[in]void
Returns:
void
void forceReset ( void  )

Function to call reset handler.

Attention:
After calling this function procedure of BINDING probably should be executed
Parameters:
[in]void
Returns:
void
void hal_msg_take ( )

Function to trigger message sending.

Returns:
void
void hal_set_filter ( uint8_t  id)

Function to set filters of node indicated by ID.

Can be called after PIN initialization

Parameters:
[in]idCONFIG_BUS_MODE
Returns:
void
void hal_set_mask ( uint8_t  id)

Function to set mask of node indicated by ID.

Can be called after PIN initialization

Parameters:
[in]idCONFIG_BUS_MODE
Returns:
void
CAN_INIT_STATUS initCan ( uint8_t  id)

Can initialization.

Can be called after PIN initialization

Parameters:
[in]idId CONFIG_BUS_MODE
[in]moduleModeCONFIG_BUS_MODE type
Returns:
CAN_INIT_STATUS Status of CAN initialization
void initEEPROM ( void  )

Init EEPROM.

Returns:
void
void initInterrupts ( void  )

Initialize all needed interrupts (TIMERS, EXTx..)

Contains call to function initInterrupts_appDesigner() which should contain
initialization of interrupts indispensible for application (empty by default)

Parameters:
[in]void
Returns:
void
void initInterrupts_appDesigner ( void  )

Place for interrupt initialization left for application designer.

Attention:
Be careful about interrupt bits used by interface - always use operator (|) or (&) to not destroy an interface
Parameters:
[in]void
Returns:
void
void initINTPorts ( void  )

Software interrupt ports initialization.

Attention:
HW_SOFT_INT_DDR and HW_SOFT_INT_PORT defined in uCmaskFile.h
Parameters:
[in]void
Returns:
void
void initIOPort ( void  )

Place for I/O pins initialization.

Contains call to function initIOPort_appDesigner() which should contain
initialization of IO Ports indispensible for application (empty by default)

Parameters:
[in]void
Returns:
void
void initIOPort_appDesigner ( void  )

Place for I/O pins initialization left for application designer.

Can consist of I2C, pins, interfaces etc. initialization

Attention:
Be careful about ports relevant for communication interface
Parameters:
[in]void
Returns:
void

Function to initialize all important ports and methods for LLP hardware.

Parameters:
[in]void
Returns:
void

SPI Interface Initialization.

Returns:
SPI_INIT_STATUS Status of Initialization (enum SPI_INIT_STATUS)
Attention:
Port initialization done in InitPorts function
void initSPIPorts ( void  )

Spi ports initialization.

Parameters:
[in]void
Returns:
void

look at uCmaskFile.h where ports are defined

void initUSART ( uint16_t  baud)

Function to initialize all important ports and methods for LLP hardware.

Parameters:
[in]baudBaudrate
Returns:
void
uint8_t mcp2515TransmitData ( uint8_t  mode,
uint8_t  reg,
uint8_t  val,
uint8_t  setClearFlag 
)

Function to transmit data between MCU and MCP2515.

Can be called after PIN initialization

Parameters:
[in]modeMode of operation MCP_WRITE_CMD, MCP_READ_CMD or MPC_BIT_MODIFY
[in]regAddress of register to change/read
[in]valValue to to change: must be a shift value if MPC_BIT_MODIFY is specified, otherwise full value register
[in]setClearFlagIf MPC_BIT_MODIFY specified, SET_BIT or CLR_BIT (defined in MCP2515_CAN_control.h file) defines clearing of setting mode
Returns:
retValue Read value from MCP2515
void printCharUsart ( char  sign)

Function to send single char through UART.

Parameters:
[in]signSign to send through USART
Returns:
void
void printUsart ( char *  str)

Function to send string of chars through UART.

Parameters:
[in]strString to send through UART
Returns:
void
uint8_t readEEPROM ( uint8_t  address)

Read EEPROM.

Parameters:
[in]addressEEPROM read address
Returns:
data EEPROM data
uint8_t transmitSpi ( uint8_t  data)

SPI Transmit Data.

May be called after PIN initialization

Parameters:
[in]dataData to transmission
Returns:
uint8_t Result of SPI transmission (data)
void triggerSoftwareInterrupt ( uint8_t  port)

Function to trigger software interrupt.

Attention:
Be careful with port number ( in AT90USB1287 higher than 3, because of SPI interface... )
HW_SOFT_INT_PORT declared in uCmaskFile.h
Parameters:
[in]void
Returns:
void
void wdtDisable ( void  )

Function to disable watchdog timer.

Returns:
void
void writeEEPROM ( uint8_t  address,
uint8_t  data 
)

Write EEPROM.

Parameters:
[in]addressEEPROM write address
[in]dataEEPROM write data
Returns:
void
 All Classes Files Functions Enumerations Enumerator Defines