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

Dependents:   ppCANOpen_Example DISCO-F746NG_rtos_test

Example:

Import programppCANOpen_Example

I am no longer actively working on the ppCANOpen library, however, I want to publish this project so that anyone who wants to pick up any of the pieces can have a good example. This is a a project I was working on using the ppCANOpen library. It has a pretty in deep use of the object dictionary structure. And a number of functions to control high voltage pinball drivers, if you're into that sort of thing.

Committer:
ptpaterson
Date:
Tue Dec 15 16:46:52 2015 +0000
Revision:
1:666f30541db5
Parent:
0:1865da4a634c
formatting only

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ptpaterson 0:1865da4a634c 1 /**
ptpaterson 0:1865da4a634c 2 ******************************************************************************
ptpaterson 1:666f30541db5 3 * @file
ptpaterson 0:1865da4a634c 4 * @author Paul Paterson
ptpaterson 1:666f30541db5 5 * @version
ptpaterson 0:1865da4a634c 6 * @date 2015-12-14
ptpaterson 0:1865da4a634c 7 * @brief CANOpen implementation library
ptpaterson 0:1865da4a634c 8 ******************************************************************************
ptpaterson 0:1865da4a634c 9 * @attention
ptpaterson 0:1865da4a634c 10 *
ptpaterson 0:1865da4a634c 11 * <h2><center>&copy; COPYRIGHT(c) 2015 Paul Paterson
ptpaterson 0:1865da4a634c 12 *
ptpaterson 0:1865da4a634c 13 * All rights reserved.
ptpaterson 1:666f30541db5 14
ptpaterson 0:1865da4a634c 15 This program is free software: you can redistribute it and/or modify
ptpaterson 0:1865da4a634c 16 it under the terms of the GNU General Public License as published by
ptpaterson 0:1865da4a634c 17 the Free Software Foundation, either version 3 of the License, or
ptpaterson 0:1865da4a634c 18 (at your option) any later version.
ptpaterson 1:666f30541db5 19
ptpaterson 0:1865da4a634c 20 This program is distributed in the hope that it will be useful,
ptpaterson 0:1865da4a634c 21 but WITHOUT ANY WARRANTY; without even the implied warranty of
ptpaterson 0:1865da4a634c 22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ptpaterson 0:1865da4a634c 23 GNU General Public License for more details.
ptpaterson 1:666f30541db5 24
ptpaterson 0:1865da4a634c 25 You should have received a copy of the GNU General Public License
ptpaterson 0:1865da4a634c 26 along with this program. If not, see <http://www.gnu.org/licenses/>.
ptpaterson 0:1865da4a634c 27 */
ptpaterson 1:666f30541db5 28
ptpaterson 0:1865da4a634c 29 #ifndef CANOPEN_API_H
ptpaterson 0:1865da4a634c 30 #define CANOPEN_API_H
ptpaterson 1:666f30541db5 31
ptpaterson 1:666f30541db5 32
ptpaterson 0:1865da4a634c 33 #ifdef __cplusplus
ptpaterson 0:1865da4a634c 34 extern "C" {
ptpaterson 0:1865da4a634c 35 #endif
ptpaterson 0:1865da4a634c 36
ptpaterson 1:666f30541db5 37 typedef struct {
ptpaterson 1:666f30541db5 38 unsigned int id;
ptpaterson 1:666f30541db5 39 unsigned int identifierType;
ptpaterson 1:666f30541db5 40 unsigned int remoteFrameType;
ptpaterson 1:666f30541db5 41 unsigned int dataCount;
ptpaterson 1:666f30541db5 42 unsigned char data[8];
ptpaterson 1:666f30541db5 43 } CanOpenMessage;
ptpaterson 0:1865da4a634c 44
ptpaterson 1:666f30541db5 45 int CanOpenApiInit (void);
ptpaterson 0:1865da4a634c 46
ptpaterson 1:666f30541db5 47 int CanOpenApiRead (CanOpenMessage*);
ptpaterson 1:666f30541db5 48 int CanOpenApiWrite (CanOpenMessage*);
ptpaterson 0:1865da4a634c 49
ptpaterson 0:1865da4a634c 50 #ifdef __cplusplus
ptpaterson 0:1865da4a634c 51 };
ptpaterson 0:1865da4a634c 52 #endif
ptpaterson 1:666f30541db5 53
ptpaterson 1:666f30541db5 54 #endif /* CANOPEN_API_H */