8 years, 1 month ago.

Does this work with boards beside F091?

Does this work with boards beside F091 such as F103RB?

Question relating to:

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

1 Answer

8 years, 1 month ago.

IN theory, it should be easy to port to another board or manufacturer, since it relies mostly on the mbed library. I know for certain, though, that you would not be able to copy and go. There a couple of reasons for this:

Mainly, I had too much trouble extending and working within the mbed library. I could not figure out how to get can_rx interrupt to work given the direction I was going. So I used Zoltan Hudak's library which works around the mbed. So the library is built specifically to work with the CANNucleo library, and the F091 flavor in particular.

Additionally, the CanOpenApiGetHardwareTime function uses the ST library function HAL_GetTick(). This would have to be updated to meet the requirements of your hardware.

The lack of actual mbed support was frustrating enough that I began to look and found a different platform to work on, so I have since left this project, or at least mbed+STM32F091 version of it.

I found that the LPC11CXX will be an excellent fit for my application. One thing that you will see in this library is no SDO's!! The LPC11CXX has built in ROM functions Object Dictionaries and SDO Server messaging. I am also okay with the down-grade to 48 pins. There is still all of the work I did here to implement the PDO structure and object dictionary and other things, so I am back here to cannibalize this project.

So the short answer is yes, and in fact I am kinda doing that now. Long answer is, it will take some work.

If you continue to have questions, I will try to answer them when I can. Sorry about being absent for so long. I know myself that 2 weeks without answers (not that I REALLY gave you much of an answer) is terribly frustrating and demoralizing.

Good luck!

I published my main project I was working on. At least it can show you how I intended to extend the library with a class derived from Node.

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.

posted by Paul Paterson 19 Mar 2016