Changeset 10918 for fact/tools/FSC


Ignore:
Timestamp:
06/07/11 19:29:15 (14 years ago)
Author:
neise
Message:
 
Location:
fact/tools/FSC/simple_daq
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • fact/tools/FSC/simple_daq/simple_daq.cpp

    r10894 r10918  
    11/********************************************************************\
    22
    3   Read SOCKETS_PER_FAD Channels from FAD-Board
     3  Read NUMBER_OF_SOCKETS Channels from FAD-Board
    44  Write Commands to Socket 0, Commands must be (n * 16) Bit long
    55 
     
    3131using namespace std;
    3232
    33 FSC_STATUS *answer;
     33
    3434
    3535int main(int argc, char *argv[])
     
    4343        int max_fd = 0;
    4444       
    45         FILE* outfile[SOCKETS_PER_FAD];
     45        FILE* outfile[NUMBER_OF_SOCKETS];
    4646        char outfilename[PATH_MAX];
    4747
    48        
    49                 SimpleDaqConfiguration *conf;
     48        FSC_STATUS *answer;
     49       
     50        SimpleDaqConfiguration *conf;
    5051        // Get configuration file path from command line
    5152        // Get configurarion from configurationfile.
    52         // such as FAD IP Adress
     53        // such as IP Adress
    5354        if (argc > 1)
    5455        {
     
    5758                conf = getConfig(CONFIG_FILE_PATH);
    5859        }
     60        if (conf == NULL) {
     61                fprintf ( stderr, "Error: Config Error. \n");
     62                exit_program (EXIT_FAILURE);
     63        }
    5964       
    6065        // Open sockets
    61         SocketDescriptor = OpenSockets(SOCKETS_PER_FAD);
     66        SocketDescriptor = OpenSockets(NUMBER_OF_SOCKETS);
    6267        if (SocketDescriptor == NULL) {
     68                fprintf(stderr, "Error: While opening sockets. \n");
    6369                exit_program (EXIT_FAILURE);
    6470        }
    65         max_fd = GetMaxFileDescriptor(SOCKETS_PER_FAD, SocketDescriptor);
     71        max_fd = GetMaxFileDescriptor(NUMBER_OF_SOCKETS, SocketDescriptor);
    6672       
    6773        // Connect to server
    68         if( Connect2Server(     SocketDescriptor, SOCKETS_PER_FAD, FIRST_DAQPORT, conf->FADIPAddress, 1) != SOCKETS_PER_FAD) {
     74        if( Connect2Server(     SocketDescriptor, NUMBER_OF_SOCKETS, FIRST_DAQPORT, conf->FADIPAddress, 1) != NUMBER_OF_SOCKETS) {
    6975                        // Connect2Server prints some error messages in case of exceptions...
    7076                        printf ("Error in Connect2Server()\n");
     
    7379
    7480        // Open files for output
    75         for (int i = 0; i < SOCKETS_PER_FAD; i++)
     81        for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    7682        {
    7783                sprintf (outfilename, "%s/%s-%d.%s", conf->outfilepath, conf->outfilename, i, conf->outfileext);
    7884                if ((outfile[i] = fopen (outfilename, "w")) == NULL)
    7985                {
    80                         printf ("Error: Could not open file %s\n", outfilename);
     86                        printf ("Error: Could not open output-file %s\n", outfilename);
    8187                        exit_program (EXIT_FAILURE);
    8288                }
    8389        }
    8490       
    85         //init_fad();
     91
    8692       
    8793        //fad_firmware_revision = get_firmware_revision();     
     
    94100        signal (SIGINT, int_handler); // Cleanup after SIGINT (CTRL-C)
    95101
    96 //      init_fad();
    97 //      fflush (stdin);
    98102        // Main loop
    99103        while (true)
     
    103107                FD_ZERO (&ReadFileDescriptor);         
    104108                FD_SET(STDIN_FILENO, &ReadFileDescriptor);
    105                 for (int i = 0; i < SOCKETS_PER_FAD; i++)
     109                for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    106110                {
    107111                        FD_SET (SocketDescriptor[i], &ReadFileDescriptor);
     
    118122 
    119123
    120                 // init board -- should be switchable
    121                 // with a commandline switch, but ...
    122                 // TODO
    123 
    124 
    125124                // Data from STDIN
    126125                if (FD_ISSET (STDIN_FILENO, &ReadFileDescriptor))
     
    134133                {
    135134                        // Check all sockets
    136                         for (int i = 0; i < SOCKETS_PER_FAD; i++)
     135                        for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    137136                        {
    138137                                if (FD_ISSET (SocketDescriptor[i], &ReadFileDescriptor))
    139138                                {
    140139                                        // Only for testing
    141                                         memset (Buffer, 0xAA, sizeof (Buffer));
     140                                        memset (Buffer, 0, sizeof (Buffer));
    142141                                        if ((read_return = read (SocketDescriptor[i], Buffer, MAX_COM_SIZE)) == 0)
    143142                                        {
     
    149148                                        {
    150149                                                printf ("Socket [%d]: Read %d Bytes\n", i, read_return);
     150                                                printf ("\n\n%s\n", Buffer);
     151                                               
     152                                                //answer = Buffer;
     153                                               
    151154                                               
    152155                                               
     
    167170{       
    168171        printf ("\nClosing Sockets...");
    169         for (int i = 0; i < SOCKETS_PER_FAD; i++)
     172        for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    170173        {
    171174                close (SocketDescriptor[i]);
     
    192195ConfigFile = fopen (path, "r");
    193196if (ConfigFile == NULL) {
     197        fprintf ( stderr, "Error: Config Error. \n File not found %s", path);
    194198        return NULL;
    195199}
     
    266270unsigned short rev;
    267271
    268 max_fd = GetMaxFileDescriptor(SOCKETS_PER_FAD, SocketDescriptor);
     272max_fd = GetMaxFileDescriptor(NUMBER_OF_SOCKETS, SocketDescriptor);
    269273
    270274        cmd_send ("sra 10\n", SocketDescriptor[0]);     
     
    274278
    275279                FD_ZERO (&ReadFileDescriptor);         
    276                 for (int i = 0; i < SOCKETS_PER_FAD; i++)
     280                for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    277281                {
    278282                        FD_SET (SocketDescriptor[i], &ReadFileDescriptor);
     
    288292 
    289293                        // Check all sockets
    290                         for (int i = 0; i < SOCKETS_PER_FAD; i++)
     294                        for (int i = 0; i < NUMBER_OF_SOCKETS; i++)
    291295                        {
    292296                                if (FD_ISSET (SocketDescriptor[i], &ReadFileDescriptor))
  • fact/tools/FSC/simple_daq/simple_daq.h

    r10894 r10918  
    1414#define IP_ADDR_LENGTH 16
    1515
    16 #define FIRST_DAQPORT 5000
    17 #define SOCKETS_PER_FAD 1
     16#define FIRST_PORT 5000
     17#define NUMBER_OF_SOCKETS 1
     18#define CONFIG_FILE_PATH "./config.txt"
    1819
    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_PS_DIRINC 0x1200
    32 #define CMD_PS_DIRDEC 0x1300
    33 #define CMD_PS_DO 0x1400
    34 #define CMD_PS_RESET 0x1700
     20// Commands for Board
     21// to be done
    3522
    3623
    37 #define CMD_SRCLK_ON 0x1500
    38 #define CMD_SRCLK_OFF 0x1600
    39 
    40 #define CMD_Trigger_C 0xB000    // continous trigger
    41 #define CMD_Trigger_S 0x2000    // stop continous trigger
    42 #define CMD_Read 0x0A00                 // read from Config-RAM
    43 #define CMD_Write 0x0500                // write to Config-RAM
    44 
    45 // Addresses in FAD Config-RAM
    46 #define MAX_ADDR 0xFF // highest address in Config-RAM
    47 #define BADDR_ROI 0x00 // Baseaddress ROI-Values
    48 #define BADDR_DAC 0x24 // Baseaddress DAC-Values
    49 
    50 // Max-Values
    51 #define MAX_VAL 65535
    52 #define MAX_ROINUM 35
    53 #define MAX_ROIVAL 1024
    54 #define MAX_DACNUM 7
    55 #define MAX_DACVAL 65535
    56 
    57 #define CONFIG_FILE_PATH "config.txt"
    5824
    5925class SimpleDaqConfiguration {
Note: See TracChangeset for help on using the changeset viewer.