FMC TDC SW support
DOCUMENTATION UNDER DEVELOPMENT*
Introduction
This is the project to provide support of the FMC TDC board in the Linux kernel plugged to a SPEC carrier board.
The aim is to provide an loadable module to be used along with this board for the latest Linux kernel versions. The driver relies on ZIO framework and the FMC bus dependencies, which are projects also hosted under OHWR.
Dependencies
To compile properly this driver, you should have downloaded the following repositories (branch master).
Download
To download the sources, you should execute the following command:
$ git clone git:https://www.ohwr.org/fmc-projects/fmc-tdc/fmc-tdc-sw.git
Compile
To compile the sources, you should execute the following command:
$ make
Loading the drivers
To load the drivers, we should load the dependencies first:
# insmod <path_zio>/zio.ko
# insmod <path_fmc-bus>/kernel/fmc.ko
# insmod <path_spec-sw>/kernel/spec.ko
Once the dependencies are loaded, we load the drivers:
# insmod <path_fmc-tdc-sw>/drivers/zio-trigger-tdc.ko
# insmod <path_fmc-tdc-sw>/drivers/spec-tdc.ko <parameters>
The spec-tdc.ko driver has several parameters, you can discover them executing:
modinfo ./spec-tdc.ko.
- lun: Logical unit number.
- bus: PCI bus number where the SPEC+TDC is plugged on.
- slot: PCI slot where the SPEC+TDC is plugged on.
To know which are the bus and slot numbers, one can use the command lspci:
$ lspci
[...]
00:04.0 Non-VGA unclassified device: CERN/ECP/EDU Device 018d (rev 03)
In the previous output, the parameters will be: bus=0 slot=4.
Libtdc, an user-space library
Introduction
To facilitate the task of managing the FMC TDC devices, it is provided an C/C** user-space library. It is recommended to use it instead of accesing directly to the driver.
API
As the API description is quite long, it is recommended to read the documentation files generated by the "make" command in your local copy of the repository.
To perform this task properly, you should have texlive and doxygen packages installed on your system.
Test program
Introduction
The test program is used to check the proper behavior of the board in
case of failure or to check if there is a bug in the driver or in the
library.
The test program has an CLI interface due to some limitations when
accessing remotely to the machine. It is designed to allow the execution
of the program under SSH.
Dependencies
- Python 2.7 or higher.
First of all, before execute it, you should compile the shared object library:
$ cd <path_fmc-tdc-sw>/lib
$ make libtdc.so
How to use it
To execute it:
$ cd <path_fmc-tdc-sw>/test
$ ./test-fmctdc.py
If you want the help, you can execute:
$ ./test-fmctdc.py -h
Mailing list
In case you need help, you want to contribute or you just want to follow the development process, please subscribe to the Mailing list
Links
Project Status
Date | Event |
26-08-2012 | Project start. |
18-09-2012 | FMC TDC SW support website created in OHWR |
11-10-2012 | Uploaded the development source code. Alpha status |
25-10-2012 | Changed to beta status. Added documentation |