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

Main CANopenNode file. More...

#include "301/CO_driver.h"
#include "301/CO_ODinterface.h"
#include "301/CO_NMT_Heartbeat.h"
#include "301/CO_HBconsumer.h"
#include "301/CO_Node_Guarding.h"
#include "301/CO_Emergency.h"
#include "301/CO_SDOserver.h"
#include "301/CO_SDOclient.h"
#include "301/CO_SYNC.h"
#include "301/CO_PDO.h"
#include "301/CO_TIME.h"
#include "303/CO_LEDs.h"
#include "304/CO_GFC.h"
#include "304/CO_SRDO.h"
#include "305/CO_LSSslave.h"
#include "305/CO_LSSmaster.h"
#include "309/CO_gateway_ascii.h"
#include "extra/CO_trace.h"
+ Include dependency graph for CANopen.h:

Go to the source code of this file.

Data Structures

struct  CO_config_t
 CANopen configuration, used with CO_new() More...
 
struct  CO_t
 CANopen object - collection of all CANopenNode objects. More...
 

Macros

#define CO_MULTIPLE_OD
 If macro is defined externally, then configuration with multiple object dictionaries will be possible.
 
#define CO_USE_GLOBALS
 If macro is defined externally, then global variables for CANopen objects will be used instead of heap.
 

Functions

CO_tCO_new (CO_config_t *config, uint32_t *heapMemoryUsed)
 Create new CANopen object.
 
void CO_delete (CO_t *co)
 Delete CANopen object and free memory.
 
bool_t CO_isLSSslaveEnabled (CO_t *co)
 Test if LSS slave is enabled.
 
CO_ReturnError_t CO_CANinit (CO_t *co, void *CANptr, uint16_t bitRate)
 Initialize CAN driver.
 
CO_ReturnError_t CO_LSSinit (CO_t *co, CO_LSS_address_t *lssAddress, uint8_t *pendingNodeID, uint16_t *pendingBitRate)
 Initialize CANopen LSS slave.
 
CO_ReturnError_t CO_CANopenInit (CO_t *co, CO_NMT_t *NMT, CO_EM_t *em, OD_t *od, OD_entry_t *OD_statusBits, uint16_t NMTcontrol, uint16_t firstHBTime_ms, uint16_t SDOserverTimeoutTime_ms, uint16_t SDOclientTimeoutTime_ms, bool_t SDOclientBlockTransfer, uint8_t nodeId, uint32_t *errInfo)
 Initialize CANopenNode except PDO objects.
 
CO_ReturnError_t CO_CANopenInitPDO (CO_t *co, CO_EM_t *em, OD_t *od, uint8_t nodeId, uint32_t *errInfo)
 Initialize CANopenNode PDO objects.
 
CO_ReturnError_t CO_CANopenInitSRDO (CO_t *co, CO_EM_t *em, OD_t *od, uint8_t nodeId, uint32_t *errInfo)
 Initialize Safety related Data Objects.
 
CO_NMT_reset_cmd_t CO_process (CO_t *co, bool_t enableGateway, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process CANopen objects.
 
bool_t CO_process_SYNC (CO_t *co, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process CANopen SYNC objects.
 
void CO_process_RPDO (CO_t *co, bool_t syncWas, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process CANopen RPDO objects.
 
void CO_process_TPDO (CO_t *co, bool_t syncWas, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process CANopen TPDO objects.
 
CO_SRDO_state_t CO_process_SRDO (CO_t *co, uint32_t timeDifference_us, uint32_t *timerNext_us)
 Process CANopen SRDO objects.
 

Detailed Description

Main CANopenNode file.

Author
Janez Paternoster
Uwe Kindler

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.