Difference between revisions of "TODO"
Jump to navigation
Jump to search
m |
|||
(140 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
== | == libsigrok == | ||
=== Hardware support === | |||
* Clean up device-specific globals in hardware drivers, to properly permit multiple devices per driver: fx2lafw, zeroplus-logic-cube, others(?) | |||
* Chronovu LA8/LA16 driver: support multiple devices properly (currently only one is supported). | |||
=== | === Input modules === | ||
* Add OLS input module support. | |||
* Add gnuplot input module support ([[User:Uwe Hermann|Uwe Hermann]]). | |||
=== Miscellaneous === | |||
* Check all public API calls to see whether they need an sr_context parameter. | |||
* sr_errno: | |||
** Most functions should return SR_OK or SR_ERR_* (same for SRD_OK etc). | |||
** | ** Most backend functions return status as an integer, which is SR_OK if all went well, or SR_ERR_* if an error occurred. | ||
** | ** However, there is no way to pass any information back as to what went wrong — and this is important for user-friendliness. | ||
* | ** Perhaps an error code is not enough; maybe something like sigrok_errno(errorcode, "unsupported device") is better. | ||
* Support specifying the firmware directory at runtime. | |||
=== | == libsigrokdecode == | ||
* | ==== Major features ==== | ||
* | * Add high-precision timer to runtc | ||
* | * Add annotation mime types | ||
* Add annotation metadata (type/value/unit) to allow clients to format the value as the user desires (ASCII/dec/hex/bin/whatever) | |||
=== | ==== Other ==== | ||
* Test/implement support for multiple outputs of one PD, and stacking different additional PDs on those outputs. | |||
* Test/implement multiple inputs support. | |||
* Python exception handling in libsrd: add full traceback support with srd_dbg(). | |||
== sigrok-cli == | |||
== fx2lafw == | |||
* Analog sampling: 1-channel, 2-channel, voltage meter | |||
* Trigger pin | |||
* Clock input | |||
* Clock output | |||
* Frequency/pulse counter | |||
* Signal generator | |||
* Fix power consumption during enumeration. | |||
** Non-LP FX2's consume more than 100mA during enumeration. This is outside of the USB specification | |||
** Official workaround is to enumerate first as full-speed, then as high-speed. This is overkill for sigrok. | |||
** Investigate putting the CPU to sleep (except for processing interrupts) until enumerated. | |||
== PulseView == | |||
* | * Deduplicate property setting functionality between SamplingBar and DeviceOptions - make SamplingBar a properties container | ||
* Analog interpolation (cosine? sinc? some kind of interpolation filter?) | |||
* Signal overview | |||
* Transition coding | |||
* | |||
* | |||
* | |||
== | == sigrok-meter == | ||
* Add | * Make the list of measurements look nicer without using too much additional space. | ||
* | * Add graphs. | ||
* | ** [http://www.pyqtgraph.org/ PyQtGraph] looks like a nice graphing library. | ||
* | *** Works with PyQt and PySide. | ||
*** Pure python, easy to install. | |||
*** Few dependencies: '''scipy''' is not required any more in the upcoming version 0.9.9, '''numpy''' is already a dependency of the python bindings. | |||
*** From looking at the examples, it seems more than fast enough for our requirements. | |||
** Pass all samples (not only the most recent one) to the GUI thread and store them there. | |||
*** The packet payload object is currently not thread save. |
Latest revision as of 13:11, 19 July 2020
libsigrok
Hardware support
- Clean up device-specific globals in hardware drivers, to properly permit multiple devices per driver: fx2lafw, zeroplus-logic-cube, others(?)
- Chronovu LA8/LA16 driver: support multiple devices properly (currently only one is supported).
Input modules
- Add OLS input module support.
- Add gnuplot input module support (Uwe Hermann).
Miscellaneous
- Check all public API calls to see whether they need an sr_context parameter.
- sr_errno:
- Most functions should return SR_OK or SR_ERR_* (same for SRD_OK etc).
- Most backend functions return status as an integer, which is SR_OK if all went well, or SR_ERR_* if an error occurred.
- However, there is no way to pass any information back as to what went wrong — and this is important for user-friendliness.
- Perhaps an error code is not enough; maybe something like sigrok_errno(errorcode, "unsupported device") is better.
- Support specifying the firmware directory at runtime.
libsigrokdecode
Major features
- Add high-precision timer to runtc
- Add annotation mime types
- Add annotation metadata (type/value/unit) to allow clients to format the value as the user desires (ASCII/dec/hex/bin/whatever)
Other
- Test/implement support for multiple outputs of one PD, and stacking different additional PDs on those outputs.
- Test/implement multiple inputs support.
- Python exception handling in libsrd: add full traceback support with srd_dbg().
sigrok-cli
fx2lafw
- Analog sampling: 1-channel, 2-channel, voltage meter
- Trigger pin
- Clock input
- Clock output
- Frequency/pulse counter
- Signal generator
- Fix power consumption during enumeration.
- Non-LP FX2's consume more than 100mA during enumeration. This is outside of the USB specification
- Official workaround is to enumerate first as full-speed, then as high-speed. This is overkill for sigrok.
- Investigate putting the CPU to sleep (except for processing interrupts) until enumerated.
PulseView
- Deduplicate property setting functionality between SamplingBar and DeviceOptions - make SamplingBar a properties container
- Analog interpolation (cosine? sinc? some kind of interpolation filter?)
- Signal overview
- Transition coding
sigrok-meter
- Make the list of measurements look nicer without using too much additional space.
- Add graphs.
- PyQtGraph looks like a nice graphing library.
- Works with PyQt and PySide.
- Pure python, easy to install.
- Few dependencies: scipy is not required any more in the upcoming version 0.9.9, numpy is already a dependency of the python bindings.
- From looking at the examples, it seems more than fast enough for our requirements.
- Pass all samples (not only the most recent one) to the GUI thread and store them there.
- The packet payload object is currently not thread save.
- PyQtGraph looks like a nice graphing library.