# Overview This package holds the core functionality of FDA. # Usage use -Djava.util.logging.config.file=logging.properties` to configure logging ## Server The FDA server is started as follows: ``` ./bin/server -h usage: fda -h Help -p Server port (default: 8080) -s Server address (default: localhost) ``` Start new scan: ``` curl -X PUT -d @scan1d.xml -H 'Content-Type:application/xml' http://localhost:8080/fda/scan ``` ## Viewer ``` ./bin/viewer -h usage: viewer -h Help -p Server port (default: 10000) -s Server address (default: localhost) ``` # Development When checking out the project from the repository there is the `target/generated-sources/xjc` folder missing. After checking out the project execute `mvn compile` to create the folder and the required classes. To build project use `mvn clean install`. To upload the latest version to the central artifact repository use `mvn clean deploy`. Create Zip file via `mvn clean compile assembly:assembly` To use the FDA libary in an other project (like the GUI project) use: ``` ch.psi fda x.x.x ``` ## REST FDA offers a rest service to execute scans. There are 3 distinct service for fda scan, fdaq and cdump. ### FDA Service Submit scan ``` PUT fda/{trackingId} Content-Type: application/xml ... 204 - Success ``` Stop/cancel scan ``` DELETE fda/{trackingId} 204 - Success ``` Stop all scans ``` DELETE fda 204 - Success ``` Check if scan is running ``` GET fda/{trackingId}/running 200 - true/false ``` Wait for scan done (blocks until scan is done) ``` GET fda/{trackingId}/done 204 - Success ``` # Notes ## Upgrade FDA 1.x to 2.x In existing fda.properties file the following property need to be added: `ch.psi.fda.aq.data.dir=../data` ## Upgrade FDA 2.6.1 There are 2 new properties for crlogic: ``` ch.psi.fda.aq.crlogic.ioc=X05LA-VME-ES2 ch.psi.fda.aq.crlogic.prefix=X05LA-ES2-CRL ``` # FDAQ ## Overview This software is used to readout the FDAQ box developed at X10SA. On The FDAQ box there are 2 socket servers, one for retrieving the data and one for resetting the socket server for data retrieval. The fdaq code provides exactly 2 functionalities. It can query on the data socket for data (need to specifying how many data point to read), and it can send a reset request on the reset channel. ## Usage To acquire data into a file use: ``` java -jar ch.psi.fda.fdaq-.jar ``` You can terminate the acquisition with *CTRL+C*. If you submit 2 consequtive *CTRL+C* the program will terminate immediately (and data might be lost); This will take the default connections settings: * Hostname: mchip015.psi.ch * Port: 2233 * Kill Port: 2234 * Number Of Elements: Integer.MAX_VALUE/2 If you need to specify different settings create a property files with following content: ``` ch.psi.fda.fdaq.hostname=myhost ch.psi.fda.fdaq.port=1234 ch.psi.fda.fdaq.killPort=4321 ``` Use `-Dch.psi.fda.fdaq.config.file=` to use this property file as base configuration. ## Development A standalone jar can be build via `mvn clean compile assembly:single`. To upload the latest version to the artifact repository use ` mvn clean compile deploy`. ## Notes Trigger port is `Trigger In 1`. For testing apply a 1kHz signal.