<?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: FlexCAN and global mask none in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/FlexCAN-and-global-mask-none/m-p/168945#M1776</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have modified the Bare-Metal Kinetis example to have null filters, and to use only TX MB queue, and the RxFIFO MBs fill a further binary-sized RAM FIFO, and this can work for either or both ports on Kinetis.&amp;nbsp; I use this for J1939, and could probably take out more of that general-case example code for this specific purpose if I were ambitious.&amp;nbsp; As for 'not receiving our TX messages' there are erratta on Kinetis in regard to 'disable self reception'...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is started by:&lt;/P&gt;&lt;P&gt;FlexCAN_Open();&amp;nbsp;&amp;nbsp; //Open FlexCAN Interfaces&lt;/P&gt;&lt;P&gt;// Initialize CAN module&lt;/P&gt;&lt;P&gt;FlexCAN_Init(CAN_Bitrate, CAN0_BASE_PTR);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and polled thus:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;noBytesRx = FlexCAN_Read_RxFIFOQueue(&amp;amp;PortID, &amp;amp;idRxed, &amp;amp;tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;while(noBytesRx &amp;gt;0) //nonEmpty FIFO?&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if( PortID == 0 ) //Only CAN0 (1-wire) is currently J1939-formatted&lt;/P&gt;&lt;P&gt;&amp;nbsp; j1939_post(noBytesRx, &amp;amp;idRxed, tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; noBytesRx = FlexCAN_Read_RxFIFOQueue(&amp;amp;PortID, &amp;amp;idRxed, &amp;amp;tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--ERGII&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 28 Sep 2011 01:49:57 GMT</pubDate>
    <dc:creator>egoodii</dc:creator>
    <dc:date>2011-09-28T01:49:57Z</dc:date>
    <item>
      <title>FlexCAN and global mask none</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/FlexCAN-and-global-mask-none/m-p/168944#M1775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'd like to be able to configure the K60 FlexCAN module to send and receive messages on any ID.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I took the flexcan example from MQX and tried setting the global stdmask to 0 (mask none). &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The example has a mailbox configured for transmit with an identifier of 0x321 and a mailbox for receive with an identifier of 0x123. &amp;nbsp;With the global mask set to 0x000 (instead of 0x222), a message sent to this node generates a receive error of 0xa214. &amp;nbsp;Transmissions go out just fine. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why, and more importantly, how do I configure the FlexCAN to receive any message while still being able to send messages (and hopefully not receive its own)?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;JPA&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 23 Sep 2011 01:28:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/FlexCAN-and-global-mask-none/m-p/168944#M1775</guid>
      <dc:creator>jpa</dc:creator>
      <dc:date>2011-09-23T01:28:02Z</dc:date>
    </item>
    <item>
      <title>Re: FlexCAN and global mask none</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/FlexCAN-and-global-mask-none/m-p/168945#M1776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have modified the Bare-Metal Kinetis example to have null filters, and to use only TX MB queue, and the RxFIFO MBs fill a further binary-sized RAM FIFO, and this can work for either or both ports on Kinetis.&amp;nbsp; I use this for J1939, and could probably take out more of that general-case example code for this specific purpose if I were ambitious.&amp;nbsp; As for 'not receiving our TX messages' there are erratta on Kinetis in regard to 'disable self reception'...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is started by:&lt;/P&gt;&lt;P&gt;FlexCAN_Open();&amp;nbsp;&amp;nbsp; //Open FlexCAN Interfaces&lt;/P&gt;&lt;P&gt;// Initialize CAN module&lt;/P&gt;&lt;P&gt;FlexCAN_Init(CAN_Bitrate, CAN0_BASE_PTR);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and polled thus:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;noBytesRx = FlexCAN_Read_RxFIFOQueue(&amp;amp;PortID, &amp;amp;idRxed, &amp;amp;tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;while(noBytesRx &amp;gt;0) //nonEmpty FIFO?&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; if( PortID == 0 ) //Only CAN0 (1-wire) is currently J1939-formatted&lt;/P&gt;&lt;P&gt;&amp;nbsp; j1939_post(noBytesRx, &amp;amp;idRxed, tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;&amp;nbsp; else&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; noBytesRx = FlexCAN_Read_RxFIFOQueue(&amp;amp;PortID, &amp;amp;idRxed, &amp;amp;tstampRXed, bytesRx);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;--ERGII&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Sep 2011 01:49:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/FlexCAN-and-global-mask-none/m-p/168945#M1776</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2011-09-28T01:49:57Z</dc:date>
    </item>
  </channel>
</rss>

