Go to the documentation of this file.00001
00002 #ifndef ROCNX_H
00003 #define ROCNX_H
00004
00005 #include <vector>
00006
00007 #include "base/Peripheral.h"
00008 #include "nxyter/DataDebug.h"
00009
00010 namespace nxyter {
00011
00012 class RocNx : public base::Peripheral {
00013 public:
00014
00015 explicit RocNx(base::Board* board);
00016 virtual ~RocNx();
00017
00018 int setToDefault();
00019
00020 int resetRocNxTs();
00021
00022 int fireTestPulse(uint32_t delay, uint32_t period, int32_t width,
00023 uint32_t number);
00024 int fireTestPulse(uint32_t period, int32_t width,
00025 uint32_t number);
00026
00027 int setNxActive(int nx0, int nx1, int nx2, int nx3);
00028 int setNxActive(uint32_t mask);
00029 int getNxActive(uint32_t& mask);
00030
00031 int setLTSDelay(uint32_t val);
00032
00033 int setParityCheck(uint32_t val);
00034 int setDebugMode(uint32_t val);
00035
00036 int getFifoFull(uint32_t& val);
00037 int getFifoEmpty(uint32_t& val);
00038
00039 int getDataDebug(std::vector<nxyter::DataDebug>& datvec, int nmsg);
00040
00041 static void addAddrMap(base::Board* board, unsigned hw_kind = base::kind_nXYTER);
00042 };
00043
00044 }
00045
00046 #endif