TODO
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
- File format:ROF: Used by DP800 series power supplies
- RAF: Used by DG1000Z, DG4000, and DG5000 series signal generators. See DG100Z User Guide page 2-75, also this post at eevblog.
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 support
- Add signal v-scale control (Volts/div).
- Add interpolation (cosine? sinc? some kind of interpolation filter?)
- Add support for other open/import file formats
- Add signal overview
- Paint speed profiling information.
- Code documentation
- Transition coding
- Store more config options with QSettings