Altera HWLIB  16.0
The Altera HW Manager API Reference Manual
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups
alt_can.h File Reference
#include "hwlib.h"
#include "alt_clock_manager.h"
#include "socal/alt_can.h"
#include "socal/alt_rstmgr.h"
#include "socal/hps.h"
#include "socal/socal.h"

Go to the source code of this file.

Detailed Description

Altera - CAN Controller API

Data Structures

struct  ALT_CAN_MAILBOX_PARAM_s
 
struct  ALT_CAN_STATUS_s
 
struct  ALT_CAN_BITTIME_s
 
struct  ALT_CAN_MSG_PARAM_s
 
struct  ALT_CAN_MSG_MSK_s
 
struct  ALT_CAN_MSG_ARB_s
 
struct  ALT_CAN_MSG_IFMCTR_s
 
struct  ALT_CAN_ERROR_COUNTER_s
 

Macros

#define ALT_CAN_MAILBOXES_COUNT   (128)
 
#define ALT_CAN_DEFAULT_BAUDRATE   (100000)
 

Typedefs

typedef enum ALT_CAN_TMOD_e ALT_CAN_TMOD_t
 
typedef enum ALT_CAN_FIFO_MODE_e ALT_CAN_FIFO_MODE_t
 
typedef struct
ALT_CAN_MAILBOX_PARAM_s 
ALT_CAN_MAILBOX_PARAM_t
 
typedef enum ALT_CAN_CTLR_e ALT_CAN_CTLR_t
 
typedef enum ALT_CAN_INTERFACE_e ALT_CAN_INTERFACE_t
 
typedef enum ALT_CAN_TEST_TYPE_e ALT_CAN_TEST_TYPE_t
 
typedef enum ALT_CAN_LAST_ERROR_e ALT_CAN_LAST_ERROR_t
 
typedef struct ALT_CAN_STATUS_s ALT_CAN_STATUS_t
 
typedef struct ALT_CAN_BITTIME_s ALT_CAN_BITTIME_t
 
typedef struct ALT_CAN_MSG_PARAM_s ALT_CAN_MSG_PARAM_t
 
typedef struct ALT_CAN_MSG_MSK_s ALT_CAN_MSG_MSK_t
 
typedef struct ALT_CAN_MSG_ARB_s ALT_CAN_MSG_ARB_t
 
typedef struct ALT_CAN_MSG_IFMCTR_s ALT_CAN_MSG_IFMCTR_t
 
typedef enum ALT_CAN_INT_GROUP_e ALT_CAN_INT_GROUP_t
 
typedef struct
ALT_CAN_ERROR_COUNTER_s 
ALT_CAN_ERROR_COUNTER_t
 

Enumerations

enum  ALT_CAN_TMOD_e { ALT_CAN_TMOD_TX = 0, ALT_CAN_TMOD_RX = 1 }
 
enum  ALT_CAN_FIFO_MODE_e { ALT_CAN_FIFO_MODE_SINGLE_MSG, ALT_CAN_FIFO_MODE_BUFFER_NOT_LAST, ALT_CAN_FIFO_MODE_BUFFER_LAST }
 
enum  ALT_CAN_CTLR_e { ALT_CAN_CAN0 = (int)ALT_CAN0_OFST, ALT_CAN_CAN1 = (int)ALT_CAN1_OFST }
 
enum  ALT_CAN_INTERFACE_e { ALT_CAN_INTERFACE_READ = (int)ALT_CAN_MSGIF_IF1CMR_OFST, ALT_CAN_INTERFACE_WRITE = (int)ALT_CAN_MSGIF_IF2CMR_OFST }
 
enum  ALT_CAN_TEST_TYPE_e
 
enum  ALT_CAN_LAST_ERROR_e {
  ALT_CAN_STAT_ERROR_NOERROR, ALT_CAN_STAT_ERROR_STUFF, ALT_CAN_STAT_ERROR_FORM, ALT_CAN_STAT_ERROR_ACK,
  ALT_CAN_STAT_ERROR_BIT1, ALT_CAN_STAT_ERROR_BIT0, ALT_CAN_STAT_ERROR_CRC, ALT_CAN_STAT_ERROR_NOCNG
}
 
