Electric Tiger DAQ  1.0.0
Data Acquisition Software for the Electric Tiger Experiment
programcore.h
1 #ifndef PROGRAMCORE_H
2 #define PROGRAMCORE_H
3 
4 
5 // C System-Headers
6 //
7 // C++ System headers
8 #include <memory>
9 // Qt Headers
10 #include <QObject>
11 // ATS9462 Headers
12 #include "../ATS9462/Digitizer/ATS9462Engine/ats9462engine.h"
13 // JASPL Headers
14 //
15 // Project specific headers
16 #include "../../SocketCommunicators/socketcommunicators.h"
17 #include "../../Generics/generics.h"
18 #include "daq_failure.h"
19 
20 #include "../../Windows/mainwindow.h"
21 #include "../../Panels/SpectrumAnalyzer/spectrumanalyzer.h"
22 #include "../../SocketCommunicators/NetworkAnalyzer/network_analyzer.h"
23 #include "../../Windows/mainwindow.h"
24 #include "../../Panels/InstrumentView/instrumentview.h"
25 
26 namespace etig {
27 
28 class ProgramCore: public QObject {
29 
30  Q_OBJECT
31 
32  public:
33  ProgramCore( QObject* parent = 0 );
34 
35  void RetractCavity();
36  void RapidTraverse();
37  void PrequelTransmission();
38  void PrequelReflection();
39  void NextIteration();
40  void Jitter();
41 
42  protected:
43 
44  void MoveToBGSubtractionLength();
45  void MoveToStartLength();
46  void MoveToEndLength();
47 
48  const std::string save_file_path = "/home/admx/Electric_Tiger_Data/";
49  const double length_of_tune = 2.0;
50  const double revs_per_iterations = 1;
51  const double start_length = 7.0;
52  const double background_scan_length = 5.0;
53  const double nwa_span_MHz = 400.0;
54  const uint nwa_points = 401;
55  const double nwa_power_dBm = -15.0;
56  const double signal_generator_power_dBm = 15.0; //Recommended power for Polyphase P/N IRM3570B
57  const double freq_window_MHz = 100.0;
58  const double digitizer_rate_MHz = 180.0;
59  const double na_min_freq = 3000.0;
60  const double na_max_freq = 4600.0;
61  const uint num_averages = 10000;
62  uint rebin_size = 0;
63 
64  const TCPSocketParam psu_switch = TCPSocketParam( "Switch", "10.95.100.174", 9221 );
65  const TCPSocketParam network_analyzer = TCPSocketParam( "NetworkAnalyzer", "10.95.100.176", 1234 );
66  const TCPSocketParam stepper = TCPSocketParam( "Stepper", "10.95.100.177", 7776 );
67  const TCPSocketParam signal_generator = TCPSocketParam( "SignalGenerator", "10.95.100.175", 5025 );
68  const TCPSocketParam arduino_info = TCPSocketParam( "Arduino", "10.95.100.173", 23 );
69 
70  std::shared_ptr<ATS9462Engine> ats9462;
71 
72  Arduino* arduino;
73  NetworkAnalyzer* hp8757_c;
74  SignalGenerator* mxg_n5183b;
75  StepperMotor* stm23_ee;
76  Switch* xdl_35_5tp;
77 
78  double number_of_iterations = 0.0;
79  uint iteration = 0;
80 
81  private:
82  void InitializeSocketObjects();
83  void InitializeDigitizer();
84 
85  int DeriveNumberofIterations();
86 
87 };
88 
89 }
90 
91 #endif // PROGRAMCORE_H
Object to communicate with the HP8757 C Network Analyzer.
Definition: network_analyzer.h:19
Object to send and receive commands from an Arduino Uno (R3)
Definition: arduino.h:21
Definition: switch.h:16
Definition: algorithm.cpp:16
Definition: configprocessor.h:38
Definition: programcore.h:28
Definition: signal_generator.h:16
Object to sends commands to an Applied Motion products stepper motor.
Definition: stepper_motor.h:19