Difference between revisions of "TODO"
Jump to navigation
Jump to search
m (→PulseView) |
|||
(21 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
== libsigrok == | == libsigrok == | ||
=== Hardware support === | === Hardware support === | ||
* Clean up device-specific globals in hardware drivers, to properly permit multiple devices per driver: fx2lafw, zeroplus-logic-cube, others(?) | |||
* Asix SIGMA driver: support multiple devices properly (currently only one is supported). | |||
* 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: | |||
* Asix SIGMA driver: | |||
* Chronovu | |||
=== Input | === Input/output modules === | ||
* Scanalogic ([[User:Uwe Hermann|Uwe Hermann]]). | |||
* Rigol | |||
** [[File format:Rigol ROF|ROF]]: Used by [[Rigol DP800 series|DP800 series]] power supplies | |||
** [[File format:Rigol RAF|RAF]]: Used by DG1000Z, DG4000, and DG5000 series signal generators | |||
=== Input modules === | |||
* Add OLS input module support. | |||
* Add gnuplot input module support ([[User:Uwe Hermann|Uwe Hermann]]). | |||
* OLS | |||
* Add | |||
=== 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. | * Support specifying the firmware directory at runtime. | ||
== libsigrokdecode == | == libsigrokdecode == | ||
==== Major features ==== | |||
* Add high-precision timer to runtc | |||
==== 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 == | == fx2lafw == | ||
Line 153: | Line 52: | ||
** Investigate putting the CPU to sleep (except for processing interrupts) until enumerated. | ** 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?) | |||
* | * Aignal overview | ||
* Paint speed profiling information | |||
* Code documentation | |||
* 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. |
Revision as of 18:04, 1 October 2017
libsigrok
Hardware support
- Clean up device-specific globals in hardware drivers, to properly permit multiple devices per driver: fx2lafw, zeroplus-logic-cube, others(?)
- Asix SIGMA driver: support multiple devices properly (currently only one is supported).
- Chronovu LA8/LA16 driver: support multiple devices properly (currently only one is supported).
Input/output modules
- Scanalogic (Uwe Hermann).
- Rigol
- ROF: Used by DP800 series power supplies
- RAF: Used by DG1000Z, DG4000, and DG5000 series signal generators
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
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?)
- Aignal overview
- Paint speed profiling information
- Code documentation
- 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.