-
Notifications
You must be signed in to change notification settings - Fork 202
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 80ff1c51a7e7^
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: GlasgowEmbedded/glasgow
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 81e3fadeba7c
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 6 commits
- 3 files changed
- 1 contributor
Commits on Jul 19, 2019
-
access.direct.demultiplexer: introduce soft_flush
flush() ensures that all written data has been sent to the device. soft_flush() on the other hand ensures that all written data has been queued as USB URBs, but does not wait for them to complete. Use soft_flush() to ensure that every last byte of queued data will make it to the device in a timely manner, without stalling the entire USB transfer pipeline.
Configuration menu - View commit details
-
Copy full SHA for 80ff1c5 - Browse repository at this point
Copy the full SHA 80ff1c5View commit details -
applet.video.ws2812_output: use soft_flush
We need to make sure that all video data will make it to the Glasgow in a timely manner, to avoid "tearing" the frame (the LEDs cannot handle gaps longer than a few microseconds in the data stream without triggering a premature latch/reset), but we don't necessarily want to block for the data to actually be sent.
Configuration menu - View commit details
-
Copy full SHA for 39f2ce2 - Browse repository at this point
Copy the full SHA 39f2ce2View commit details -
access.direct.demultiplexer: introduce software side queue length limits
This implements a configurable thireshold for FIFO data queueing on the Python side, with pushback. Previously, any data was buffered eagerly, e.g. an applet sending data on the hardware side and never receiving it on the software side (or vice versa) would cause the data to pile up in Python buffers at full speed, with no memory usage limit. With this patch, the user may specify queue size limits. These limits are not strict, but rather just thresholds for pushback. If the user configures a 1MB FIFO limit and writes 100MB, the write will complete immediately, but a subsequent write will block until 99MB of data has been successufully queued with the USB subsystem (URB buffers do not count towards the limit). Similarly, configuring a 1MB read limit will allow a URB completion that crosses that threshold to complete, but no further URBs will be re-queued until the application reads data from the FIFO, eventually causing the on-device FIFO to fill up and stop accepting writes from the gateware.
Configuration menu - View commit details
-
Copy full SHA for b65b721 - Browse repository at this point
Copy the full SHA b65b721View commit details -
support.endpoint: introduce queue_size argument
This limits the receive queue size and pushes back on the underlying transport when the receive queue is full.
Configuration menu - View commit details
-
Copy full SHA for 10f27e6 - Browse repository at this point
Copy the full SHA 10f27e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbcf1ba - Browse repository at this point
Copy the full SHA bbcf1baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 81e3fad - Browse repository at this point
Copy the full SHA 81e3fadView commit details
There are no files selected for viewing