Ignore:
Timestamp:
09/07/10 09:05:39 (14 years ago)
Author:
ogrimm
Message:
now checks revision and just prints it.
init_fad() now sets DACs.

minor changes..
File:
1 edited

Legend:

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

    r9907 r9926  
    2222#include "iostream"
    2323
     24int revision = atoi(REVISION) * (strchr(REVISION,'M')==NULL ? 1:-1);
     25int fad_firmware_revision;
     26
    2427int init_fad();
     28int get_firmware_revision();
    2529int *SocketDescriptor;
    2630using namespace std;
     
    7579                }
    7680        }
     81       
    7782        init_fad();
     83       
     84        fad_firmware_revision = get_firmware_revision();       
     85        printf ("software revision is: %s or %d\n",REVISION,revision);
     86        printf ("firmware revision is: %d\n",fad_firmware_revision);
     87       
     88       
     89       
     90
    7891
    7992
     
    197210        cmd_send ("dd\n", SocketDescriptor[0]);                         
    198211sleep (1);
     212        cmd_send ("sd 0 21000\n", SocketDescriptor[0]);
     213        cmd_send ("sd 1 0\n", SocketDescriptor[0]);
     214        cmd_send ("sd 2 5000\n", SocketDescriptor[0]);
     215        cmd_send ("sd 3 5000\n", SocketDescriptor[0]);
     216        cmd_send ("sd 4 28800\n", SocketDescriptor[0]);
     217        cmd_send ("sd 5 28800\n", SocketDescriptor[0]);
     218        cmd_send ("sd 6 28800\n", SocketDescriptor[0]);
     219        cmd_send ("sd 7 28800\n", SocketDescriptor[0]);
     220
     221sleep (1);
    199222        cmd_send ("sra 10\n", SocketDescriptor[0]);
    200223        cmd_send ("sa 44 29\n", SocketDescriptor[0]);                   
     
    209232sleep (1);
    210233        cmd_send ("t\n", SocketDescriptor[0]);
    211 //      cmd_send ("sclkoff\n", SocketDescriptor[0]);                   
     234        cmd_send ("sclkoff\n", SocketDescriptor[0]);                   
    212235        cmd_send ("de\n", SocketDescriptor[0]);                 
    213236        cmd_send ("dr\n", SocketDescriptor[0]);                 
    214237        cmd_send ("sra 1024\n", SocketDescriptor[0]);                   
     238sleep (1);
     239
    215240        EmptySockets(SocketDescriptor, 8, 750000L);
     241
     242
    216243
    217244        printf (        "\n\n FAD initialised. \n "
    218245                                                "ROI is 1024. \n"
    219246                                                "DRS shift registers are initialised.\n"
    220                                                 "DRS is up and running.\n");
     247                                                "DRS is up and running.\n"
     248                                                "SPI SCLK was swithced off, TEMP readout makes no sense.\n"
     249                                                "DAC changes will neighter work. SWITCH SCLK back on, when trying to change DAC values\n"
     250                                                );
    221251
    222252return 0;
    223253}
    224254
     255int get_firmware_revision(){
     256
     257fd_set ReadFileDescriptor;
     258int max_fd = 0;
     259       
     260int read_return;
     261unsigned char buffer[984];
     262unsigned short x,rev;
     263
     264max_fd = GetMaxFileDescriptor(SOCKETS_PER_FAD, SocketDescriptor);
     265
     266        cmd_send ("sra 10\n", SocketDescriptor[0]);     
     267        cmd_send ("t\n", SocketDescriptor[0]);                                 
     268        sleep (1);
     269
     270
     271                FD_ZERO (&ReadFileDescriptor);         
     272                for (int i = 0; i < SOCKETS_PER_FAD; i++)
     273                {
     274                        FD_SET (SocketDescriptor[i], &ReadFileDescriptor);
     275                }
     276
     277                // Wait for data from sockets
     278                if (select (((int) max_fd) + 1, &ReadFileDescriptor, NULL, NULL, NULL) == -1)
     279                {
     280                        perror ("Error with select()\n");
     281                       
     282                }
     283               
     284 
     285                        // Check all sockets
     286                        for (int i = 0; i < SOCKETS_PER_FAD; i++)
     287                        {
     288                                if (FD_ISSET (SocketDescriptor[i], &ReadFileDescriptor))
     289                                {
     290                                        if ((read_return = read (SocketDescriptor[i], buffer, 984)) == 0)
     291                                        {
     292                                                printf ("Error: Server not existing anymore, exiting...\n");
     293                                                return -1;
     294                                        }
     295                                        if (read_return > 0)
     296                                        {
     297                                                printf ("Socket [%d]: Read %d Bytes\n", i, read_return);
     298                                        }
     299                                }
     300                        }
     301
     302        rev = (unsigned char)buffer[4]<<8 | (unsigned char)buffer [5];
     303
     304return rev;
     305}
     306
Note: See TracChangeset for help on using the changeset viewer.