Difference between revisions of "TODO"

From sigrok
Jump to navigation Jump to search
Line 5: Line 5:
* Remove dependency on glib and gmodule (various reasons), at least in libsigrok, probably also in sigrok-cli.
* Remove dependency on glib and gmodule (various reasons), at least in libsigrok, probably also in sigrok-cli.
** A new linked list implementation must be found, or written, that duplicates the important parts of glib's GSList (singly-linked list).
** A new linked list implementation must be found, or written, that duplicates the important parts of glib's GSList (singly-linked list).
** make a manpage for sigrok-cli, based on [[Command-line|the wiki page]]
* make a manpage for sigrok-cli, based on [[Command-line|the wiki page]]




Line 37: Line 37:
Since this driver only needs to change to 0/1 at a configurable interval, and the interval is exactly the same as the count of the samples in the datafeed it outputs, the signal it generates would thus be 100% perfect, making it an interesting reference.
Since this driver only needs to change to 0/1 at a configurable interval, and the interval is exactly the same as the count of the samples in the datafeed it outputs, the signal it generates would thus be 100% perfect, making it an interesting reference.
</blockquote>
</blockquote>
* open source firmware for the FX2 devices
<blockquote>
The Cypress FX2-based devices, such as the Saleae Logic and the USBee SX, use only a minimal vendor-provided firmware. The only thing it really does is set the sample rate and turn on the chip's auto-mode. Nevertheless, the vendors provide the firmware as a binary blob, with no source.
It would be great if sigrok could ship with an own firmware implementation for these devices. Some links:
** [http://sdcc.sourceforge.net/ SDCC], the Small Devices C Compiler, is a compiler specifically suited to small MCUs, and has support for the 8051 core in the FX2.
** [http://allmybrain.com/2008/12/05/an-open-source-library-for-writing-firmware-on-the-cypress-fx2-with-sdcc/ fx2lib] is an open source library for writing firmware on the FX2. It has a number of interesting functions, including implementing custom USB vendor commands.
** [http://gnuradio.org/ GNU Radio]'s USRP2 board has an FX2 on it, and GNU Radio has extensive custom firmware for it.
</blockquote>


== sigrok-cli ==
== sigrok-cli ==

Revision as of 16:46, 25 March 2010

This is a random list of TODO items for the code and/or ideas for improvements.

General

  • Remove dependency on glib and gmodule (various reasons), at least in libsigrok, probably also in sigrok-cli.
    • A new linked list implementation must be found, or written, that duplicates the important parts of glib's GSList (singly-linked list).
  • make a manpage for sigrok-cli, based on the wiki page


libsigrok

  • Test whether the libusb 1.0 Windows port works (seems to build fine using Mingw).
  • Merge all header files in a single sigrok.h (possibly another sigrok-internal.h which is not visible to the lib users).
  • sigrok_errno:

Most backend functions return status as an integer, which is SIGROK_OK if all went well, or SIGROK_NOK and similar 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.

Both the cmdline and GUI interfaces need this, really, so it should be a backend library thing.

libsigrokdecode

  • Keep this independent of libsigrok and any logic analyzer hardware. It should work purely on streams / buffers of bytes to be usable by other projects.

Hardware drivers

  • Demo driver

It would be good if sigrok would ship with a built-in driver that always works, regardless of hardware connected. This driver would be configurable to provide a clock on a virtual pin, with configurable frequency. It could support multiple of these, at different frequencies.

In addition to giving anyone something to do with sigrok to try it out, this may also have some use cases outside of this: perhaps as a reference clock, next to a live capture.

Since this driver only needs to change to 0/1 at a configurable interval, and the interval is exactly the same as the count of the samples in the datafeed it outputs, the signal it generates would thus be 100% perfect, making it an interesting reference.

  • open source firmware for the FX2 devices

The Cypress FX2-based devices, such as the Saleae Logic and the USBee SX, use only a minimal vendor-provided firmware. The only thing it really does is set the sample rate and turn on the chip's auto-mode. Nevertheless, the vendors provide the firmware as a binary blob, with no source.

It would be great if sigrok could ship with an own firmware implementation for these devices. Some links:

    • SDCC, the Small Devices C Compiler, is a compiler specifically suited to small MCUs, and has support for the 8051 core in the FX2.
    • fx2lib is an open source library for writing firmware on the FX2. It has a number of interesting functions, including implementing custom USB vendor commands.
    • GNU Radio's USRP2 board has an FX2 on it, and GNU Radio has extensive custom firmware for it.


sigrok-cli

sigrok-gui

Decoders

Code quality and build

  • consistently use 'samplerate' instead of 'rate'