CO_SRDO.h File Reference
CANopen_304 » SRDO

CANopen Safety Related 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"`

Go to the source code of this file.

## Data Structures

struct | CO_SRDOCommPar_t
| SRDO communication parameter. More...
struct | CO_SRDOGuard_t
| Gurad Object for SRDO monitors: More...
struct | CO_SRDO_t
| SRDO object. More...

## Functions

CO_ReturnError_t | CO_SRDOGuard_init (CO_SRDOGuard_t *SRDOGuard, CO_SDO_t *SDO, CO_NMT_internalState_t *operatingState, uint8_t *configurationValid, uint16_t idx_SRDOvalid, uint16_t idx_SRDOcrc)
| Initialize SRDOGuard object. More...
uint8_t | CO_SRDOGuard_process (CO_SRDOGuard_t *SRDOGuard)
| Process operation and valid state changes. More...

CO_ReturnError_t

CO_SRDO_init (CO_SRDO_t *SRDO, CO_SRDOGuard_t *SRDOGuard, CO_EM_t *em, CO_SDO_t *SDO, uint8_t nodeId, uint16_t defaultCOB_ID, const CO_SRDOCommPar_t *SRDOCommPar, const CO_SRDOMapPar_t *SRDOMapPar, const uint16_t *checksum, uint16_t idx_SRDOCommPar, uint16_t idx_SRDOMapPar, CO_CANmodule_t *CANdevRx, uint16_t CANdevRxIdxNormal, uint16_t CANdevRxIdxInverted, CO_CANmodule_t *CANdevTx, uint16_t CANdevTxIdxNormal, uint16_t CANdevTxIdxInverted)

| Initialize SRDO object. More...
void | CO_SRDO_initCallbackPre (CO_SRDO_t *SRDO, void *object, void(*pFunctSignalPre)(void *object))
| Initialize SRDO callback function. More...
void | CO_SRDO_initCallbackEnterSafeState (CO_SRDO_t *SRDO, void *object, void(*pFunctSignalSafe)(void *object))
| Initialize SRDO callback function. More...
CO_ReturnError_t | CO_SRDO_requestSend (CO_SRDO_t *SRDO)
| Send SRDO on event. More...
void | CO_SRDO_process (CO_SRDO_t *SRDO, uint8_t commands, uint32_t timeDifference_us, uint32_t *timerNext_us)
| Process transmitting/receiving SRDO messages. More...

## Detailed Description

CANopen Safety Related Data Object protocol.

Author
  Robert Grüning

Copyright
  2020 - 2020 Robert Grüning

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.