mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 23:10:02 +02:00

git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@661 951219d9-93cf-4727-9268-0efd64621fa3
63 lines
1.6 KiB
C++
63 lines
1.6 KiB
C++
|
|
/**
|
|
* @author Ian Johnson
|
|
* @version 1.0
|
|
*/
|
|
|
|
|
|
#ifndef FEB_H
|
|
#define FEB_H
|
|
|
|
#include "LocalLinkInterface.h"
|
|
|
|
class Feb{ //
|
|
|
|
private:
|
|
LocalLinkInterface* ll;
|
|
|
|
unsigned int nfebs;
|
|
unsigned int* feb_numb;
|
|
|
|
int send_ndata;
|
|
unsigned int send_buffer_size;
|
|
unsigned int* send_data_raw;
|
|
unsigned int* send_data;
|
|
|
|
int recv_ndata;
|
|
unsigned int recv_buffer_size;
|
|
unsigned int* recv_data_raw;
|
|
unsigned int* recv_data;
|
|
|
|
bool WriteTo(unsigned int ch);
|
|
bool ReadFrom(unsigned int ch, unsigned int ntrys=20);
|
|
bool CheckHeader(unsigned int valid_bit_mask=0xffffffff, bool print_error_info=1);
|
|
bool CheckTail(unsigned int valid_bit_mask=0xffffffff);
|
|
|
|
|
|
bool SetByteOrder();
|
|
//bool CheckSubNumber(unsigned int sub_num);
|
|
//bool SetStartOnEndOnFebs(int sub_num_s, unsigned int& start_on, unsigned int& end_on);
|
|
void PrintData();
|
|
|
|
public:
|
|
Feb();
|
|
virtual ~Feb();
|
|
|
|
void SendCompleteFebList(unsigned int n,unsigned int* list);
|
|
bool CheckCommunication();
|
|
|
|
bool ReadRegister(unsigned int sub_num, unsigned int reg_num,unsigned int& value_read);
|
|
bool ReadRegisters(unsigned int sub_num, unsigned int nreads, unsigned int* reg_nums,unsigned int* values_read);
|
|
|
|
bool WriteRegister(unsigned int sub_num, unsigned int reg_num,unsigned int value, bool wait_on=0, unsigned int wait_on_address=0);
|
|
bool WriteRegisters(unsigned int sub_num, unsigned int nwrites, unsigned int* reg_nums, unsigned int* values, bool* wait_ons=0, unsigned int* wait_on_addresses=0);
|
|
|
|
bool WriteMemory(unsigned int sub_num, unsigned int mem_num, unsigned int start_address, unsigned int nwrites, unsigned int *values);
|
|
|
|
bool Test();
|
|
|
|
};
|
|
|
|
|
|
#endif
|