Scope
InputsFPGA.h
1 #pragma once
2 
3 #include "Inputs.h"
4 #include "controllers/ScopeController.h"
5 
6 // Forward declarations
7 namespace scope {
8  class DaqChunk;
9  namespace parameters {
10  class InputsFPGA;
11  class Scope;
12  }
13 }
14 
15 namespace scope {
16 
20 SCOPE_FPGA_T& theFPGA();
21 
25  : public Inputs {
26 
27 protected:
30 
33 
34 private:
36  InputsFPGA(const InputsFPGA& i);
37 
40 
41 public:
44  InputsFPGA(const uint32_t& _area, parameters::InputsFPGA* _inputparams, const parameters::Scope& _params);
45 
46  ~InputsFPGA();
47 
48  void Start() override;
49 
50  void Stop() override;
51 
52  int32_t Read(DaqChunk &_chunk, bool& _timedout, const double& _timeout) override;
53 };
54 
55 }
Main controller of microscope hardware and acquisition, also interface to the GUI.
Wraps hardware connection for signal input from PMTs.
Definition: Inputs.h:13
Wraps hardware connection for signal input from PMTs using an NI FPGA.
Definition: InputsFPGA.h:24
The master parameters class.
Definition: Scope.h:204
InputsFPGA(const InputsFPGA &i)
disable copy
ScopeController scope_controller
our ScopeController here
Definition: InputsFPGA.h:29
int32_t Read(DaqChunk &_chunk, bool &_timedout, const double &_timeout) override
Reads one chunk of samples for one area.
Definition: InputsFPGA.cpp:85
A DaqChunk contains data from all channels sequentially.
Definition: DaqChunk.h:9
void Start() override
Start task.
Definition: InputsFPGA.cpp:73
InputsFPGA operator=(const InputsFPGA &i)
disable assignment
double laserpulsesperpixel
how many laser pulses arrive per pixel, photon counts are normalized to the number of laser pulses ...
Definition: InputsFPGA.h:32
Parameters for pixel acquisition with NI-FPGA.
Definition: IO.h:117
void Stop() override
Stops task.
Definition: InputsFPGA.cpp:79