Namespaces | Functions | Variables
ipa_canopen_core.cpp File Reference

Implementation of canopen driver. More...

#include <ipa_canopen_core/canopen.h>
#include <sstream>
#include <cstring>
#include <unordered_map>
#include <algorithm>
Include dependency graph for ipa_canopen_core.cpp:

Go to the source code of this file.

Namespaces

namespace  canopen

Functions

void canopen::clearRPDOMapping (std::string chainName, int object)
void canopen::clearTPDOMapping (std::string chainName, int object)
void canopen::controlPDO (uint8_t CANid, u_int16_t control1, u_int16_t control2)
void canopen::defaultEMCY_incoming (uint16_t CANid, const TPCANRdMsg m)
void canopen::defaultListener ()
void canopen::defaultPDO_incoming (uint16_t CANid, const TPCANRdMsg m)
void canopen::defaultPDO_incoming_pos (uint16_t CANid, const TPCANRdMsg m)
void canopen::defaultPDO_incoming_status (uint16_t CANid, const TPCANRdMsg m)
void canopen::defaultPDOOutgoing (uint16_t CANid, double positionValue)
void canopen::defaultPDOOutgoing_interpolated (uint16_t CANid, double positionValue)
void canopen::deviceManager (std::string chainName)
void canopen::disableRPDO (std::string chainName, int object)
void canopen::disableTPDO (std::string chainName, int object)
void canopen::enableRPDO (std::string chainName, int object)
void canopen::enableTPDO (std::string chainName, int object)
void canopen::errorword_incoming (uint8_t CANid, BYTE data[8])
void canopen::getErrors (uint16_t CANid)
void canopen::halt (std::string deviceFile, std::string chainName, std::chrono::milliseconds syncInterval)
bool canopen::init (std::string deviceFile, std::string chainName, std::chrono::milliseconds syncInterval)
bool canopen::init (std::string deviceFile, std::string chainName, const int8_t mode_of_operation)
void canopen::initDeviceManagerThread (std::string chainName, std::function< void(std::string)> const &deviceManager)
void canopen::initListenerThread (std::function< void()> const &listener)
void canopen::makeRPDOMapping (std::string chainName, int object, std::vector< std::string > registers, std::vector< int > sizes, u_int8_t sync_type)
void canopen::makeTPDOMapping (std::string chainName, int object, std::vector< std::string > registers, std::vector< int > sizes, u_int8_t sync_type)
void canopen::manufacturer_incoming (uint8_t CANid, BYTE data[8])
std::vector< char > canopen::obtainManDevName (uint16_t CANid, int size_name)
std::vector< char > canopen::obtainManHWVersion (uint16_t CANid, std::shared_ptr< TPCANRdMsg > m)
std::vector< char > canopen::obtainManSWVersion (uint16_t CANid, std::shared_ptr< TPCANRdMsg > m)
std::vector< uint16_t > canopen::obtainProdCode (uint16_t CANid, std::shared_ptr< TPCANRdMsg > m)
uint16_t canopen::obtainRevNr (uint16_t CANid, std::shared_ptr< TPCANRdMsg > m)
std::vector< uint16_t > canopen::obtainVendorID (uint16_t CANid)
bool canopen::openConnection (std::string devName, std::string baudrate)
void canopen::pdoChanged (std::string chainName)
void canopen::pre_init (std::string chainName)
void canopen::processSingleSDO (uint8_t CANid, std::shared_ptr< TPCANRdMsg > message)
void canopen::readErrorsRegister (uint16_t CANid, std::shared_ptr< TPCANRdMsg > m)
void canopen::readManErrReg (uint16_t CANid)
bool canopen::recover (std::string deviceFile, std::string chainName, std::chrono::milliseconds syncInterval)
void canopen::requestDataBlock1 (uint8_t CANid)
void canopen::requestDataBlock2 (uint8_t CANid)
void canopen::sdo_incoming (uint8_t CANid, BYTE data[8])
void canopen::sendSDO (uint8_t CANid, SDOkey sdo, uint32_t value)
void canopen::sendSDO (uint8_t CANid, SDOkey sdo, int32_t value)
void canopen::sendSDO (uint8_t CANid, SDOkey sdo, uint16_t value)
void canopen::sendSDO (uint8_t CANid, SDOkey sdo, uint8_t value)
void canopen::sendSDO_unknown (uint8_t CANid, SDOkey sdo, int32_t value)
void canopen::setMotorState (uint16_t CANid, std::string targetState)
void canopen::setNMTState (uint16_t CANid, std::string targetState)
void canopen::setObjects (std::string chainName)
bool canopen::setOperationMode (uint16_t CANid, const int8_t targetMode, double timeout=3.0)
void canopen::uploadSDO (uint8_t CANid, SDOkey sdo)

Variables

std::chrono::duration< double > canopen::elapsed_seconds
std::chrono::time_point
< std::chrono::high_resolution_clock > 
canopen::end
std::chrono::time_point
< std::chrono::high_resolution_clock > 
canopen::start

Detailed Description

Implementation of canopen driver.

Note:
Copyright (c) 2013
Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)

Project name: ipa_canopen
ROS stack name: ipa_canopen
ROS package name: ipa_canopen_core
Author:
Author: Thiago de Freitas, Tobias Sing, Eduard Herkel
Supervised by: Thiago de Freitas email:tdf@ipa.fhg.de
Date:
Date of creation: December 2012

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License LGPL 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 Lesser General Public License LGPL for more details.

You should have received a copy of the GNU Lesser General Public License LGPL along with this program. If not, see <http://www.gnu.org/licenses/>.

Definition in file ipa_canopen_core.cpp.



ipa_canopen_core
Author(s): Tobias Sing, Thiago de Freitas
autogenerated on Thu Aug 27 2015 13:32:20