Skip to content

Commit c2f9c49

Browse files
authored
Merge pull request #194 from reza0310/docs
[MIX][DOCS] Improving global documentation
2 parents 884f022 + 7d47d32 commit c2f9c49

File tree

23 files changed

+486
-102
lines changed

23 files changed

+486
-102
lines changed

.github/workflows/main.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
on: push
2+
3+
jobs:
4+
contrib-readme-job:
5+
runs-on: ubuntu-latest
6+
name: A job to automate contrib in readme
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
steps:
11+
- name: Contribute List
12+
uses: akhilmhdh/[email protected]
13+
with:
14+
use_username: true
15+
commit_message: "[ROOT][DOCS] contrib-readme-action has updated readme"
16+
pr_title_on_protected: "[ROOT][DOCS] contributors readme action update"
17+
env:
18+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CONTRIBUTING.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# CANopenEditor Contributing Guidelines
2+
3+
Thank you for your interest in contributing to this project!<br>
4+
Being a well referenced EDS/DCF editor and the only one supporting CANopenNode, CANopenEditor let everyone manage CANopen files, completely free of charge!<br>
5+
CANopenEditor is maintained by a small team of volunteers from around the world. As such, those rules are meant for a better communication between everyone but, any help being very welcome, reviewers might approve PRs not respecting all of these rules as long as you tried. Project owners are above those rules as they might have specific needs.<br>
6+
Please note that by contributing to this project, you agree to have read this file and to the [Developer's Certificate of Origin 1.1](https://developercertificate.org/).
7+
8+
## Discussions
9+
Discussions shall be done in respect to everyone and everyone's work.
10+
Any major change shall be first discussed in an issue. Do not worry: maintainers are quite active and will answer.
11+
12+
## Code convention
13+
This project doesn't really follow any real code convention and doesn't have any linter for now BUT following [common C# code conventions](https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions) is very welcome and might be asked of you if some parts of your code are too hard to read.
14+
If linting is ever needed, `dotnet format` will be our solution of choice.
15+
Even tho there is no hard-defined conventions, non-explicit names or lack of spacing might result in non-approval of a PR.
16+
17+
## What might or might not be a PR
18+
A simple refactor of code without any real change won't ever be approved. This project relies quite a bit on git blame and as such you are only allowed to refactor code you change. Moreover, trying to enforce a code convention without approval of the main maintainers first might be seen as disrespectful.
19+
20+
## Testing
21+
Any code change shall be tested. You can:
22+
- Add unit tests in the right directories
23+
- Describe any tests you did with the files you might have used
24+
25+
Code that you didn't even try to compile won't be accepted.
26+
27+
## Code comments
28+
- Complex algorithms MUST be explained with code comments.
29+
- Hardcoded values (e.g. specific numbers in the middle of nowhere) MUST be justified with code comments.
30+
- Non explicit data structures (e.g. an array of set size with every index having a meaning) MUST be explained with code comments.
31+
- Commented lines of code MUST be preceded by a comment line starting with either `//// DEBUG code:` or `//// TODO:`.
32+
- Comments SHALL have a space between the comment string (e.g. `//`) and the text content.
33+
- Functions and methods MIGHT have comments describing what they are doing, what are their inputs and/or outputs (if it's not explicit enough).
34+
- Loops and switches MIGHT have comments justifying why every case is taken into account (if it's not explicit enough).
35+
- Any more useful comment is welcome.
36+
37+
## Names and descriptions
38+
### PR names
39+
They shall be composed of three sections:
40+
1) Which project is affected (MIX if multiple)
41+
2) What types of changes are made (e.g. FEAT, FIX, DOCUMENTATION/DOC, CORRECTION/CORR, SUGGESTION/SUGG, BUILD, ...)
42+
3) An explicit but less than 100 chars long summary of the changes
43+
44+
Sections shall be clearly separated (e.g. with colons, parenthesis, ...).<br>
45+
Examples of valid and explicit PR names: `[MIX][DOC] Explaining explicit PR title rules`, `gui2: fix: Fixed bug where 1 = 2`.<br>
46+
If you have multiple unrelated changes (e.g. adding a feature and fixing another) to do, please do multiple PRs.
47+
48+
### PR descriptions
49+
They shall:
50+
- Describe any change made
51+
- Explain why such changes are made
52+
- Explain any decision taken
53+
- Link any related issue / any related other PR
54+
- Describe any test made
55+
- The sentence "I have read the contributing guidelines, I agree to following them and I agree to the Developer's Certificate of Origin 1.1"
56+
57+
### Commits
58+
Names shall be composed of:
59+
1) What types of changes are made (e.g. PR names sections 2)
60+
2) An explicit but less than 100 chars long summary of the changes
61+
62+
Descriptions are entirely up to you.

