From: Uwe Hermann Date: Thu, 25 Oct 2012 21:42:20 +0000 (+0200) Subject: HACKING: "Adding a new hardware driver" chapter. X-Git-Tag: dsupstream~628 X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=2bba3dd3a836f4a6d497709d321557a48e6425a3;p=libsigrok.git HACKING: "Adding a new hardware driver" chapter. --- diff --git a/HACKING b/HACKING index d89f4a32..9c422a32 100644 --- a/HACKING +++ b/HACKING @@ -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 ------------