Difference between revisions of "TODO"
Jump to navigation
Jump to search
Uwe Hermann (talk | contribs) (manpages are added, need some more work though. Random other fixes.) |
m |
||
(295 intermediate revisions by 15 users not shown) | |||
Line 1: | Line 1: | ||
== libsigrok == | == 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 == | ||
* | * 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.