1. 17 10月, 2018 1 次提交
  2. 15 10月, 2018 2 次提交
    • D
      stm32/usbd_cdc_interface: Refactor USB CDC tx code to not use SOF IRQ. · 0f6f86ca
      Damien George 提交于
      Prior to this commit the USB CDC used the USB start-of-frame (SOF) IRQ to
      regularly check if buffered data needed to be sent out to the USB host.
      This wasted resources (CPU, power) if no data needed to be sent.
      
      This commit changes how the USB CDC transmits buffered data:
      - When new data is first available to send the data is queued immediately
        on the USB IN endpoint, ready to be sent as soon as possible.
      - Subsequent additions to the buffer (via usbd_cdc_try_tx()) will wait.
      - When the low-level USB driver has finished sending out the data queued
        in the USB IN endpoint it calls usbd_cdc_tx_ready() which immediately
        queues any outstanding data, waiting for the next IN frame.
      
      The benefits on this new approach are:
      - SOF IRQ does not need to run continuously so device has a better chance
        to sleep for longer, and be more responsive to other IRQs.
      - Because SOF IRQ is off, current consumption is reduced by a small amount,
        roughly 200uA when USB is connected (measured on PYBv1.0).
      - CDC tx throughput (USB IN) on PYBv1.0 is about 2.3 faster (USB OUT is
        unchanged).
      - When USB is connected, Python code that is executing is slightly faster
        because SOF IRQ no longer interrupts continuously.
      - On F733 with USB HS, CDC tx throughput is about the same as prior to this
        commit.
      - On F733 with USB HS, Python code is about 5% faster because of no SOF.
      
      As part of this refactor, the serial port should no longer echo initial
      characters when the serial port is first opened (this only used to happen
      rarely on USB FS, but on USB HS is was more evident).
      0f6f86ca
    • D
      stm32/usbd_cdc_interface: Handle disconnect IRQ to set VCP disconnected. · 53ccbe6c
      Damien George 提交于
      pyb.USB_VCP().isconnected() will now return False if the USB is
      disconnected after having previously been connected.
      
      See issue #4210.
      53ccbe6c
  3. 14 10月, 2018 5 次提交
  4. 13 10月, 2018 12 次提交
  5. 12 10月, 2018 1 次提交
    • G
      nrf/bluetooth: Set GAP_ADV_MAX_SIZE to 31 (s132/s140). · 11bc38d5
      Glenn Ruben Bakke 提交于
      For s132 and s140, GAP_ADV_MAX_SIZE was currently set to
      BLE_GATT_ATT_MTU_DEFAULT, which is 23. The correct value
      should have been 31, but there are no define for this in
      the s132/s140 header files as for s110.
      
      Updating define in ble_drv.c to the correct value of 31.
      11bc38d5
  6. 05 10月, 2018 8 次提交
  7. 02 10月, 2018 1 次提交
  8. 01 10月, 2018 10 次提交