Implementation of canopen driver. More...
#include <ipa_canopen_core/canopen.h>
#include <sstream>
#include <cstring>
#include <unordered_map>
Go to the source code of this file.
Namespaces | |
namespace | canopen |
Functions | |
void | canopen::clearRPDOMapping (int object) |
void | canopen::clearTPDOMapping (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 () |
void | canopen::disableRPDO (int object) |
void | canopen::disableTPDO (int object) |
void | canopen::enableRPDO (int object) |
void | canopen::enableTPDO (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::chrono::milliseconds syncInterval) |
bool | canopen::init (std::string deviceFile, std::chrono::milliseconds syncInterval) |
void | canopen::initDeviceManagerThread (std::function< void()> const &deviceManager) |
void | canopen::initListenerThread (std::function< void()> const &listener) |
void | canopen::makeRPDOMapping (int object, std::vector< std::string > registers, std::vector< int > sizes, u_int8_t sync_type) |
void | canopen::makeTPDOMapping (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 () |
void | canopen::pre_init () |
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::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 () |
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 |
Implementation of canopen driver.
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 canopen.cpp.