verified measurements from spi read for imu
This commit is contained in:
@ -19,10 +19,10 @@
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "main.h"
|
||||
|
||||
#include <Converter.h>
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
#include <canhalal.h>
|
||||
#include <Converter.h>
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
@ -94,12 +94,30 @@ int main(void) {
|
||||
MX_SPI1_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
// CAN_FilterTypeDef canfilterconfig;
|
||||
// canfilterconfig.FilterActivation = ENABLE;
|
||||
// canfilterconfig.FilterBank = 1; // which filter bank to use from the assigned ones
|
||||
// canfilterconfig.FilterFIFOAssignment = CAN_FILTER_FIFO0;
|
||||
// canfilterconfig.FilterIdHigh = 0x0000;
|
||||
// canfilterconfig.FilterIdLow = 0x0000;
|
||||
// canfilterconfig.FilterMaskIdHigh = 0x0000;
|
||||
// canfilterconfig.FilterMaskIdLow = 0x0000;
|
||||
// canfilterconfig.FilterMode = CAN_FILTERMODE_IDMASK;
|
||||
// canfilterconfig.FilterScale = CAN_FILTERSCALE_32BIT;
|
||||
// canfilterconfig.SlaveStartFilterBank = 20; // how many filters to assign to the CAN1 (master can)
|
||||
// HAL_CAN_ConfigFilter(&hcan, &canfilterconfig);
|
||||
ftcan_init(&hcan);
|
||||
ftcan_add_filter(&hcan, 0x10, 0x0000);
|
||||
// if (HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING) != HAL_OK) {
|
||||
// Error_Handler();
|
||||
// }
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1) {
|
||||
spi2can(&hspi1, &hcan);
|
||||
// spi2can(&hspi1, &hcan);
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
@ -238,6 +256,20 @@ static void MX_GPIO_Init(void) {
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
|
||||
CAN_RxHeaderTypeDef RxHeader;
|
||||
|
||||
uint8_t RxData[8];
|
||||
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) {
|
||||
if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RxData) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
void HAL_CAN_RxFifo1MsgPendingCallback(CAN_HandleTypeDef *hcan) {
|
||||
if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RxData) != HAL_OK) {
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
/* USER CODE END 4 */
|
||||
|
||||
/**
|
||||
|
||||
@ -107,6 +107,8 @@ void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* CAN interrupt Init */
|
||||
HAL_NVIC_SetPriority(USB_LP_CAN_RX0_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(USB_LP_CAN_RX0_IRQn);
|
||||
HAL_NVIC_SetPriority(CAN_RX1_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(CAN_RX1_IRQn);
|
||||
/* USER CODE BEGIN CAN_MspInit 1 */
|
||||
@ -139,6 +141,7 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
|
||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
|
||||
|
||||
/* CAN interrupt DeInit */
|
||||
HAL_NVIC_DisableIRQ(USB_LP_CAN_RX0_IRQn);
|
||||
HAL_NVIC_DisableIRQ(CAN_RX1_IRQn);
|
||||
/* USER CODE BEGIN CAN_MspDeInit 1 */
|
||||
|
||||
|
||||
@ -198,6 +198,20 @@ void SysTick_Handler(void)
|
||||
/* please refer to the startup file (startup_stm32f3xx.s). */
|
||||
/******************************************************************************/
|
||||
|
||||
/**
|
||||
* @brief This function handles USB low priority or CAN_RX0 interrupts.
|
||||
*/
|
||||
void USB_LP_CAN_RX0_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 0 */
|
||||
|
||||
/* USER CODE END USB_LP_CAN_RX0_IRQn 0 */
|
||||
HAL_CAN_IRQHandler(&hcan);
|
||||
/* USER CODE BEGIN USB_LP_CAN_RX0_IRQn 1 */
|
||||
|
||||
/* USER CODE END USB_LP_CAN_RX0_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles CAN RX1 interrupt.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user