test

Fork of CANnucleo by Zoltan Hudak

Committer:
hudakz
Date:
Wed Dec 30 08:23:30 2015 +0000
Revision:
16:f4c8f45bded9
Child:
19:249e3f065956
Added support for NUCLEO-F072RB, NUCLEO-F091RC and NUCLEO446RE.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 16:f4c8f45bded9 1 /**
hudakz 16:f4c8f45bded9 2 ******************************************************************************
hudakz 16:f4c8f45bded9 3 * @attention
hudakz 16:f4c8f45bded9 4 *
hudakz 16:f4c8f45bded9 5 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
hudakz 16:f4c8f45bded9 6 *
hudakz 16:f4c8f45bded9 7 * Redistribution and use in source and binary forms, with or without modification,
hudakz 16:f4c8f45bded9 8 * are permitted provided that the following conditions are met:
hudakz 16:f4c8f45bded9 9 * 1. Redistributions of source code must retain the above copyright notice,
hudakz 16:f4c8f45bded9 10 * this list of conditions and the following disclaimer.
hudakz 16:f4c8f45bded9 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
hudakz 16:f4c8f45bded9 12 * this list of conditions and the following disclaimer in the documentation
hudakz 16:f4c8f45bded9 13 * and/or other materials provided with the distribution.
hudakz 16:f4c8f45bded9 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
hudakz 16:f4c8f45bded9 15 * may be used to endorse or promote products derived from this software
hudakz 16:f4c8f45bded9 16 * without specific prior written permission.
hudakz 16:f4c8f45bded9 17 *
hudakz 16:f4c8f45bded9 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
hudakz 16:f4c8f45bded9 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
hudakz 16:f4c8f45bded9 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
hudakz 16:f4c8f45bded9 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
hudakz 16:f4c8f45bded9 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
hudakz 16:f4c8f45bded9 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
hudakz 16:f4c8f45bded9 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
hudakz 16:f4c8f45bded9 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
hudakz 16:f4c8f45bded9 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
hudakz 16:f4c8f45bded9 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hudakz 16:f4c8f45bded9 28 *
hudakz 16:f4c8f45bded9 29 ******************************************************************************
hudakz 16:f4c8f45bded9 30 *
hudakz 16:f4c8f45bded9 31 * Modified by Zoltan Hudak <hudakz@inbox.com>
hudakz 16:f4c8f45bded9 32 *
hudakz 16:f4c8f45bded9 33 ******************************************************************************
hudakz 16:f4c8f45bded9 34 */
hudakz 16:f4c8f45bded9 35
hudakz 16:f4c8f45bded9 36 #ifndef stm32f4xx_hal_H
hudakz 16:f4c8f45bded9 37 #define stm32f4xx_hal_H
hudakz 16:f4c8f45bded9 38
hudakz 16:f4c8f45bded9 39 #define CAN_IRQ CAN1_RX0_IRQn
hudakz 16:f4c8f45bded9 40
hudakz 16:f4c8f45bded9 41 #include "pinmap.h"
hudakz 16:f4c8f45bded9 42
hudakz 16:f4c8f45bded9 43 typedef struct can_s can_t;
hudakz 16:f4c8f45bded9 44
hudakz 16:f4c8f45bded9 45 #ifdef __cplusplus
hudakz 16:f4c8f45bded9 46 extern "C"
hudakz 16:f4c8f45bded9 47 {
hudakz 16:f4c8f45bded9 48 #endif
hudakz 16:f4c8f45bded9 49
hudakz 16:f4c8f45bded9 50 /**
hudakz 16:f4c8f45bded9 51 * @brief CAN initialization.
hudakz 16:f4c8f45bded9 52 * @param obj: can_t object
hudakz 16:f4c8f45bded9 53 * @param rxPin: RX pin name
hudakz 16:f4c8f45bded9 54 * @param txPin: TX pin name
hudakz 16:f4c8f45bded9 55 * @param abom: Automatic recovery from bus-off state
hudakz 16:f4c8f45bded9 56 * @retval None
hudakz 16:f4c8f45bded9 57 */
hudakz 16:f4c8f45bded9 58 void initCAN(can_t* obj, PinName rxPin, PinName txPin, FunctionalState abom);
hudakz 16:f4c8f45bded9 59
hudakz 16:f4c8f45bded9 60 /**
hudakz 16:f4c8f45bded9 61 * @brief CAN MSP Initialization
hudakz 16:f4c8f45bded9 62 * @param hcan: CAN handle pointer
hudakz 16:f4c8f45bded9 63 * @retval None
hudakz 16:f4c8f45bded9 64 */
hudakz 16:f4c8f45bded9 65 void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan);
hudakz 16:f4c8f45bded9 66
hudakz 16:f4c8f45bded9 67 /**
hudakz 16:f4c8f45bded9 68 * @brief CAN MSP De-Initialization
hudakz 16:f4c8f45bded9 69 * This function frees the hardware resources used:
hudakz 16:f4c8f45bded9 70 * - Disable the Peripheral's clock
hudakz 16:f4c8f45bded9 71 * - Revert GPIO to their default state
hudakz 16:f4c8f45bded9 72 * @param hcan: CAN handle pointer
hudakz 16:f4c8f45bded9 73 * @retval None
hudakz 16:f4c8f45bded9 74 */
hudakz 16:f4c8f45bded9 75 void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan);
hudakz 16:f4c8f45bded9 76
hudakz 16:f4c8f45bded9 77 /**
hudakz 16:f4c8f45bded9 78 * @brief Handles CAN1 RX0 interrupt request.
hudakz 16:f4c8f45bded9 79 * @param None
hudakz 16:f4c8f45bded9 80 * @retval None
hudakz 16:f4c8f45bded9 81 */
hudakz 16:f4c8f45bded9 82 void USB_LP_CAN_RX0_IRQHandler(void);
hudakz 16:f4c8f45bded9 83
hudakz 16:f4c8f45bded9 84 /**
hudakz 16:f4c8f45bded9 85 * @brief Transmission complete callback in non blocking mode
hudakz 16:f4c8f45bded9 86 * @param _canHandle: pointer to a CAN_HandleTypeDef structure that contains
hudakz 16:f4c8f45bded9 87 * the configuration information for the specified CAN.
hudakz 16:f4c8f45bded9 88 * @retval None
hudakz 16:f4c8f45bded9 89 */
hudakz 16:f4c8f45bded9 90 void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* _canHandle);
hudakz 16:f4c8f45bded9 91
hudakz 16:f4c8f45bded9 92 #ifdef __cplusplus
hudakz 16:f4c8f45bded9 93 }
hudakz 16:f4c8f45bded9 94
hudakz 16:f4c8f45bded9 95 #endif
hudakz 16:f4c8f45bded9 96
hudakz 16:f4c8f45bded9 97 #endif