Giter VIP home page Giter VIP logo

canopeneditor's Introduction

CANopenEditor

CANopenEditor is a fork from https://github.com/robincornelius/libedssharp, author Robin Cornelius. Its homepage is https://github.com/CANopenNode/CANopenEditor

CANopen Object Dictionary Editor:

  • Imports: CANopen electronic data sheets in EDS or XDD format.
  • Exports: CANopen electronic data sheets in EDS or XDD format, documentation, CANopenNode C source files.
  • GUI editor for CANopen Object Dictionary, Device information, etc.

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

CANopenNode is free and open source CANopen Stack

This is the main branch with sources. For binaries see the build branch or download latest CANopenEditor-build.zip.


Join us on slack

https://join.slack.com/t/canopennode/shared_invite/zt-ghjhfg12-qGQNWvSEmhqcSedhFaLpuA (Invite expires 12th Sep 2020) if the link expires before i push this page please ping me ([email protected])

I'm hoping to build a community with canopennode and related tools at the above address. There are channels for this project already so if you use this tool, or just canopennode please join.

EDSSharp

A C# CanOpen EDS (Electronic Data Sheet) library and GUI editor

This application is designed to load/save/edit and create EDS/DCF/XDC file for CanOpen and also to generate the object dictionary for CanOpenNode CO_OD.c and CO_OD.h) to aid development of CanOpenNode devices.

EDS (Electronic Data Sheet) files are text files that define CanOpen Devices. DCF (Device Configuration File) files are text files that define configured CanOpenDevices XDD files are an XML version of EDS files

EDS/DCF are fully defined in the DSP306 standard by the can open standards body CiA.

The EDS editor on its own is useful without the CanOpenNode specific export and as of the 0.6-XDD-alpha version the editor can also load/save XDD files. The GUI also shows PDO mappings and can generate reports of multiple devices that are loaded into the software.

The core library can be used without the GUI to implement eds/xdd loading/saving and parsing etc in other projects.

Please consider this code experimental and beta quality. It is a work in progress and is rapidly changing.

Every attempt has been made to comply with the revelant DSP306 and other standards and esd files from multile sources have been tested for loading and saving as been (at times) validated for errors using EDS conformance tools.

With many thanks to the following contributors for spotting my mistakes and improving the code * s-fuchs * martinwag * trojanobelix * many others...

Library

  • Read EDS/DCF/XDC file and parse contents to approprate classes
  • Dump EDS/DCF classes via ToString()
  • Save EDS/DCF classes back to EDS file
  • Read CanOpenNode xml project file
  • Write CanOpenNode xmlproject file
  • Switch formats between EDS/DCF and CanOpenNode XML (note to EDS will result in data loss as the format supports less information).
  • Export C and H files in CanOpenNode format CO_OD.c and CO_OD.h
  • EDS/DCF supports modules
  • EDS/DCF supports compactPDO (read only) 1*
  • EDS/DCF supports implict PDO (read only) 1*
  • EDS/DCF supports CompactSubOb (read only) 1*
  • Supports loading/saving of all EDS/DCF module information

1* read only in this context means the EDS/DCF is fully expanded but the compact forms is not written back, only the expanded form will be saved.

GUI

  • Open multiple devices
  • Open EDS/DCF/XDC files
  • Save EDS/DCF/XDC files
  • Open CanOpenNode XML Project file
  • Save CanOpenNode XML File
  • View OD Entries and explore the Object Dictionary
  • Add new OD entries
  • Delete exisiting OD entries
  • Create new Devices
  • Add default profiles
  • Create profiles that can be added to any project (just save the device xml file to the profiles/ directory, only include the minimum number of objects that you want to auto insert) This will auto add to insert menu
  • Edit Device and File Info sections
  • Set RX/TX PDO mappings easily from dropdown lists of avaiable objects
  • Add and remove new PDO entries (communication paramaters and mapping) in a single button push
  • Save groups of EDS/XML files as a network objects with abality to set concrete node IDs
  • View report of all configured PDO across the network
  • View modules and module details present within EDS files
  • View/edit actual object values for device configuring/DCF files
  • Support for loading XDD files (CanOpen offical XML)
  • Support for saving XDD files (CanOpen offical XML)
  • Some module info is displayed in GUI showing avaiable modules (eds) and configured modules (dcf) and what OD entries they reference. Full details such as subobj extension and fixed subobj are not currently displayed and unless there is demand probably will not ever be.

TODO

  • Ensure and validate all XDD is loading/save correctly (Looking good so far)
  • Add extra Gui fields for accessing extra XDD paramaters not in EDS (all common ones are done, a few special/edge cases remain)
  • Look at XDC files and see if we can save config changes and allow editing and network setup here in the app, partial support is implemented by supporting DCF files

BUGS

If you find any, please open a bug report on github and attach any files you have created/opened etc.

Pictures

alt tag alt tag alt tag alt tag

canopeneditor's People

Contributors

bartimaeus- avatar barzello avatar canopennode avatar cfr-mir avatar dylanrobertbennett avatar gotocoffee1 avatar heliochronix avatar henrikbrixandersen avatar juprgn avatar kekiefer avatar kwontae-young avatar martinwag avatar nimrof avatar rcolatobe avatar regelink avatar rgruening avatar robincornelius avatar simon-fuchs-inmach avatar stormoli avatar trojanobelix avatar wilkinsw avatar zhanglongqi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.