MY3.0:read and write Registers, frames, cycles, delay (#64)

* MY3.0:read and write Registers, frames, cycles, delay

* write pattern seems to work

* done all corrections. added default clks: run_clk=125MHz, tick_clk=20MHz (fix), sampling_clk=80MHz (from Carlos)

* clk check for aquistition time

* clk check for aquistition time

* Update slsDetectorServer_defs.h

* Update slsDetectorFunctionList.c
This commit is contained in:
Marie Andrä
2019-09-30 14:36:33 +02:00
committed by Dhanya Thattil
parent 3d52a2f169
commit 6e6fcec698
9 changed files with 490 additions and 56 deletions

View File

@@ -19,9 +19,11 @@ enum interfaceType {OUTER, INNER};
int isFirmwareCheckDone();
int getFirmwareCheckResult(char** mess);
void basictests();
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(GOTTHARD2D)
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD) || defined(MYTHEN3D) || defined(GOTTHARD2D)
int checkType();
int testFpga();
#endif
#if defined(GOTTHARDD) || defined(JUNGFRAUD) || defined(CHIPTESTBOARDD) || defined(MOENCHD)
int testBus();
#endif
@@ -363,6 +365,13 @@ int setAllTrimbits(int val);
int getAllTrimbits();
int getBebFPGATemp();
int activate(int enable);
#elif MYTHEN3D
uint64_t readPatternWord(int addr);
uint64_t writePatternWord(int addr, uint64_t word);
int setPatternWaitAddress(int level, int addr);
uint64_t setPatternWaitTime(int level, uint64_t t);
void setPatternLoop(int level, int *startAddr, int *stopAddr, int *nLoop);
#endif
#if defined(JUNGFRAUD) || defined(EIGERD)

View File

@@ -9,7 +9,7 @@
/* global variables */
u_int32_t* csp0base = 0;
#define CSP0 0x18000000
#define CSP0 0x18060000
#define MEM_SIZE 0x100000
@@ -21,7 +21,7 @@ void bus_w(u_int32_t offset, u_int32_t data) {
u_int32_t bus_r(u_int32_t offset) {
volatile u_int32_t *ptr1;
ptr1=(u_int32_t*)(csp0base + offset/(sizeof(u_int32_t)));
ptr1=(u_int32_t*)(csp0base + offset/(sizeof(u_int32_t)));
return *ptr1;
}

View File

@@ -1660,7 +1660,7 @@ int set_timer(int file_des) {
case ANALOG_SAMPLES:
case DIGITAL_SAMPLES:
#endif
#if !defined(EIGERD) && !defined(MYTHEN3D) && !defined(GOTTHARD2D)
#if !defined(EIGERD) && !defined(GOTTHARD2D)
case DELAY_AFTER_TRIGGER:
#endif
retval = setTimer(ind, tns);
@@ -2608,7 +2608,7 @@ int set_pattern_word(int file_des) {
if (receiveData(file_des, args, sizeof(args), INT64) < 0)
return printSocketReadError();
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && !defined(MYTHEN3D)
functionNotImplemented();
#else
int addr = (int)args[0];
@@ -2644,7 +2644,7 @@ int set_pattern_loop(int file_des) {
if (receiveData(file_des, args, sizeof(args), INT32) < 0)
return printSocketReadError();
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && !defined(MYTHEN3D)
functionNotImplemented();
#else
int loopLevel = args[0];
@@ -2695,7 +2695,7 @@ int set_pattern_wait_addr(int file_des) {
if (receiveData(file_des, args, sizeof(args), INT32) < 0)
return printSocketReadError();
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && !defined(MYTHEN3D)
functionNotImplemented();
#else
int loopLevel = args[0];
@@ -2737,7 +2737,7 @@ int set_pattern_wait_time(int file_des) {
if (receiveData(file_des, args, sizeof(args), INT32) < 0)
return printSocketReadError();
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD)
#if !defined(CHIPTESTBOARDD) && !defined(MOENCHD) && !defined(MYTHEN3D)
functionNotImplemented();
#else
int loopLevel = (int)args[0];