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.
Diff: hal/canopen_api.h
- Revision:
- 0:1865da4a634c
- Child:
- 1:666f30541db5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/hal/canopen_api.h Mon Dec 14 22:03:46 2015 +0000 @@ -0,0 +1,55 @@ +/** + ****************************************************************************** + * @file + * @author Paul Paterson + * @version + * @date 2015-12-14 + * @brief CANOpen implementation library + ****************************************************************************** + * @attention + * + * <h2><center>© COPYRIGHT(c) 2015 Paul Paterson + * + * All rights reserved. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef CANOPEN_API_H +#define CANOPEN_API_H + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct +{ + unsigned int id; + unsigned int identifierType; + unsigned int remoteFrameType; + unsigned int dataCount; + unsigned char data[8]; +} CanOpenMessage; + +int CanOpenApiInit (void); + +int CanOpenApiRead (CanOpenMessage*); +int CanOpenApiWrite (CanOpenMessage); + +#ifdef __cplusplus +}; +#endif + + #endif /* CANOPEN_API_H */ \ No newline at end of file