Difference between revisions of "TODO"
Jump to navigation
Jump to search
m |
|||
(118 intermediate revisions by 10 users not shown) | |||
Line 3: | Line 3: | ||
=== Hardware support === | === 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). | |||
* Clean up device-specific globals in hardware drivers, to properly permit multiple devices per driver: | |||
* | |||
=== Input | === Input modules === | ||
* Add OLS input module support. | |||
* Add gnuplot input module support ([[User:Uwe Hermann|Uwe Hermann]]). | |||
* Add OLS input | |||
* Add gnuplot input | |||
=== Miscellaneous === | === Miscellaneous === | ||
* | * Check all public API calls to see whether they need an sr_context parameter. | ||
* sr_errno: | * sr_errno: | ||
** Most functions should return SR_OK or SR_ERR_* (same for SRD_OK etc). | ** 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_* | ** 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. | ** 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. | ** 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 == | == 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 support for multiple outputs of one PD, and stacking different additional PDs on those outputs. | ||
* Test/implement multiple inputs support. | * Test/implement multiple inputs support. | ||
* | * Python exception handling in libsrd: add full traceback support with srd_dbg(). | ||
== sigrok-cli == | == 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.