• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pfalcon / micropython / 1395 / 3
98%
master: 98%

Build:
DEFAULT BRANCH: master
Ran 15 Oct 2018 09:42AM UTC
Files 238
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2018 04:37AM UTC coverage: 98.069% (-0.001%) from 98.07%
NAME="unix coverage build and tests"

push

travis-ci

dpgeorge
stm32/usbd_cdc_interface: Refactor USB CDC tx code to not use SOF IRQ.

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).

18232 of 18591 relevant lines covered (98.07%)

334585.09 hits per line

Source Files on job 1395.3 (NAME="unix coverage build and tests")
  • Tree
  • List 0
  • Changed 39
  • Source Changed 3
  • Coverage Changed 39
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 1372
  • Travis Job 1395.3
  • 0f6f86ca on github
  • Prev Job for NAME="unix coverage build and tests" on master (#1391.3)
  • Next Job for NAME="unix coverage build and tests" on master (#1397.3)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc