functions.c File Reference

Contains functions definitions which are relevant for interface between
lower and upper layers of PDCP. More...

#include <avr/io.h>
#include <avr/wdt.h>
#include <stdint.h>
#include "functions.h"

Functions

initSpi

SPI Interface Initialization

Returns:
SPI_INIT_STATUS Status of Initialization (enum SPI_INIT_STATUS)
SPI_INIT_STATUS initSpi ()
transmitSpi

SPI Transmit Data

May be called after PIN initialization

Parameters:
[in]dataData to transmission
Returns:
uint8_t Result of SPI transmission (data)
uint8_t transmitSpi (uint8_t data)
initCan

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
CAN_INIT_STATUS initCan (uint8_t id)
hal_set_filter

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_filter (uint8_t id)
hal_set_mask

Function to set mask 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)
initEEPROM

Init EEPROM

Returns:
void
void initEEPROM ()
readEEPROM

Read EEPROM

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

Write EEPROM

Parameters:
[in]addressEEPROM write address
[in]dataEEPROM write data
Returns:
void
void writeEEPROM (uint8_t address, uint8_t data)
initInterrupts

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 ()
initIOPort

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 (void)
initIOPort_appDesigner

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
void initIOPort_appDesigner (void)
initInterrupts_appDesigner

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 initInterrupts_appDesigner (void)
initSPIPorts

Spi ports initialization

Parameters:
[in]void
Returns:
void
void initSPIPorts (void)
mcp2515TransmitData

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
uint8_t mcp2515TransmitData (uint8_t mode, uint8_t reg, uint8_t val, uint8_t setClearFlag)
initINTPorts

Software interrupt ports initialization

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

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 triggerSoftwareInterrupt (uint8_t port)
checkTransmissionErrors

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 checkTransmissionErrors (struct errorStr *readErrStr)
clearTransmissionErrors

Function to clear error structure

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

Function to call reset handler

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

Function to initialize all important ports and methods for LLP hardware

Parameters:
[in]void
Returns:
void
void initLowLevelProtocolHardware (void)
initUSART

Function to initialize all important ports and methods for LLP hardware

Parameters:
[in]baudBaudrate
Returns:
void
void initUSART (uint16_t baud)
printCharUsart

Function to send single char through UART

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

Function to send string of chars through UART

Parameters:
[in]strString to send through UART
Returns:
void
void printUsart (char *str)
hal_msg_take

Function to trigger message sending

Returns:
void
void hal_msg_take ()
wdtDisable

Function to disable watchdog timer

Returns:
void
void wdtDisable ()
wdtEnable

Function to enable watchdog timer

Parameters:
[in]timeTime of WDT reset activation
Returns:
void
void wdtEnable (uint8_t time)

Detailed Description

Contains functions definitions which are relevant for interface between
lower and upper layers of PDCP.

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

Function Documentation

Attention:
Port initialization done in InitPorts function
void initSPIPorts ( void  )

look at uCmaskFile.h where ports are defined

 All Classes Files Functions Enumerations Enumerator Defines