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:
Wed Dec 30 13:33:41 2015 +0000
Revision:
2:c724ff3a4e4d
Child:
4:2034b04c86d2
Implement simple Object Dictionary and derived class.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ptpaterson 2:c724ff3a4e4d 1 /**
ptpaterson 2:c724ff3a4e4d 2 ******************************************************************************
ptpaterson 2:c724ff3a4e4d 3 * @file
ptpaterson 2:c724ff3a4e4d 4 * @author Paul Paterson
ptpaterson 2:c724ff3a4e4d 5 * @version
ptpaterson 2:c724ff3a4e4d 6 * @date 2015-12-14
ptpaterson 2:c724ff3a4e4d 7 * @brief CANOpen implementation library
ptpaterson 2:c724ff3a4e4d 8 ******************************************************************************
ptpaterson 2:c724ff3a4e4d 9 * @attention
ptpaterson 2:c724ff3a4e4d 10 *
ptpaterson 2:c724ff3a4e4d 11 * <h2><center>&copy; COPYRIGHT(c) 2015 Paul Paterson
ptpaterson 2:c724ff3a4e4d 12 *
ptpaterson 2:c724ff3a4e4d 13 * All rights reserved.
ptpaterson 2:c724ff3a4e4d 14
ptpaterson 2:c724ff3a4e4d 15 This program is free software: you can redistribute it and/or modify
ptpaterson 2:c724ff3a4e4d 16 it under the terms of the GNU General Public License as published by
ptpaterson 2:c724ff3a4e4d 17 the Free Software Foundation, either version 3 of the License, or
ptpaterson 2:c724ff3a4e4d 18 (at your option) any later version.
ptpaterson 2:c724ff3a4e4d 19
ptpaterson 2:c724ff3a4e4d 20 This program is distributed in the hope that it will be useful,
ptpaterson 2:c724ff3a4e4d 21 but WITHOUT ANY WARRANTY; without even the implied warranty of
ptpaterson 2:c724ff3a4e4d 22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ptpaterson 2:c724ff3a4e4d 23 GNU General Public License for more details.
ptpaterson 2:c724ff3a4e4d 24
ptpaterson 2:c724ff3a4e4d 25 You should have received a copy of the GNU General Public License
ptpaterson 2:c724ff3a4e4d 26 along with this program. If not, see <http://www.gnu.org/licenses/>.
ptpaterson 2:c724ff3a4e4d 27 */
ptpaterson 2:c724ff3a4e4d 28
ptpaterson 2:c724ff3a4e4d 29 #ifndef PPCAN_SDO_H
ptpaterson 2:c724ff3a4e4d 30 #define PPCAN_SDO_H
ptpaterson 2:c724ff3a4e4d 31
ptpaterson 2:c724ff3a4e4d 32 #include "canopen_protocol.h"
ptpaterson 2:c724ff3a4e4d 33
ptpaterson 2:c724ff3a4e4d 34 namespace ppCANOpen
ptpaterson 2:c724ff3a4e4d 35 {
ptpaterson 2:c724ff3a4e4d 36
ptpaterson 2:c724ff3a4e4d 37 /* Avoid circular reference */
ptpaterson 2:c724ff3a4e4d 38 class ServiceDataObject
ptpaterson 2:c724ff3a4e4d 39 {
ptpaterson 2:c724ff3a4e4d 40 public:
ptpaterson 2:c724ff3a4e4d 41
ptpaterson 2:c724ff3a4e4d 42 ServiceDataObject(){}
ptpaterson 2:c724ff3a4e4d 43
ptpaterson 2:c724ff3a4e4d 44
ptpaterson 2:c724ff3a4e4d 45
ptpaterson 2:c724ff3a4e4d 46 private:
ptpaterson 2:c724ff3a4e4d 47
ptpaterson 2:c724ff3a4e4d 48 /** Buffer to hold data during segmented or block SDO transfers
ptpaterson 2:c724ff3a4e4d 49 * @note
ptpaterson 2:c724ff3a4e4d 50 */
ptpaterson 2:c724ff3a4e4d 51 char * dataBuffer;
ptpaterson 2:c724ff3a4e4d 52 };
ptpaterson 2:c724ff3a4e4d 53
ptpaterson 2:c724ff3a4e4d 54 } /* namespace ppCANOpen */
ptpaterson 2:c724ff3a4e4d 55
ptpaterson 2:c724ff3a4e4d 56 #endif // PPCAN_SDO_H