Skip to content
  1. Aug 07, 2017
    • Stefan Kolb's avatar
      I discovered while working on the SAMV7 mcan driver that the implementation of... · 22dfa875
      Stefan Kolb authored
      I discovered while working on the SAMV7 mcan driver that the implementation of the CAN error handling is suboptimal. In the current implementation the following errors are implemented as pending errors:
      
      * Receiving
        * MCAN_INT_STE (Stuff Error)
          More than 5 equal bits in a sequence occurred.
        * MCAN_INT_CRCE (CRC Error)
          Received CRC did not match the calculated CRC.
        * MCAN_INT_RF0L (Receive FIFO 0 Message Lost)
          Receive FIFO 0 message lost, also set after write attempt to Receive FIFO 0 of size zero.
        * MCAN_INT_RF1L (Receive FIFO 1 Message Lost)
          Receive FIFO 1 message lost, also set after write attempt to Receive FIFO 1 of size zero.
      
      * Sending
        * MCAN_INT_BE (Bit Error)
          Device wanted to send a rec / dom level, but monitored bus level was dominant / recessive.
        * MCAN_INT_TEFL (Tx Event FIFO Element Lost)
          Tx Event FIFO element lost, also set after write attempt to Tx Event FIFO of size zero.
      
      * General
        * MCAN_INT_MRAF (Message RAM Access Failure)
          The flag is set, when the Rx Handler
          * has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx Handler starts processing of the following message.
          * was not able to write a message to the Message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated resp. the New Data flag for a dedicated Receive Buffer is not set, a partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the MCAN is switched into Restricted Operation mode (see Section 47.5.1.5). To leave Restricted Operation mode, the processor has to reset MCAN_CCCR.ASM.
        * MCAN_INT_ELO (Error Logging Overflow)
          Overflow of CAN Error Logging Counter occurred.
      
      The listed errors are not pending, the errors occurred and are gone directly afterwards. This commit changes the described behavior and simplifies the handling of CAN errors.
      22dfa875
    • Jeff's avatar
      I'm working on bringing up USB full-speed support on STM32F405.  My board does... · 4cbde229
      Jeff authored
      I'm working on bringing up USB full-speed support on STM32F405.  My board does not include a USB power switch, VBus sensing, over current detection, or ID pin.
      
      This commit add a config STM32_OTGFS_VBUS_ CONTROL which lets us selectively disable VBus sensing and control.  I also sneaked in a change to disable the configgpio call for the ID pin, which is only used in OTG mode which isn't supported yet.  The only pins that need to be initialized should be OTGFS_DP and OTGFS_DM.
      
      These changes let a USB mouse enumerate on my platform if it's plugged in on power-up.  Plugging, unplugging, clicking, or moving the mouse cause NSH to stop responding.  Because I'm using the ramlog, I don't have useful debug messaging yet, so there's a lot more work I have to do to troubleshoot it or get my JTAG debugging set up, but these patches shouldn't hurt anything.  I'm hoping my issue is something simple I overlooked in configuration.
      
      I'm planning to add similar changes for the OTGHS peripheral (using integrated full speed phy) but I still need to test those changes before submitting patches.
      4cbde229
    • Gregory Nutt's avatar
      Spirit bugfixes: Was hanging occasionally because there was not mechanism to... · 1ac48486
      Gregory Nutt authored
      Spirit bugfixes:  Was hanging occasionally because there was not mechanism to restart the poll timer if poll was not performed because Spirit ws busy.  Fixed by not checking if Spirit is busy.  The TX poll can be performed asynchronouly while spirit is busy; any outgoing data will queued until Spirit is ready. Fixed handling of a timeout condition.  Failure to transmition to the TX state would fail (timeout) if in a race condition Spirit already committed to the RX state.  The driver needs to recover the state properly and avoid debug assertions in this event.
      1ac48486
    • Gregory Nutt's avatar
    • Masayuki Ishikawa's avatar
      Merged in masayuki2009/nuttx.nuttx/smp_test (pull request #451) · 1dfed49a
      Masayuki Ishikawa authored
      
      
      sched/: Fix return value in sched_setaffinity()
      
      Approved-by: default avatarGregory Nutt <gnutt@nuttx.org>
      1dfed49a
    • Masayuki Ishikawa's avatar
      4530a723
  2. Aug 06, 2017
  3. Aug 05, 2017
  4. Aug 04, 2017