mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
* cli: patwaittime also takes time argument, api: patwaitclocks and patwaitinterval, tcp: patwaitinterval is 2 functions for set and get, patwaitclocks remains a single for backward compatibility with -1 for get, server (loadpattern): clks using member names (needs to be refactored). needs tobe discussed what to do with pattern files. * all tests passed * fixed test * exptime deprecated for ctb and xilinx * pyctbgui..not there yet * fixed in pyctbgui * removed redundant warning for ctb and xilinx exptime in Detector class (already in module class handling all exptime signatures), patwait, patloop and patnloop have to be non inferrable commands because of support for old commands (level as suffix) * fix formatting error from command line parsing * fix tests for patwaittime
71 lines
2.7 KiB
C
71 lines
2.7 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_getPatternWaitClocksAndInterval(char *message, int level,
|
|
uint64_t *waittime, int clocks);
|
|
uint64_t getPatternWaitClocks(int level);
|
|
uint64_t getPatternWaitInterval(int level);
|
|
|
|
int validate_setPatternWaitClocksAndInterval(char *message, int level,
|
|
uint64_t waittime, int clocks);
|
|
void setPatternWaitClocks(int level, uint64_t t);
|
|
void setPatternWaitInterval(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
|