EDSEditorGUI/README.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
GUI
2+
=============
3+
* Open multiple devices
4+
* Open EDS/DCF/XDC files
5+
* Save EDS/DCF/XDC files
6+
* View OD Entries and explore the Object Dictionary
7+
* Add new OD entries
8+
* Delete exisiting OD entries
9+
* Create new Devices
10+
* Add default profiles
11+
* 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
12+
* Edit Device and File Info sections
13+
* Set RX/TX PDO mappings easily from dropdown lists of available objects
14+
* Add and remove new PDO entries (communication paramaters and mapping) with a single button's push
15+
* Save groups of EDS/XML files as a network object with ability to set concrete node IDs
16+
* View report of all configured PDOs across the network
17+
* View modules and module details present within EDS files
18+
* View/edit actual object values for device configuring/DCF files
19+
* Support for loading XDD files (CanOpen offical XML)
20+
* Support for saving XDD files (CanOpen offical XML)
21+
* Some module info is displayed in GUI showing available modules (eds) and configured modules (dcf) and what OD entries they reference.
22+
Full details such as subobj extension and fixed subobj are not currently displayed and unless there is demand probably will not ever be.
23+
24+
[Available formats' list can be found here](https://github.com/CANopenNode/CANopenEditor?tab=readme-ov-file#available-formats).
25+
26+
Pictures
27+
-------------
28+
For those pictures, the file shown is: https://www.hbm.com/fileadmin/mediapool/support/download/weighing/pad/PAD4000_P80_113_01_COS.EDS
29+
30+
### General informations
31+
![General informations tab](../Images/General%20infos.png)
32+
33+
### OD manipulation
34+
![OD when you select an object](../Images/OD%20selected%20object.png)
35+
![OD's communication specific parameters](../Images/OD%20comm%20specific%20param.png)
36+
37+
### PDO manipulation
38+
TPDO:<br>
39+
![TPDO tab](../Images/TPDO.png)
40+
RPDO:<br>
41+
![RPDO tab](../Images/RPDO.png)
42+
PDO editing:<br>
43+
![PDO edition](../Images/Edit%20PDO.png)
44+
45+
### Modules
46+
![Modules tab](../Images/Modules.png)
47+
48+
### Profiles
49+
Available profiles:<br>
50+
![Profiles option](../Images/Profiles.png)
51+
Applying a profile:<br>
52+
![Profiles application](../Images/Applying%20profile.png)

EDSEditorGUI2/README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
GUI2
2+
=============
3+
This GUI is meant to be cross-platform, meant to replace the old GUI and is made using Avalonia. It is not yet ready.
4+
<br>
5+
[Available formats' list can be found here](https://github.com/CANopenNode/CANopenEditor?tab=readme-ov-file#available-formats).

EDSSharp/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
EDSSharp
2+
=============
3+
4+
A C# CanOpen EDS (Electronic Data Sheet) library, CLI convertor and GUI editor.
5+
6+
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 (V1.3 and newer) to aid development of CANopenNode devices.
7+
8+
EDS (Electronic Data Sheet) files are text files that define CANopen devices.
9+
DCF (Device Configuration File) files are text files that define configured CANopen devices.
10+
XDD files are an XML version of EDS files.
11+
12+
EDS/DCF are fully defined in the DSP306 standard by the CANopen standards body: CiA.
13+
14+
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.
15+
The GUI also shows PDO mappings and can generate reports of multiple devices that are loaded into the software.
16+
17+
The core library can be used without the GUI to implement eds/xdd loading/saving and parsing etc in other projects.
18+
19+
Please consider this code experimental and beta quality.
20+
It is a work in progress and is rapidly changing.
21+
22+
Every attempt has been made to comply with the relevant DSP306 and other standards and EDS files from multiple sources have been tested for loading/saving and as been (at times) validated for errors using EDS conformance tools.
23+
24+
[Available exporters' list can be found here](https://github.com/CANopenNode/CANopenEditor?tab=readme-ov-file#available-formats).

GUITests/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
GUITests
2+
=============
3+
This directory contains unit tests for the avalonia (new) GUI. All tests shall be written in C# and run on all supported OS.

Images/Applying profile.png

113 KB
Loading

Images/Edit PDO.png

328 KB
Loading

Images/General infos.png

218 KB
Loading

Images/Modules.png

69.1 KB
Loading

0 commit comments

Comments
 (0)