enum  ALT_CAN_INT_GROUP_e {
  ALT_CAN_INT_GROUP_MOD_LINE = 1UL << 0, ALT_CAN_INT_GROUP_STATUS = 1UL << 1, ALT_CAN_INT_GROUP_ERROR = 1UL << 2, ALT_CAN_INT_GROUP_MSG_LINE = 1UL << 3,
  ALT_CAN_INT_GROUP_ALL = 0xF
}
 

Functions

ALT_STATUS_CODE alt_can_init (const ALT_CAN_CTLR_t can, ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_reset (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_disable (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_enable (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_is_enabled (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_baudrate_set (ALT_CAN_DEV_t *can_dev, const uint32_t bitrate)
 
ALT_STATUS_CODE alt_can_uninit (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_int_disable (ALT_CAN_DEV_t *can_dev, const uint8_t mask)
 
ALT_STATUS_CODE alt_can_int_enable (ALT_CAN_DEV_t *can_dev, const uint8_t mask)
 
ALT_STATUS_CODE alt_can_int_ident_get (ALT_CAN_DEV_t *can_dev, uint32_t *interrupt)
 
ALT_STATUS_CODE alt_can_int_status_get (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_bit_timing_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_BITTIME_t *params)
 
ALT_STATUS_CODE alt_can_bit_timing_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_BITTIME_t *bittime)
 
ALT_STATUS_CODE alt_can_rate_to_bittime (ALT_CAN_DEV_t *can_dev, uint32_t bitrate, ALT_CAN_BITTIME_t *bittime)
 
ALT_STATUS_CODE alt_can_test_mode_disable (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_test_mode_enable (ALT_CAN_DEV_t *can_dev, ALT_CAN_TEST_TYPE_t type)
 
ALT_STATUS_CODE alt_can_test_mode_is_enabled (ALT_CAN_DEV_t *can_dev, ALT_CAN_TEST_TYPE_t *type)
 
ALT_STATUS_CODE alt_can_error_counter_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_ERROR_COUNTER_t *counter)
 
ALT_STATUS_CODE alt_can_status_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_STATUS_t *status)
 
ALT_STATUS_CODE alt_can_if_cmd_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t msg_obj_num, ALT_CAN_MSG_PARAM_t *cmd_params)
 
ALT_STATUS_CODE alt_can_if_mask_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_MSK_t *mask_param)
 
ALT_STATUS_CODE alt_can_if_mask_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_MSK_t *mask_param)
 
ALT_STATUS_CODE alt_can_if_arb_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_ARB_t *arb_param)
 
ALT_STATUS_CODE alt_can_if_arb_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_ARB_t *arb_param)
 
ALT_STATUS_CODE alt_can_if_msg_ctrl_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_IFMCTR_t *ctrl)
 
ALT_STATUS_CODE alt_can_if_msg_ctrl_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, ALT_CAN_MSG_IFMCTR_t *ctrl)
 
ALT_STATUS_CODE alt_can_if_data_set (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t dataA, uint32_t dataB)
 
ALT_STATUS_CODE alt_can_if_data_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t *dataA, uint32_t *dataB)
 
ALT_STATUS_CODE alt_can_mailbox_reset (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t msg_obj_num)
 
ALT_STATUS_CODE alt_can_message_is_busy (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index)
 
ALT_STATUS_CODE alt_can_message_put (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t msg_obj_num, ALT_CAN_MSG_PARAM_t *cmd_params)
 
ALT_STATUS_CODE alt_can_message_get (ALT_CAN_DEV_t *can_dev, ALT_CAN_INTERFACE_t if_index, uint32_t msg_obj_num, ALT_CAN_MSG_PARAM_t *cmd_params)
 
ALT_STATUS_CODE alt_can_mailbox_init (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num, uint32_t id, uint32_t id_mask, ALT_CAN_TMOD_t transfer_mode, ALT_CAN_FIFO_MODE_t fifo_mode)
 
ALT_STATUS_CODE alt_can_mailbox_uninit (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num)
 
ALT_STATUS_CODE alt_can_mailboxes_reset (ALT_CAN_DEV_t *can_dev)
 
ALT_STATUS_CODE alt_can_frame_read (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num, void *buffer, uint32_t *frame_size)
 
ALT_STATUS_CODE alt_can_frame_write (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num, void *buffer)
 
ALT_STATUS_CODE alt_can_data_read (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num, void *buffer, uint32_t size, uint32_t *bytes_read)
 
ALT_STATUS_CODE alt_can_data_write (ALT_CAN_DEV_t *can_dev, uint32_t msg_obj_num, void *buffer, uint32_t size)