-
Notifications
You must be signed in to change notification settings - Fork 4
/
Readme.txt
104 lines (80 loc) · 4.76 KB
/
Readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
CANopenNode is an opensource CANopen Stack.
CANopen is the internationally standardized (EN 50325-4) CAN-based higher-layer protocol for embedded control system. For more information on CANopen see http://www.can-cia.org/
Stack is written in ANSI C in object-oriented way. Code is documented. License is LGPL. It includes Example for CANopen Input/Output device and simple CANopen master.
Variables (communication, device, custom) are ordered in CANopen object dictionary and are accessible from both: C code and from CAN network.
Code includes:
- CANopen Stack for multiple microcontrollers with documenation.
- Working examples of simple Input Output CANopen device for all microcontrolers.
- Working CANopen master device with HTML interface to CANopen: CAN log, Emergency log, SDO master, NMT master, Custom CAN message. (It runs on demo board DB240 from beck-ipc. It's available also for simpler custom borad based on SC243.)
- CANopen Object dictionary editor. For usage of this web application see "about.html".
CANopen Features:
- NMT slave to start, stop, reset device.
- Heartbeat producer/consumer error control.
- PDO linking and dynamic mapping for fast exchange of process variables.
- SDO expedited and segmented transfer for service access to all parameters.
- SDO master.
- Emergency message.
- Sync producer/consumer.
- Nonvolatile storage.
Supported controllers:
- From microchip.com:
- dsPIC30F
- PIC24H
- dsPIC33F
- PIC32
- From beck-ipc.com
- SC2x3
****************************************************************************************************
Version next
Style change:
- SVN version 31 has completely different style from previous. SVN history is broken. However, C code is the same. Files compile to THE SAME hex file in PIC32. See file Misc/convert text.html.
- Indentation changed from three to four spaces.
- Comments are now doxigen style.
- Replacement of typedefs UNSIGNED32 to uint32_t, etc.
Updates:
- Object dictionary editor: changed HTML output, no ODF functions.
- SDO server rewritten. Better interface with Object dictionary function.
- Multiple files was updated for newer Object dictionary function.
Additional features:
- Added block transfer. It is possible to transfer large block of data (32bit length).
- Added CRC function. Calculation of CRC in eeprom.c files updated to this function.
- Added are files for generic driver, which allows compiling the stack without hardware. They should be used as a template for other microcontrollers.
Fixes:
- Time drift in heartbeat fixed.
FIXES IN PROCESSOR SPECIFIC FILES:
- !!IMPORTANT BUGFIX!! Problems with synchronous TPDOs. Microcontroller stopped transmitting on tx overflow. Code for CAN transmission is revised and fixed in all microcontrollers. Tested on PIC32 and dsPIC33F.
Note:
- Object dictionary editor does not work any more in Firefox 17 and above, because: https://developer.mozilla.org/en-US/docs/E4X. (It is possible to re-enable E4X in FF17: type about:config in addressbar and change javascript.options.xml.content to true.)
****************************************************************************************************
Version 3.10
Additional features:
- Master device with HTML interface to CANopen: CAN log, Emergency log, SDO master, NMT master, Custom CAN message.
- Additional data types: UNSIGNED64, INTEGER64, REAL32, REAL64, DOMAIN.
- SDO transfer now supports more than 255 bytes in one communication cycle. (SDO master too.)
- EEPROM for PIC32 and SC243 fully functional.
Fixes:
- Synchronous window lenght now works.
- Filters in PIC32 are dinamicaly editable.
- Heartbeat consumer is fixed. Now is dinamicaly editable.
- Some fixes in PDO.
Changes in processor specific files:
- !!Bugfix!! Some variables are set to volatile.
- !!Bugfix!! in all processors: Line "CANmodule->bufferInhibitFlag = 0;" in CAN tx interrupt moved up.
- Added DOMAIN data type.
- Function CO_ODF() removed from driver.
****************************************************************************************************
Version 3.02
Fixes:
- SYNC object changes:
- LED tripple flash corrected.
- No need for definition of communication cycle period (index 1006).
- Correction in 'Object dictionary editor' output.
- PIC32 now resets correctly when receives NMT command.
- NMT master example now works.
****************************************************************************************************
Version 3.01
Fixes:
- It compiles now without errors for all controllers.
- Newly generated files from object dictionary, including CO_OD.c, .h.
****************************************************************************************************
Version 3.00