CO_PDO.h File Reference
CANopen_301 » PDO

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

Copyright
  2004 - 2020 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.