test

Fork of CANnucleo by Zoltan Hudak

Committer:
hudakz
Date:
Thu May 19 17:16:59 2016 +0000
Revision:
21:bcd8161f8f6c
Parent:
19:249e3f065956
Added support for attaching member functions as interrupt handlers.

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 #ifdef __cplusplus
hudakz 16:f4c8f45bded9 44 extern "C"
hudakz 16:f4c8f45bded9 45 {
hudakz 16:f4c8f45bded9 46 #endif
hudakz 16:f4c8f45bded9 47
hudakz 16:f4c8f45bded9 48 /**
hudakz 16:f4c8f45bded9 49 * @brief CAN initialization.
hudakz 16:f4c8f45bded9 50 * @param obj: can_t object
hudakz 16:f4c8f45bded9 51 * @param rxPin: RX pin name
hudakz 16:f4c8f45bded9 52 * @param txPin: TX pin name
hudakz 16:f4c8f45bded9 53 * @param abom: Automatic recovery from bus-off state
hudakz 16:f4c8f45bded9 54 * @retval None
hudakz 16:f4c8f45bded9 55 */
hudakz 21:bcd8161f8f6c 56 void initCAN(PinName rxPin, PinName txPin, FunctionalState abom);
hudakz 16:f4c8f45bded9 57
hudakz 16:f4c8f45bded9 58 /**
hudakz 16:f4c8f45bded9 59 * @brief CAN MSP Initialization
hudakz 16:f4c8f45bded9 60 * @param hcan: CAN handle pointer
hudakz 16:f4c8f45bded9 61 * @retval None
hudakz 16:f4c8f45bded9 62 */
hudakz 16:f4c8f45bded9 63 void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan);
hudakz 16:f4c8f45bded9 64
hudakz 16:f4c8f45bded9 65 /**
hudakz 16:f4c8f45bded9 66 * @brief CAN MSP De-Initialization
hudakz 16:f4c8f45bded9 67 * This function frees the hardware resources used:
hudakz 16:f4c8f45bded9 68 * - Disable the Peripheral's clock
hudakz 16:f4c8f45bded9 69 * - Revert GPIO to their default state
hudakz 16:f4c8f45bded9 70 * @param hcan: CAN handle pointer
hudakz 16:f4c8f45bded9 71 * @retval None
hudakz 16:f4c8f45bded9 72 */
hudakz 16:f4c8f45bded9 73 void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan);
hudakz 16:f4c8f45bded9 74
hudakz 16:f4c8f45bded9 75 /**
hudakz 16:f4c8f45bded9 76 * @brief Handles CAN1 RX0 interrupt request.
hudakz 16:f4c8f45bded9 77 * @param None
hudakz 16:f4c8f45bded9 78 * @retval None
hudakz 16:f4c8f45bded9 79 */
hudakz 19:249e3f065956 80 void CAN1_RX0_IRQHandler(void);
hudakz 16:f4c8f45bded9 81
hudakz 16:f4c8f45bded9 82 /**
hudakz 16:f4c8f45bded9 83 * @brief Transmission complete callback in non blocking mode
hudakz 16:f4c8f45bded9 84 * @param _canHandle: pointer to a CAN_HandleTypeDef structure that contains
hudakz 16:f4c8f45bded9 85 * the configuration information for the specified CAN.
hudakz 16:f4c8f45bded9 86 * @retval None
hudakz 16:f4c8f45bded9 87 */
hudakz 16:f4c8f45bded9 88 void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* _canHandle);
hudakz 16:f4c8f45bded9 89
hudakz 16:f4c8f45bded9 90 #ifdef __cplusplus
hudakz 16:f4c8f45bded9 91 }
hudakz 16:f4c8f45bded9 92
hudakz 16:f4c8f45bded9 93 #endif
hudakz 16:f4c8f45bded9 94
hudakz 16:f4c8f45bded9 95 #endif