mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 19:30:03 +02:00
* period and exptime(patternwaittime level 0) * added new regsieterdefs and updated api version and fixedpattern reg * autogenerate commands * formatting * minor * wip resetflow, readout mode, transceiver mask, transceiver enable * acquisition, but streaming done bit and busy (exposing + read chip to fifo) not known yet from fw * programming fpga and device tree done * most configuration done, need to connect configuretransceiver to client * stuck at resetting transciever timed out * minor * fixed virtual, added chip busyto fifo, streaming busy, set/getnext framenumber * configuretransceiver from client, added help in client * make formatt and command generation * tests for xilinx ctb works * command generation * dacs added and tested, power not done * power added * added temp_fpga * binaries in * ctrlreg is 0 to enable chip=fixed, high dac val = min val= fixed, power regulators in weird order=fixed, device tree could be loaded with dacs before adcs=fixed * start works * virtual server sends * receiver works * tests * python function and enum generation, commands generatorn and autocomplete, formatting, tests * tests fail at start(transceiver not aligned) * tests passed * all binaries compiled * eiger binary in * added --nomodule cehck for xilinx
66 lines
2.5 KiB
C
66 lines
2.5 KiB
C
// SPDX-License-Identifier: LGPL-3.0-or-other
|
|
// Copyright (C) 2021 Contributors to the SLS Detector Package
|
|
#ifndef LOADPATTERN_H
|
|
#define LOADPATTERN_H
|
|
#include "Pattern.h"
|
|
#include "clogger.h"
|
|
|
|
void initializePatternAddresses();
|
|
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
|
|
#ifdef VIRTUAL
|
|
void initializePatternWord();
|
|
#endif
|
|
#endif
|
|
#if defined(CHIPTESTBOARDD) || defined(XILINX_CHIPTESTBOARDD)
|
|
uint64_t validate_readPatternIOControl();
|
|
int validate_writePatternIOControl(char *message, uint64_t arg);
|
|
void writePatternIOControl(uint64_t word);
|
|
#endif
|
|
|
|
int validate_readPatternWord(char *message, int addr, uint64_t *word);
|
|
uint64_t readPatternWord(int addr);
|
|
int validate_writePatternWord(char *message, int addr, uint64_t word);
|
|
void writePatternWord(int addr, uint64_t word);
|
|
|
|
int validate_getPatternWaitAddresses(char *message, int level, int *addr);
|
|
int getPatternWaitAddress(int level);
|
|
int validate_setPatternWaitAddresses(char *message, int level, int addr);
|
|
void setPatternWaitAddress(int level, int addr);
|
|
|
|
int validate_getPatternWaitTime(char *message, int level, uint64_t *waittime);
|
|
uint64_t getPatternWaitTime(int level);
|
|
int validate_setPatternWaitTime(char *message, int level, uint64_t waittime);
|
|
void setPatternWaitTime(int level, uint64_t t);
|
|
|
|
int validate_getPatternLoopCycles(char *message, int level, int *numLoops);
|
|
int getPatternLoopCycles(int level);
|
|
int validate_setPatternLoopCycles(char *message, int level, int numLoops);
|
|
void setPatternLoopCycles(int level, int nLoop);
|
|
|
|
void validate_getPatternLoopLimits(int *startAddr, int *stopAddr);
|
|
int validate_setPatternLoopLimits(char *message, int startAddr, int stopAddr);
|
|
void setPatternLoopLimits(int startAddr, int stopAddr);
|
|
|
|
int validate_getPatternLoopAddresses(char *message, int level, int *startAddr,
|
|
int *stopAddr);
|
|
void getPatternLoopAddresses(int level, int *startAddr, int *stopAddr);
|
|
int validate_setPatternLoopAddresses(char *message, int level, int startAddr,
|
|
int stopAddr);
|
|
void setPatternLoopAddresses(int level, int startAddr, int stopAddr);
|
|
|
|
void setPatternMask(uint64_t mask);
|
|
uint64_t getPatternMask();
|
|
void setPatternBitMask(uint64_t mask);
|
|
uint64_t getPatternBitMask();
|
|
|
|
#ifdef MYTHEN3D
|
|
void startPattern();
|
|
#endif
|
|
char *getPatternFileName();
|
|
int loadPattern(char *mess, enum TLogLevel printLevel, patternParameters *pat,
|
|
char *patfname);
|
|
int getPattern(char *mess, patternParameters *pat);
|
|
int loadPatternFile(char *patFname, char *errMessage);
|
|
|
|
#endif
|