<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: MKE18F512 flex_can settings for CANopen in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944226#M54511</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID 0 is a CANopen broadcast ID so it can't be filtered without inhibiting CANopen operation: Therefore I am not sure that you have a problem with the filter.&lt;/P&gt;&lt;P&gt;However if you are not yet using any filtering it would be normal that you receive lots of messages (all) if these are present on the bus. As you mention, you can filter in the firmware too, if you don't mind the overhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Jun 2019 12:10:45 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2019-06-20T12:10:45Z</dc:date>
    <item>
      <title>MKE18F512 flex_can settings for CANopen</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944223#M54508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am currently working on a project which requires me to use the flex_can feature on MKE18F512 chip. This project also requires CANopen communication protocal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I made the CAN bus to work, but if I want to use CANopen protocol, I have to disable/clear the ID filters in order to process different incoming CANopen COB_IDs. The problem is, when I have the ID filters cleared, I am receiving a lot of 0x00 messages which are completly garbage and it's a waste of all the resources.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am wondering if there is any way I can make the filter work as a non-zero message checker. Or, if there is any other example of implementing CANopen protocol on any similar chip, I would be happy to learn from.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peng&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Jun 2019 08:43:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944223#M54508</guid>
      <dc:creator>gp2004</dc:creator>
      <dc:date>2019-06-19T08:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: MKE18F512 flex_can settings for CANopen</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944224#M54509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not very experienced with CANopen but have used the following CANopen configuration in the uTasker project&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="property macro token"&gt;#define CANOPEN_RX_NODE_ID                  0x7a                         &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// we receive this node-ID&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#define CANOPEN_TX_NODE_ID                  0x37                         &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// this is the node-ID hat we use when transmitting&lt;/SPAN&gt;

&lt;SPAN class="keyword token"&gt;static&lt;/SPAN&gt; QUEUE_HANDLE &lt;SPAN class="token function"&gt;fnInitCANopenInterface&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    CANTABLE tCANParameters&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                             &lt;SPAN class="comment token"&gt;// table for passing information to driver&lt;/SPAN&gt;
    QUEUE_HANDLE CANopenHandle&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Task_to_wake &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; OWN_TASK&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                              &lt;SPAN class="comment token"&gt;// wake us on buffer events&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Channel &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                          &lt;SPAN class="comment token"&gt;// CAN0 interface&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulSpeed &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;250000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                     &lt;SPAN class="comment token"&gt;// 250k speed&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulTxID &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;121&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                       &lt;SPAN class="comment token"&gt;// default ID of destination (not used by CANopen)&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxID &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN_EXTENDED_ID &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; CANOPEN_RX_NODE_ID&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// extended node ID that we receive&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxIDMask &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; CANOPEN_RX_NODE_ID&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;       &lt;SPAN class="comment token"&gt;// receive extended address with 0x80000 set and exactly matching the node ID&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;usMode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                           &lt;SPAN class="comment token"&gt;// use normal mode&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ucTxBuffers &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;// assign two tx buffers for use&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ucRxBuffers &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                      &lt;SPAN class="comment token"&gt;// assign one rx buffers for extended ID use&lt;/SPAN&gt;
    CANopenHandle &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;fnOpen&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TYPE_CAN&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; FOR_I_O&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;tCANParameters&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;          &lt;SPAN class="comment token"&gt;// open CAN interface&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxID &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                           &lt;SPAN class="comment token"&gt;// broadcast address&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxIDMask &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; CAN_STANDARD_MASK&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                       &lt;SPAN class="comment token"&gt;// accept ID 0&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ucTxBuffers &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ucRxBuffers &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;fnConfigCAN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CANopenHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;tCANParameters&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                         &lt;SPAN class="comment token"&gt;// configure 1 buffer for this logical channel&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxID &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; CANOPEN_RX_NODE_ID&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                          &lt;SPAN class="comment token"&gt;// node ID that we receive&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ulRxIDMask &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x7f&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                    &lt;SPAN class="comment token"&gt;// accept only exact node ID&lt;/SPAN&gt;
    tCANParameters&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;ucRxBuffers &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="token function"&gt;fnConfigCAN&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CANopenHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;tCANParameters&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                         &lt;SPAN class="comment token"&gt;// configure 1 buffer for this logical channel&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; CANopenHandle&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;                                                &lt;SPAN class="comment token"&gt;// open CAN interface&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is used to receive exact CANopen extended IDs and standard IDs on the rx node 0x7a (for example) - one filter for each - then one filter for the broadcast (ID 0).&lt;BR /&gt;Anything else is rejected.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you specify exactly which IDs you need to filter?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Complete Kinetis solutions for professional needs, training and support:&lt;A href="http://www.utasker.com/kinetis.html" target="_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Kinetis KE1xF:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KE15Z.html" rel="nofollow noopener noreferrer" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KE15Z.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/TWR-KE18F.html" rel="nofollow noopener noreferrer" target="test_blank"&gt;http://www.utasker.com/kinetis/TWR-KE18F.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080;"&gt;&lt;EM&gt;uTasker: supporting &amp;gt;1'000 registered Kinetis users get products faster and cheaper to market&lt;/EM&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;EM&gt;Request Free emergency remote desk-top consulting at &lt;A href="http://www.utasker.com/services.html" rel="nofollow noopener noreferrer" target="test_blank"&gt;http://www.utasker.com/services.html&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Jun 2019 17:52:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944224#M54509</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-06-19T17:52:06Z</dc:date>
    </item>
    <item>
      <title>Re: MKE18F512 flex_can settings for CANopen</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944225#M54510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;&lt;P&gt;I am receiving a lot of 0x00 messages when I have the filters set to null (0).&amp;nbsp;&lt;/P&gt;&lt;P&gt;Right now I am looking for a way to set the filters to filter out all the 0x00 messages and keep the rest.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We don't have all the exact IDs we want yet, so we'd like to keep the receving hardware filter open and just do the application layer filter by hand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Peng&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2019 00:41:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944225#M54510</guid>
      <dc:creator>gp2004</dc:creator>
      <dc:date>2019-06-20T00:41:46Z</dc:date>
    </item>
    <item>
      <title>Re: MKE18F512 flex_can settings for CANopen</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944226#M54511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ID 0 is a CANopen broadcast ID so it can't be filtered without inhibiting CANopen operation: Therefore I am not sure that you have a problem with the filter.&lt;/P&gt;&lt;P&gt;However if you are not yet using any filtering it would be normal that you receive lots of messages (all) if these are present on the bus. As you mention, you can filter in the firmware too, if you don't mind the overhead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jun 2019 12:10:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MKE18F512-flex-can-settings-for-CANopen/m-p/944226#M54511</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-06-20T12:10:45Z</dc:date>
    </item>
  </channel>
</rss>

