mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-12 21:07:13 +02:00
included settting up of udpport from client and getting receiver mac from receiver and also listening to only one ethernet interface
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@371 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
@ -1129,11 +1129,11 @@ int setDACRegister(int idac, int val, int imod) {
|
||||
|
||||
int getTemperature(int tempSensor, int imod){
|
||||
int val;
|
||||
char cTempSensor[2][100]={"ADCs/ASICs","VRs/FPGAs"};
|
||||
imod=0;//ignoring more than 1 mod for now
|
||||
int i,j,repeats=6;
|
||||
u_int32_t tempVal=0;
|
||||
#ifdef VERBOSE
|
||||
char cTempSensor[2][100]={"ADCs/ASICs","VRs/FPGAs"};
|
||||
printf("Getting Temperature of module:%d for the %s for tempsensor:%d\n",imod,cTempSensor[tempSensor],tempSensor);
|
||||
#endif
|
||||
bus_w(TEMP_IN_REG,(T1_CLK_BIT)|(T1_CS_BIT)|(T2_CLK_BIT)|(T2_CS_BIT));//standby
|
||||
@ -1250,7 +1250,7 @@ int initConfGain(int isettings,int val,int imod){
|
||||
}
|
||||
|
||||
|
||||
int configureMAC(int ipad,long long int macad,long long int servermacad,int ival, int adc){
|
||||
int configureMAC(int ipad,long long int macad,long long int servermacad,int ival, int adc,int udpport){
|
||||
//setting daqregister
|
||||
setDAQRegister(adc);
|
||||
//setting adc mask
|
||||
@ -1409,7 +1409,7 @@ int configureMAC(int ipad,long long int macad,long long int servermacad,int ival
|
||||
//#endif
|
||||
|
||||
mac_conf_regs->udp.udp_srcport = 0xE185;
|
||||
mac_conf_regs->udp.udp_destport = 0xC351;
|
||||
mac_conf_regs->udp.udp_destport = udpport;//0xC351;
|
||||
mac_conf_regs->udp.udp_len = udpPacketSize;//0x050E; //was 0x0512;
|
||||
mac_conf_regs->udp.udp_chksum = 0x0000;
|
||||
|
||||
@ -2231,7 +2231,6 @@ int readCounterBlock(int startACQ, short int CounterVals[]){
|
||||
|
||||
u_int32_t val;
|
||||
volatile u_int16_t *ptr;
|
||||
int i;
|
||||
|
||||
u_int32_t address = COUNTER_MEMORY_REG;
|
||||
ptr=(u_int16_t*)(CSP0BASE+address*2);
|
||||
@ -2254,6 +2253,7 @@ int readCounterBlock(int startACQ, short int CounterVals[]){
|
||||
|
||||
memcpy(CounterVals,ptr,dataBytes);
|
||||
#ifdef VERBOSE
|
||||
int i;
|
||||
printf("Copied counter memory block with size of %d bytes..\n",dataBytes);
|
||||
for(i=0;i<6;i++)
|
||||
printf("%d: %d\t",i,CounterVals[i]);
|
||||
@ -2293,7 +2293,6 @@ int resetCounterBlock(int startACQ){
|
||||
int ret = OK;
|
||||
u_int32_t val;
|
||||
volatile u_int16_t *ptr;
|
||||
int i;
|
||||
|
||||
|
||||
u_int32_t address = COUNTER_MEMORY_REG;
|
||||
@ -2324,6 +2323,7 @@ int resetCounterBlock(int startACQ){
|
||||
|
||||
memcpy(counterVals,ptr,dataBytes);
|
||||
#ifdef VERBOSE
|
||||
int i;
|
||||
printf("Copied counter memory block with size of %d bytes..\n",(int)sizeof(counterVals));
|
||||
for(i=0;i<6;i=i+2)
|
||||
printf("%d: %d\t",i,*(counterVals+i));
|
||||
|
@ -62,7 +62,7 @@ int getTemperature(int tempSensor,int imod);
|
||||
int initHighVoltage(int val,int imod);
|
||||
int initConfGain(int isettings,int val,int imod);
|
||||
|
||||
int configureMAC(int ipad, long long int macad, long long int servermacad, int ival, int adc);
|
||||
int configureMAC(int ipad, long long int macad, long long int servermacad, int ival, int adc,int udpport);
|
||||
|
||||
u_int64_t getDetectorNumber();
|
||||
u_int32_t getFirmwareVersion();
|
||||
|
@ -550,7 +550,6 @@ int get_id(int file_des) {
|
||||
// sends back 64 bits!
|
||||
int64_t retval;
|
||||
int ret=OK;
|
||||
int imod=-1;
|
||||
int n=0;
|
||||
enum idMode arg;
|
||||
|
||||
@ -1892,7 +1891,7 @@ int get_run_status(int file_des) {
|
||||
|
||||
|
||||
if (ret!=OK) {
|
||||
printf("get status failed %04x\n");
|
||||
printf("get status failed %04x\n",retval);
|
||||
sprintf(mess, "get status failed %08x\n", retval);
|
||||
|
||||
} else if (differentClients)
|
||||
@ -2749,13 +2748,14 @@ int update_client(int file_des) {
|
||||
int configure_mac(int file_des) {
|
||||
|
||||
int ret=OK;
|
||||
char arg[3][50];
|
||||
int n,i;
|
||||
char arg[4][50];
|
||||
int n;
|
||||
|
||||
int imod=0;//should be in future sent from client as -1, arg[2]
|
||||
int ipad;
|
||||
long long int imacadd;
|
||||
long long int iservermacadd;
|
||||
int udpport;
|
||||
int adc=-1;
|
||||
|
||||
sprintf(mess,"Can't configure MAC\n");
|
||||
@ -2770,7 +2770,9 @@ int configure_mac(int file_des) {
|
||||
sscanf(arg[0], "%x", &ipad);
|
||||
sscanf(arg[1], "%llx", &imacadd);
|
||||
sscanf(arg[2], "%llx", &iservermacadd);
|
||||
sscanf(arg[3], "%x", &udpport);
|
||||
#ifdef VERBOSE
|
||||
int i;
|
||||
printf("\ndigital_test_bit in server %d\t",digitalTestBit);
|
||||
printf("\nipadd %x\t",ipad);
|
||||
printf("destination ip is %d.%d.%d.%d = 0x%x \n",(ipad>>24)&0xff,(ipad>>16)&0xff,(ipad>>8)&0xff,(ipad)&0xff,ipad);
|
||||
@ -2780,6 +2782,7 @@ int configure_mac(int file_des) {
|
||||
printf("server macad:%llx\n",iservermacadd);
|
||||
for (i=0;i<6;i++)
|
||||
printf("server mac adress %d is 0x%x \n",6-i,(unsigned int)(((iservermacadd>>(8*i))&0xFF)));
|
||||
printf("udp port:0x%x\n",udpport);
|
||||
printf("\n");
|
||||
#endif
|
||||
|
||||
@ -2796,11 +2799,11 @@ int configure_mac(int file_des) {
|
||||
imod=ALLMOD;
|
||||
|
||||
//#ifdef VERBOSE
|
||||
printf("Configuring MAC of module %d and adc %d\n", imod, adc);
|
||||
printf("Configuring MAC of module %d and adc %d at port %x\n", imod, adc,udpport);
|
||||
//#endif
|
||||
#ifdef MCB_FUNCS
|
||||
if (ret==OK)
|
||||
configureMAC(ipad,imacadd,iservermacadd,digitalTestBit,adc);
|
||||
configureMAC(ipad,imacadd,iservermacadd,digitalTestBit,adc,udpport);
|
||||
#endif
|
||||
if (ret==FAIL)
|
||||
printf("configuring MAC of mod %d failed\n", imod);
|
||||
|
Reference in New Issue
Block a user