CANopenNode
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_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"

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. More...
 
#define CO_USE_GLOBALS
 If macro is defined externally, then global variables for CANopen objects will be used instead of heap. More...
 

Functions

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

Detailed Description

Main CANopenNode file.

Author
Janez Paternoster
Uwe Kindler

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.