added reset for control reg and changed teh read and write register functions in server_funcs.c

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@168 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
l_maliakal_d
2012-04-03 09:35:23 +00:00
parent ee36cdf9e4
commit d8e03f80e4
3 changed files with 37 additions and 23 deletions

View File

@ -9,7 +9,8 @@
#include "mcb_funcs.h"
#include "trimming_funcs.h"
#define FIFO_DATA_REG_OFF 0x50<<11
#define CONTROL_REG 0x24<<11
// Global variables
int (*flist[256])(int);
@ -790,9 +791,16 @@ int write_register(int file_des) {
if(ret!=FAIL){
address=(addr<<11);
ret=bus_w(address,val);
if(ret==OK)
retval=bus_r(address);
if((address==FIFO_DATA_REG_OFF)||(address==CONTROL_REG))
ret = bus_w16(address,val);
else
ret=bus_w(address,val);
if(ret==OK){
if((address==FIFO_DATA_REG_OFF)||(address==CONTROL_REG))
retval=bus_r16(address);
else
retval=bus_r(address);
}
}
@ -849,7 +857,7 @@ int read_register(int file_des) {
if(ret!=FAIL){
address=(addr<<11);
if(addr==0x50)
if((address==FIFO_DATA_REG_OFF)||(address==CONTROL_REG))
retval=bus_r16(address);
else
retval=bus_r(address);
@ -1855,10 +1863,15 @@ int get_run_status(int file_des) {
s=TRANSMITTING;
}
//and readbusy=0,idle
if(!(retval&0x00000001)){
else if(!(retval&0x000FFFFF)){
//if(!(retval&0x00000001)){
printf("-----------------------------------IDLE--------------------------------------\n");
s=IDLE;
}
else {
printf("-----------------------------------ERROR--------------------------------------x%0x\n",retval);
s=ERROR;
}
}
//if runbusy=1
else {
@ -2008,7 +2021,7 @@ int read_frame(int file_des) {
int read_all(int file_des) {
while(read_frame(file_des)==OK) {
while(read_frame(file_des)==OK) {
#ifdef VERBOSE
printf("frame read\n");