tag:github.com,2008:https://github.com/quasar-team/CanModule/releasesRelease notes from CanModule2025-03-07T10:51:03Ztag:github.com,2008:Repository/57201536/v3.0.02025-04-29T15:21:23ZCanModule 3.0.0No content.luismiguensfernandeztag:github.com,2008:Repository/57201536/2.2.8-beta-12024-07-23T06:59:41Z2.2.8-beta-1<p>Update rtr and eff flags for received messages</p>luismiguensfernandeztag:github.com,2008:Repository/57201536/2.2.72024-06-07T12:23:19Z2.2.7: Update pkcan.cpp<p>suppress debugging in reception thread</p>meeludwigtag:github.com,2008:Repository/57201536/v2.2.72024-06-07T14:05:31Z2.2.7 production<h2>2.2.7 latest - production</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="minor debugging output improvements
some cleanup done as always
update CI for documentation image ubuntu24.04.doc
largely validated for performance and stability, see validation reports
no CAN extended ID, no CAN flexible datarate
debugging traces TRC/DBG in reception handlers w22 suppressed
last release from Michael before code handover to Luis"><pre class="notranslate"><code>minor debugging output improvements
some cleanup done as always
update CI for documentation image ubuntu24.04.doc
largely validated for performance and stability, see validation reports
no CAN extended ID, no CAN flexible datarate
debugging traces TRC/DBG in reception handlers w22 suppressed
last release from Michael before code handover to Luis
</code></pre></div>meeludwigtag:github.com,2008:Repository/57201536/v2.2.42024-03-07T09:06:05Z2.2.4<h2>small bug fixes</h2>
<ul>
<li>suppressed the interactive message box in CanLibLoaderWin.ccp:61 <a href="https://its.cern.ch/jira/browse/ENS-27467" rel="nofollow">https://its.cern.ch/jira/browse/ENS-27467</a></li>
<li>made m_updateInitialError () ; public again and renamed it to updateInitialError() accordingly, OPCUA-2602.<br>
also initialize it to 0 at init.</li>
<li>fixed a silly bug in the build chain for socketcan: some sources were missing.</li>
<li>code around reconnection behavior based on superclass methods everywhere now. Hope this works for windows</li>
<li>validation reports for versioning and stability ongoing across OS and vendors</li>
</ul>meeludwigtag:github.com,2008:Repository/57201536/v2.2.32024-01-11T09:52:16Z2.2.3<ul>
<li>very minor cleanup, just released for tidyness</li>
<li>same as 2.2.2</li>
</ul>meeludwigtag:github.com,2008:Repository/57201536/v2.2.22023-11-24T15:14:20Z2.2.2 ready for production<h2>tag 2.2.2 ready for production</h2>
<ul>
<li>some trailing fixes and cleanups since 2.2.1</li>
<li>remains stable also with 1e6 frames per port sent, with all 16ports of an anagateFZ connected on the same bus</li>
<li>conveniently tested to high confidence</li>
<li>wrap up of validation reports stability, performance and versions still in progress</li>
<li>alma9.3 for sock, otherwise (almost) any linux and alma9 for anagate, windows2022, windows2019</li>
</ul>meeludwigtag:github.com,2008:Repository/57201536/v2.2devel2023-05-30T15:06:20Zv2.2devel<ul>
<li>intermediate tag for new anagate bridge with added functionality.</li>
<li>builds for cc7, alma9, w2019s, w2022s</li>
<li>needs testing and docker-windows integration</li>
<li>NON PRODUCTION</li>
</ul>meeludwigtag:github.com,2008:Repository/57201536/2.1.12023-04-18T10:16:03Z2.1.1 for CanOpenNG<p>release good for production, issues for CanopenNG solved<br>
lots of updates and changes<br>
documentation update is in progress<br>
validated cc7, alma9, w2029 and w2022 with systec, peak, anagate, see</p>
<ul>
<li>EDMS <a href="https://edms.cern.ch/document/2848748/1" rel="nofollow">https://edms.cern.ch/document/2848748/1</a> (all signals validation)</li>
<li>EDMS <a href="https://edms.cern.ch/document/2827478/1" rel="nofollow">https://edms.cern.ch/document/2827478/1</a> (anagate fwd and rev compatibility)</li>
</ul>
<p>using anagate beta.v6 everywhere since it is backwards compatible without new functionality<br>
using latest vendor APIs elsewhere, but can choose versions in the build chain easily if needed<br>
there are now signals for:</p>
<ul>
<li>data transmit</li>
<li>port specific errors</li>
<li>global errors</li>
<li>port status changes</li>
</ul>meeludwigtag:github.com,2008:Repository/57201536/2.0.24intermediate2023-03-02T15:01:07Z2.0.24intermediate<h1>intermediate release 2.0.24, with lots of changes inside already</h1>
<ul>
<li>this release is validated for anagate bridges new and old, forward and backwards compatible with API beta.v6, for cc7, cs9, cal9 and w2016s. See <a href="https://edms.cern.ch/document/2827478/1" rel="nofollow">https://edms.cern.ch/document/2827478/1</a> for the detailed validation report on this. No new functionality is yet used or tested, just very basic stuff</li>
<li>new functionality required for integration with CanOpenNG is implemented already, see the issues underneath in progress <a href="https://its.cern.ch/jira/browse/OPCUA-2928" rel="nofollow">https://its.cern.ch/jira/browse/OPCUA-2928</a> . I am now going to test all this firstly, and have a new branch "devel2.0.25" for that if there are changes</li>
<li>the third step is the new diagnostic functionality from the anagate API beta.v6 ("ideal CAN bridge"). This should be based on the previous steps and be a branch "devel2.0.26". When all this is properly tested and validated then we are good.</li>
</ul>
<h2>USER FEEDBACK for CanOpenNG</h2>
<p>from now on this is again a good moment to collect and integrate any feedback you might have.<br>
Here is what happened so far:</p>
<h3>2.0.24 [ 30.jan.2023 ]</h3>
<ul>
<li>
<p>socketcan: reworks for CanOpenNG server integration, keeping compatibility with other implementations</p>
<ul>
<li>send remote requests also with stats, error signals and reconnection thread</li>
<li>using wrappers for send, socket</li>
<li>using signals for
<ul>
<li>can message error detection and publish<br>
detect error flags in the can message frame and decode them into text. For socketcan, this should be<br>
identical to can_get_state. For other implementations this would be the only way.</li>
<li>port status changes (not always errors) (NEW)<br>
extends the can_get_state (socketcan) with
<ul>
<li>CANMODULE_NOSTATE, // could not get state</li>
<li>CANMODULE_WARNING, // degradation but might recover</li>
<li>CANMODULE_ERROR, // error likely stemming from SW/HW/firmware</li>
<li>CANMODULE_TIMEOUT_OK, // bus is fine, no traffic</li>
<li>CANMODULE_OK // bus is fine<br>
so that this covers other vendors as well, at least approximatively, and sends that through a signal</li>
</ul>
</li>
<li>receiving can frames<br>
send the received CAN frames down the according port signal as usual</li>
</ul>
</li>
<li>sendRemoteRequest: copied clarification from Piotr using the wrapper</li>
<li>trigger reconnection thread when nb bytes read <0 , drop m_recoverPort() method for that</li>
<li>moved code out from header files to implementation</li>
</ul>
</li>
<li>
<p>getPortStatus() (unified) remains untouched. This method can be invoked by the user. This goes out to the hardware for any<br>
vendor, acquires the port state and returns the bit-pattern plus implementation encoding "sugar" in the highest nibble. This is<br>
always a straight-down-to-the-hardware method. If you invoke it too often you might slow sown / mess up the hw actually.</p>
</li>
<li>
<p>anagate: reworks for CanOpenNG server integration, keeping compatibility with other implementations</p>
<ul>
<li>error messages signalling much more extensive</li>
<li>port status change signals (NEW) as common defined standard</li>
<li>had to hack an anagate API header for windows. annoying but no big deal.</li>
</ul>
</li>
<li>
<p>peak:</p>
<ul>
<li>do proper versioning of the windows vendor libs, 17.nov2017 and 16.july.2022, see CanInterfaceImplementations/peak/CMakeLists.txt,<br>
as defaults. Use toolchain of course</li>
<li>fix (trivial) inconsistencies between API versions so that we have one code only</li>
<li>translate the wonderful error-bitpatterns from peak into new enum, and add the peak specific text to the error message which is LogIt'ed</li>
<li>for each status change, send a signal to the err handler, but suppress bitpattern details at this stage</li>
</ul>
</li>
<li>
<p>cal9 build with new beta.v6 anagate API lib, for a try</p>
</li>
<li>
<p>fix logit pull-in</p>
</li>
</ul>meeludwig