minipix_uart_interface
A library and examples for the MiniPIX UART interface
minipix_dummy_linux.h
Go to the documentation of this file.
1 #ifndef MINIPIX_DUMMY_LINUX_H
2 #define MINIPIX_DUMMY_LINUX_H
3 
4 #include <llcp_minipix_messages.h>
5 
6 #include <minipix_dummy.h>
7 
8 #include <string>
9 #include <iostream>
10 #include <fstream>
11 #include <sstream>
12 
13 #include <vector>
14 
15 #include <thread>
16 #include <chrono>
17 
18 #include <atomic>
19 
20 #include <random>
21 
22 #include <serial_port.h>
23 #include <type_traits>
24 
25 #include <ctime>
26 
27 #define SERIAL_BUFFER_SIZE 2048
28 
30 
31 public:
33 
34  void initializeSerialPort(const std::string &file, const int &baud, const bool virtual_port);
35 
36  void sendByte(const uint8_t &byte_out);
37  void sendString(const uint8_t *bytes_out, const uint16_t &len);
38 
39  void sleep(const uint16_t &milliseconds);
40 
41  void update_linux(void);
42 
43  void getFrameData(void);
44 
45  void simulateFrameAcquisition(const uint16_t &acquisition_time);
46 
47  std::string data_folder;
48  void setDataFolder(const std::string &data_folder);
49 
50 private:
51  SerialPort serial_port_;
52  uint8_t rx_buffer_[SERIAL_BUFFER_SIZE];
53  std::mutex mutex_serial_port_;
54 
55  std::thread thread_serial_port_;
56  void threadSerialPort(void);
57 
58  int randi(const int &from, const int &to);
59  double randd(const double &from, const double &to);
60 
61  std::vector<std::vector<double>> loadImage(const std::string &file_path);
62 };
63 
64 #endif // MINIPIX_DUMMY_LINUX_H
decoder.file_path
string file_path
Definition: decoder.py:22
serial_port.h
minipix_dummy.h
MinipixDummyLinux::initializeSerialPort
void initializeSerialPort(const std::string &file, const int &baud, const bool virtual_port)
Definition: minipix_dummy_linux.cpp:16
MinipixDummyLinux::sendByte
void sendByte(const uint8_t &byte_out)
Definition: minipix_dummy_linux.cpp:29
MinipixDummyLinux::data_folder
std::string data_folder
Definition: minipix_dummy_linux.h:47
MinipixDummy
Definition: minipix_dummy.h:15
MinipixDummyLinux
Definition: minipix_dummy_linux.h:29
MinipixDummyLinux::getFrameData
void getFrameData(void)
Definition: minipix_dummy_linux.cpp:213
MinipixDummyLinux::sleep
void sleep(const uint16_t &milliseconds)
Definition: minipix_dummy_linux.cpp:42
SerialPort
Definition: serial_port.h:16
MinipixDummyLinux::setDataFolder
void setDataFolder(const std::string &data_folder)
Definition: minipix_dummy_linux.cpp:171
MinipixDummyLinux::sendString
void sendString(const uint8_t *bytes_out, const uint16_t &len)
Definition: minipix_dummy_linux.cpp:51
MinipixDummyLinux::MinipixDummyLinux
MinipixDummyLinux()
Definition: minipix_dummy_linux.cpp:5
MinipixDummyLinux::simulateFrameAcquisition
void simulateFrameAcquisition(const uint16_t &acquisition_time)
Definition: minipix_dummy_linux.cpp:179
SERIAL_BUFFER_SIZE
#define SERIAL_BUFFER_SIZE
Definition: minipix_dummy_linux.h:27
MinipixDummyLinux::update_linux
void update_linux(void)
Definition: minipix_dummy_linux.cpp:106