Need help with CANopenSocket?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

CANopenNode
182 Stars 115 Forks Apache License 2.0 114 Commits 3 Opened issues

Description

Obsolete repository, replaced by CANopenDemo and CANopenLinux

Services available

!
?

Need anything else?

Contributors list

# 99,378
C
Shell
CSS
can
79 commits
# 511,188
C
Shell
7 commits
N/A
C
Shell
7 commits
# 192,250
C
Shell
CSS
can
6 commits

CANopenSocket

THIS REPOSITORY IS OBSOLETE, ITS CONTENTS HAS BEEN MOVED TO: - https://github.com/CANopenNode/CANopenDemo - https://github.com/CANopenNode/CANopenLinux


CANopenSocket is a collection of CANopen tools and examples.

It is based on CANopenNode, which is free and open source CANopen Stack and is included as a git submodule.

CANopen is the internationally standardized (EN 50325-4) (CiA301) CAN-based higher-layer protocol for embedded control system. For more information on CANopen see http://www.can-cia.org/

Getting or updating the project

Clone the project from git repository and get submodules:

git clone https://github.com/CANopenNode/CANopenSocket.git
cd CANopenSocket
git submodule init
git submodule update

Update the project:

cd CANopenSocket
# make sure, project is clean (git status); changes should be committed (git gui)
git pull # or: git fetch -> gitk --all (inspect the changes) -> git merge
# git submodule init # if new git modules
git submodule update

Get/update other tools (EDSeditor):

cd tools
./get_tools.sh

Getting started

First information is in CANopenNode/README.

Basic getting started guide is available in

CANopenNode/doc/gettingStarted.md
. If everything works there as expected, with virtual or real CAN, then CANopen network is established. With at least basic operation of: CAN reception, transmission, NMT, Heartbeat, Service Communication Objects (SDO).

Next is Basic CANopen Device example program with source code, custom Object Dictionary access functions and advanced CANopen gateway communication. See basicDevice/README.md.

CANopenSocket contents

  • CANopenNode - free and open source CANopen Stack (git submodule)
  • docs - CANopenNode documentation, generated by doxygen, available also online at https://canopennode.github.io/CANopenSocket/
  • cocomm - Linux commmand line tool, which communicates with CANopen gateway device via local or TCP socket. Similar as
    nc
    tool available in Linux.
    make
    the executable and type
    ./cocomm --help
    or see basicDevice/README.md for example usage.
  • canopencgi - CGI interface for Apache web server, experimental.
  • tools
    • EDSEditor - Object Dictionary Editor from https://github.com/robincornelius/libedssharp. Updated with
      get_tools.sh
      .
    • get_tools.sh - script for getting/updating the tools.
    • update_docs.sh - script runs doxygen on CANopenNode and creates softlink index.html.
    • runcanopendcandump.sh - script creates virtual CAN device
      vcan0
      and runs
      candump
      and
      canopend
      with gateway interface on it.
  • examples
    • basicDevice - Example CANopenNode device with or without gateway interface. Includes example for different testing variables: 64-bit integers, real numbers, strings, domain, object oriented principle with C, etc. See basicDevice/README.md.
  • test - Different CANopen testing tools
    • libs/bats-* Bash Automated Testing System, included as git submodules.
    • running_canopen - tests on running CANopen network, based on bats. On virtual or real CAN network. See test.md
  • docker - Dockerfile with readme.

License

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.