![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Handling of CAN hardware for STM32. More...
#include <stdint.h>
#include <string.h>
#include "mcu_periph/can_arch.h"
#include "mcu_periph/can.h"
#include <libopencm3/stm32/rcc.h>
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/can.h>
#include <libopencm3/cm3/nvic.h>
#include "led.h"
Go to the source code of this file.
Data Structures | |
struct | can_arch_periph |
Macros | |
#define | NVIC_USB_LP_CAN_RX0_IRQ_PRIO 1 |
#define | NVIC_CAN1_RX_IRQ_PRIO 1 |
Functions | |
void | _can_run_rx_callback (uint32_t id, uint8_t *buf, uint8_t len) |
void | can_hw_init (void) |
int | can_transmit_frame (struct pprzcan_frame *txframe, struct pprzaddr_can *addr) |
void | __unsupported_isr (void) |
void | can_event () |
Variables | |
struct can_arch_periph | can1_arch_s |
Handling of CAN hardware for STM32.
Definition in file can_arch.c.
struct can_arch_periph |
Definition at line 24 of file can_arch.c.
Data Fields | ||
---|---|---|
struct pprzaddr_can | addr | |
uint32_t | can_baudrate | |
bool | can_initialized | |
CANDriver * | cand | |
uint32_t | canport | |
CANConfig | cfg | |
int | if_index | |
bool | new_rxframe | |
struct pprzcan_frame | rxframe | |
void * | thread_rx_wa | |
size_t | thread_rx_wa_size |
#define NVIC_CAN1_RX_IRQ_PRIO 1 |
Definition at line 48 of file can_arch.c.
#define NVIC_USB_LP_CAN_RX0_IRQ_PRIO 1 |
Definition at line 47 of file can_arch.c.
Definition at line 213 of file can_arch.c.
References can1_arch_s, can_dlc_to_len(), CAN_FRAME_EFF, CAN_FRAME_RTR, pprzcan_frame::can_id, can_arch_periph::canport, pprzcan_frame::data, foo, pprzcan_frame::len, can_arch_periph::new_rxframe, can_arch_periph::rxframe, and pprzcan_frame::timestamp.
Definition at line 250 of file can_arch.c.
References can_arch_periph::addr, can1_arch_s, CAN_NB_CALLBACKS_MAX, foo, can_arch_periph::new_rxframe, and can_arch_periph::rxframe.
Definition at line 70 of file can_arch.c.
References can1_arch_s, can_init(), can_arch_periph::can_initialized, can_arch_periph::canport, foo, GPIO8, GPIO9, GPIO_AF9, gpio_set(), GPIOB, NVIC_CAN1_RX_IRQ_PRIO, and NVIC_USB_LP_CAN_RX0_IRQ_PRIO.
int can_transmit_frame | ( | struct pprzcan_frame * | txframe, |
struct pprzaddr_can * | addr | ||
) |
Definition at line 184 of file can_arch.c.
References can1_arch_s, CAN_EID_MASK, CAN_FRAME_RTR, can_arch_periph::can_initialized, can_len_to_dlc(), CAN_SID_MASK, can_arch_periph::canport, and foo.
struct can_arch_periph can1_arch_s |
Definition at line 61 of file can_arch.c.
Referenced by __unsupported_isr(), can_event(), can_hw_init(), can_hw_init(), can_start(), and can_transmit_frame().