library for C++ CANOpen implementation. mbed independant, but is easy to attach into with mbed.

Dependents:   ppCANOpen_Example DISCO-F746NG_rtos_test

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers canopen_api.h Source File

canopen_api.h

Go to the documentation of this file.
00001 /**
00002  ******************************************************************************
00003  * @file
00004  * @author  Paul Paterson
00005  * @version
00006  * @date    2015-12-14
00007  * @brief   CANOpen implementation library
00008  ******************************************************************************
00009  * @attention
00010  *
00011  * <h2><center>&copy; COPYRIGHT(c) 2015 Paul Paterson
00012  *
00013  * All rights reserved.
00014 
00015  This program is free software: you can redistribute it and/or modify
00016  it under the terms of the GNU General Public License as published by
00017  the Free Software Foundation, either version 3 of the License, or
00018  (at your option) any later version.
00019 
00020  This program is distributed in the hope that it will be useful,
00021  but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00023  GNU General Public License for more details.
00024 
00025  You should have received a copy of the GNU General Public License
00026  along with this program.  If not, see <http://www.gnu.org/licenses/>.
00027  */
00028 
00029 #ifndef PPCAN_CANOPEN_API_H
00030 #define PPCAN_CANOPEN_API_H
00031 
00032 #include "stdint.h"
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00038     /*=========================================================================
00039      * Forward declarations
00040      *=========================================================================
00041      */
00042     struct CanOpenMessage;
00043 
00044     /*=========================================================================
00045      * API functions
00046      *=========================================================================
00047      */    
00048     
00049     typedef void (* ServiceProviderRxInterruptCallback)(void *pServiceObject);
00050     typedef void (* ServiceProviderTickCallback)       (void *pServiceObject);
00051     
00052     int CanOpenApiInit  (void *object, ServiceProviderRxInterruptCallback rxCallback, ServiceProviderTickCallback tickCallback);
00053     
00054     int CanOpenApiRead  (CanOpenMessage * canOpenMsg);
00055     int CanOpenApiWrite (CanOpenMessage * canOpenMsg);
00056     
00057     uint32_t CanOpenApiGetHardwareTime  (void);
00058 
00059 #ifdef __cplusplus
00060 };
00061 #endif
00062 
00063 #endif /* PPCAN_CANOPEN_API_H */