CANopenNode
CANopen protocol stack
Loading...
Searching...
No Matches
CO_SRDO.h File Reference

CANopen Safety Related Data Object protocol. More...

+ Include dependency graph for CO_SRDO.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  CO_SRDOGuard_t
 Guard Object for SRDO. More...
 
struct  CO_SRDO_t
 SRDO object. More...
 

Macros

#define CO_SRDO_MAX_SIZE   8U
 Maximum size of SRDO message, 8 for standard CAN.
 
#define CO_SRDO_MAX_MAPPED_ENTRIES   16U
 Maximum number of entries, which can be mapped to SRDO, 2*8 for standard CAN, may be less to preserve RAM usage.
 

Typedefs

typedef uint8_t CO_SRDO_size_t
 Variable of type CO_SRDO_size_t contains data length in bytes of SRDO.
 

Enumerations

enum  CO_SRDO_state_t {
  CO_SRDO_state_error_internal = -10 , CO_SRDO_state_error_configuration = -9 , CO_SRDO_state_error_txNotInverted = -6 , CO_SRDO_state_error_txFail = -5 ,
  CO_SRDO_state_error_rxTimeoutSRVT = -4 , CO_SRDO_state_error_rxTimeoutSCT = -3 , CO_SRDO_state_error_rxNotInverted = -2 , CO_SRDO_state_error_rxShort = -1 ,
  CO_SRDO_state_unknown = 0 , CO_SRDO_state_nmtNotOperational = 1 , CO_SRDO_state_initializing = 2 , CO_SRDO_state_communicationEstablished = 3 ,
  CO_SRDO_state_deleted = 10
}
 SRDO internal state. More...
 

Functions

CO_ReturnError_t CO_SRDOGuard_init (CO_SRDOGuard_t *SRDOGuard, OD_entry_t *OD_13FE_configurationValid, OD_entry_t *OD_13FF_safetyConfigurationSignature, uint32_t *errInfo)
 Initialize SRDOGuard object.
 
CO_ReturnError_t CO_SRDO_init (CO_SRDO_t *SRDO, uint8_t SRDO_Index, CO_SRDOGuard_t *SRDOGuard, OD_t *OD, CO_EM_t *em, uint8_t nodeId, uint16_t defaultCOB_ID, OD_entry_t *OD_130x_SRDOCommPar, OD_entry_t *OD_138x_SRDOMapPar, CO_CANmodule_t *CANdevRxNormal, CO_CANmodule_t *CANdevRxInverted, uint16_t CANdevRxIdxNormal, uint16_t CANdevRxIdxInverted, CO_CANmodule_t *CANdevTxNormal, CO_CANmodule_t *CANdevTxInverted, uint16_t CANdevTxIdxNormal, uint16_t CANdevTxIdxInverted, uint32_t *errInfo)
 Initialize SRDO object.
 
void CO_SRDO_initCallbackPre (CO_SRDO_t *SRDO, void *object, void(*pFunctSignalPre)(void *object))
 Initialize SRDO callback function.
 
CO_ReturnError_t CO_SRDO_config (CO_SRDO_t *SRDO, uint8_t SRDO_Index, CO_SRDOGuard_t *SRDOGuard, uint32_t *errInfo)
 Configure SRDO object.
 
CO_ReturnError_t CO_SRDO_requestSend (CO_SRDO_t *SRDO)
 Send SRDO on event.
 
CO_SRDO_state_t CO_SRDO_process (CO_SRDO_t *SRDO, uint32_t timeDifference_us, uint32_t *timerNext_us, bool_t NMTisOperational)
 Process transmitting/receiving individual SRDO message.
 

Detailed Description

CANopen Safety Related Data Object protocol.

Author
Robert GrĂ¼ning

This file is part of https://github.com/CANopenNode/CANopenNode, a CANopen Stack.

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.