5 KiB
5 KiB
Change Log
Unreleased split-driver
- Full ChangeLog
- See {TODO diff} for example of change in user application interface.
Removed
- All drivers removed from this project, except Neuberger-socketCAN for Linux.
Changed
- Directory structure rearranged. Before was all CANopen object files in
stackdirectory, now they are in separate directories according to standard (301,305,extra,socketCANfor Linux driver). Include directives for that files now contain directory path.CO_SDOrenamed toCO_SDOserverandCO_SDOmasterrenamed toCO_SDOclient. Change of the project files will be necessary. - Driver interface clarified. Before was pair of CO_driver.h/.c files for each microcontroller, now there is common CO_driver.h file. Drivers for other microcontrollers will be separate projects. Each driver must have own CO_driver_target.h file and function definitions from C_driver.h file. See documentation in CO_driver.h, example/CO_driver_target.h and example/CO_driver.c. There was no other mayor changes in driver interface.
- Time base is now microsecond in all functions.
- CANopen.h/.c files simplified and changed.
CO_USE_GLOBALSandCO_init()removed. Interface to those functions changed. CO_NMT_sendCommand()master function renamed and moved from CANopen.c into CO_NMT_Heartbeat.c.- Heartbeat consumer
CO_HBconsumer_process()optimized. - Rename in CO_driver_target.h:
IS_CANrxNew->CO_FLAG_READ,SET_CANrxNew->CO_FLAG_SET,CLEAR_CANrxNew->CO_FLAG_CLEAR - CO_driver.h file, function
CO_CANrxBufferInit(), last argument (callback) changed from(*pFunct)(void *object, const CO_CANrxMsg_t *message)tovoid (*CANrx_callback)(void *object, void *message). New functions are defined inCO_driver_target.hfile:CO_CANrxMsg_readIdent(),CO_CANrxMsg_readDLC()andCO_CANrxMsg_readData(). - It is necessary to manually update CO_OD.c file - it must include:
301/CO_driver.h,CO_OD.hand301/CO_SDOserver.h. - Added
void *objectargument to CO_*_initCallback() functions. API clarified. Callback functions called also from SDO_blockTransferInProgress.
Changed SocketCAN
- ./stack/socketCAN removed from the project, ./stack/Neuberger-socketCAN moved to ./socketCAN
- driver API updated
- CO_Linux_threads.h, function
void CANrx_threadTmr_init(uint16_t interval_in_milliseconds (changed to) uint32_t interval_in_microseconds)
Fixed
- Bugfix in
CO_HBconsumer_process(): argumenttimeDifference_uswas set to 0 inside for loop, fixed now. - BUG in CO_HBconsumer.c #168
Added
- Documentation added to
docdirectory: CHANGELOG.md, deviceSupport.md, gettingStarted.md, LSSusage.md and traceUsage.md. - All CANopen objects calculates next timer info for OS. Useful for energy saving.
Unreleased master
Changed
- License changed to Apache 2.0.
- NMT self start functionality (OD object 1F80) implemented to strictly folow standard. Default value for object 1F80 have to be updated in OD editor. See README.md.
Fixed
- Various fixes.
- neuberger-socketCAN fixed.
Added
- CANopen TIME protocol added.
v1.2 - 2019-10-08
Fixed
- Memory barrier implemented for setting/clearing flags for CAN received message.
- CO_Emergency and CO_HBconsumer files revised.
Added
- CANopen LSS master/slave protocol added for configuration of bitrate and node ID.
- Neuberger-socketCAN driver added.
- Emergency consumer added.
- Callbacks added to Emergency and Heartbeat consumer.
v1.1 - 2019-10-08
- Full ChangeLog
- Bugfixes. Some non-critical warnings in stack, some formatting warnings in tracing stuff.
v1.0 - 2017-08-01
- Full ChangeLog
- Stable.
v0.5 - 2015-10-20
- Git repository started on GitHub.
v0.4 - 2012-02-26
- Git repository started on Sourceforge git.
v0.1 - 2004-06-29
- First edition of CANopenNode on SourceForge, files section. (V0.80 on SourceForge).
Changelog written according to recomendations from https://keepachangelog.com/