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: include/canopen_api.h
- Revision:
- 5:22a337cdc0e3
- Parent:
- 4:2034b04c86d2
--- a/include/canopen_api.h Sat Jan 09 17:15:29 2016 +0000
+++ b/include/canopen_api.h Sat Feb 13 20:22:59 2016 +0000
@@ -29,6 +29,8 @@
#ifndef PPCAN_CANOPEN_API_H
#define PPCAN_CANOPEN_API_H
+#include "stdint.h"
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -36,8 +38,7 @@
/*=========================================================================
* Forward declarations
*=========================================================================
- */
- struct CanOpenHandle;
+ */
struct CanOpenMessage;
/*=========================================================================
@@ -45,10 +46,15 @@
*=========================================================================
*/
- int CanOpenApiInit (CanOpenHandle * hCanOpen);
+ typedef void (* ServiceProviderRxInterruptCallback)(void *pServiceObject);
+ typedef void (* ServiceProviderTickCallback) (void *pServiceObject);
+
+ int CanOpenApiInit (void *object, ServiceProviderRxInterruptCallback rxCallback, ServiceProviderTickCallback tickCallback);
- int CanOpenApiRead (CanOpenHandle * hCanOpen, CanOpenMessage * canOpenMsg);
- int CanOpenApiWrite (CanOpenHandle * hCanOpen, CanOpenMessage * canOpenMsg);
+ int CanOpenApiRead (CanOpenMessage * canOpenMsg);
+ int CanOpenApiWrite (CanOpenMessage * canOpenMsg);
+
+ uint32_t CanOpenApiGetHardwareTime (void);
#ifdef __cplusplus
};
