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: source/Node.cpp
- Revision:
- 2:c724ff3a4e4d
- Child:
- 3:12b3c25bdeba
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/source/Node.cpp Wed Dec 30 13:33:41 2015 +0000 @@ -0,0 +1,101 @@ +/** + ****************************************************************************** + * @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/>. + */ + +#include "Node.h" +#include "ObjectDictionary.h" + +namespace ppCANOpen +{ + +Node::Node (void) {} + +/*============================================================================= + * Methods to handle message indication and confirmation + *============================================================================= + */ + +int Node::ConsumePdo (const int pdoNum, char *const data) +{ + return 0; +} + +int Node::HandlePdoReadRequest (const int pdoNum) +{ + return 0; +} + +int Node::ConsumeEmergency (void) +{ + return 0; +} + +int Node::HandleNodeControl (void) +{ + return 0; +} + +int Node::HandleNodeGuardRequest (const int masterId) +{ + return 0; +} + +int Node::ConsumeHeartbeat (const int producerId) +{ + return 0; +} + +/*============================================================================= + * Methods to handle operation of node device + *============================================================================= + */ + +void Node::Update (void) +{ + +} + +/*============================================================================= + * Methods to implement node control in derived classes + *============================================================================= + */ + +void Node::OnInitialize (void){} +void Node::OnPreoperational (void){} +void Node::OnOperational (void){} +void Node::OnStopped (void){} + +/*============================================================================= + * Local functions + *============================================================================= + */ + + + +} /* namspace ppCANOpen */ + +