HACKING: "Adding a new hardware driver" chapter.

This commit is contained in:
Uwe Hermann 2012-10-25 23:42:20 +02:00
parent d36777dbf5
commit 2bba3dd3a8
1 changed files with 44 additions and 0 deletions

44
HACKING
View File

@ -24,6 +24,50 @@ Contributions
github.com, or any other public git hosting site.
Adding a new hardware driver
----------------------------
The simple, scripted way (recommended):
---------------------------------------
Use the 'new-driver' script from the sigrok-util repo:
$ git clone git://sigrok.org/sigrok-util
$ cd sigrok-util/source
$ ./new-driver "Tondaj SL-814"
The example above generates a patch file against the current libsigrok
development git tree which adds a simple "stub" driver for your device
(the Tondaj SL-814 sound level meter in this case).
You can apply it like this:
$ cd libsigrok
$ git am 0001-tondaj-sl-814-Initial-driver-skeleton.patch
You can now edit the files in the hardware/tondaj-sl-814 directory as needed.
The manual way:
---------------
This is a rough overview of what you need to do in order to add a new driver
(using the Tondaj SL-814 device as example). It's basically what the
'new-driver' script (see above) does for you:
- configure.ac:
- Add an --enable-tondaj-sl-814 option.
- Add "hardware/tondaj-sl-814/Makefile" to the AC_CONFIG_FILES list.
- Add and entry for the device in the "Enabled hardware drivers" list
at the bottom of the file.
- hardware/Makefile.am: Add "tondaj-sl-814" to the SUBDIRS variable.
- hwdriver.c: Add a tondaj_sl_814_driver_info entry in two places.
- hardware/tondaj-sl-814/ directory: Add the following files:
Makefile.am, api.c, protocol.c, protocol.h
See existing drivers or the 'new-driver' output for the details.
Random notes
------------