CANopenNode
CO_PDO.h File Reference

CANopen Process Data Object protocol. More...

#include "301/CO_driver.h"
#include "301/CO_SDOserver.h"
#include "301/CO_Emergency.h"
#include "301/CO_NMT_Heartbeat.h"
#include "301/CO_SYNC.h"

Go to the source code of this file.

Data Structures

struct  CO_RPDOCommPar_t
 RPDO communication parameter. More...
 
struct  CO_RPDOMapPar_t
 RPDO mapping parameter. More...
 
struct  CO_TPDOCommPar_t
 TPDO communication parameter. More...
 
struct  CO_TPDOMapPar_t
 TPDO mapping parameter. More...
 
struct  CO_RPDO_t
 RPDO object. More...
 
struct  CO_TPDO_t
 TPDO object. More...
 

Functions

CO_ReturnError_t CO_RPDO_init (CO_RPDO_t *RPDO, CO_EM_t *em, CO_SDO_t *SDO, CO_SYNC_t *SYNC, CO_NMT_internalState_t *operatingState, uint8_t nodeId, uint16_t defaultCOB_ID, uint8_t restrictionFlags, const CO_RPDOCommPar_t *RPDOCommPar, const CO_RPDOMapPar_t *RPDOMapPar, uint16_t idx_RPDOCommPar, uint16_t idx_RPDOMapPar, CO_CANmodule_t *CANdevRx, uint16_t CANdevRxIdx)
 Initialize RPDO object. More...
 
void CO_RPDO_initCallbackPre (CO_RPDO_t *RPDO, void *object, void(*pFunctSignalPre)(void *object))
 Initialize RPDO callback function. More...
 
CO_ReturnError_t CO_TPDO_init (CO_TPDO_t *TPDO, CO_EM_t *em, CO_SDO_t *SDO, CO_SYNC_t *SYNC, CO_NMT_internalState_t *operatingState, uint8_t nodeId, uint16_t defaultCOB_ID, uint8_t restrictionFlags, const CO_TPDOCommPar_t *TPDOCommPar, const CO_TPDOMapPar_t *TPDOMapPar, uint16_t idx_TPDOCommPar, uint16_t idx_TPDOMapPar, CO_CANmodule_t *CANdevTx, uint16_t CANdevTxIdx)
 Initialize TPDO object. More...
 
uint8_t CO_TPDOisCOS (CO_TPDO_t *TPDO)
 Verify Change of State of the PDO. More...
 
CO_ReturnError_t CO_TPDOsend (CO_TPDO_t *TPDO)
 Send TPDO message. More...
 
void CO_RPDO_process (CO_RPDO_t *RPDO, bool_t syncWas)
 Process received PDO messages. More...
 
void CO_TPDO_process (CO_TPDO_t *TPDO, bool_t syncWas, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process transmitting PDO messages. More...
 

Detailed Description

CANopen Process Data Object protocol.

Author
Janez Paternoster

This file is part of CANopenNode, an opensource CANopen Stack. Project home page is https://github.com/CANopenNode/CANopenNode. For more information on CANopen see http://www.can-cia.org/.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.