source: tools/FAD/simple_daq/simple_daq.h@ 437

Last change on this file since 437 was 261, checked in by dneise, 14 years ago
FAD SPI SLCK can be controled via sclkon & sclkoff see help
File size: 1.7 KB
Line 
1#ifndef SOCKETCLIENT_H_
2#define SOCKETCLIENT_H_
3
4#include <stdlib.h>
5#include <string.h>
6#include <stdio.h>
7#include <unistd.h>
8#include <sys/socket.h>
9#include <arpa/inet.h>
10#include <netdb.h>
11#include <signal.h>
12
13#define MAX_COM_SIZE 32000
14#define IP_ADDR_LENGTH 16
15
16#define FIRST_DAQPORT 5000
17#define SOCKETS_PER_FAD 8
18
19// Commands for FAD
20#define CMD_Start 0xC000 // Start Run
21#define CMD_Stop 0x3000 // Stop Run
22#define CMD_Trigger 0xA000 // single trigger
23#define CMD_DENABLE 0x0600 // DENABLE line HIGH
24#define CMD_DDISABLE 0x0700 // DENABLE line LOW
25#define CMD_DWRITE_RUN 0x0800 // DWRITE possibly HIGH
26#define CMD_DWRITE_STOP 0x0900 // DWRITE always LOW
27
28#define CMD_SCLK_ON 0x1000
29#define CMD_SCLK_OFF 0x1100
30
31#define CMD_Trigger_C 0xB000 // continous trigger
32#define CMD_Trigger_S 0x2000 // stop continous trigger
33#define CMD_Read 0x0A00 // read from Config-RAM
34#define CMD_Write 0x0500 // write to Config-RAM
35
36// Addresses in FAD Config-RAM
37#define MAX_ADDR 0xFF // highest address in Config-RAM
38#define BADDR_ROI 0x00 // Baseaddress ROI-Values
39#define BADDR_DAC 0x24 // Baseaddress DAC-Values
40
41// Max-Values
42#define MAX_VAL 65535
43#define MAX_ROINUM 35
44#define MAX_ROIVAL 1024
45#define MAX_DACNUM 7
46#define MAX_DACVAL 65535
47
48#define CONFIG_FILE_PATH "config.txt"
49
50class SimpleDaqConfiguration {
51public:
52 char FADIPAddress[IP_ADDR_LENGTH];
53 char outfilepath[200];
54 char outfilename[50];
55 char outfileext[10];
56};
57
58void cmd_send (char* Buffer, int Socket); // Send commands to socket
59void int_handler (int sig); // Handle signal SIGINT (CTRL-C)
60void exit_program (int exit_status); // Cleanup and exit
61SimpleDaqConfiguration *getConfig (const char *path, int verbose = 0);
62
63#endif /*SOCKETCLIENT_H_*/
Note: See TracBrowser for help on using the repository browser.