minipix_uart_interface
A library and examples for the MiniPIX UART interface
main.cpp File Reference
#include <chrono>
#include <thread>
#include <atomic>
#include <serial_port.h>
#include <mui.h>
+ Include dependency graph for main.cpp:

Macros

#define RX_SERIAL_BUFFER_SIZE   5 * LLCP_RX_TX_BUFFER_SIZE
 
#define TX_SERIAL_BUFFER_SIZE   LLCP_RX_TX_BUFFER_SIZE
 

Functions

void bin2hex (const uint8_t x, uint8_t *buffer)
 
void saveFrameDataToFile (const LLCP_FrameData_t *data)
 
void measureFrame (int acquisition_time_ms, int pixel_mode)
 
void getTemperature ()
 
void mui_linux_processFrameData (const LLCP_FrameData_t *data)
 
void mui_linux_processFrameDataTerminator ([[maybe_unused]] const LLCP_FrameDataTerminator_t *data)
 
void mui_linux_processStatus ([[maybe_unused]] const LLCP_Status_t *data)
 
void mui_linux_processTemperature (const LLCP_Temperature_t *data)
 
void mui_linux_processAck ([[maybe_unused]] const LLCP_Ack_t *data)
 
void mui_linux_processMinipixError ([[maybe_unused]] const LLCP_MinipixError_t *data)
 
void mui_linux_processMeasurementFinished ()
 
void mui_linux_ledSetHW ([[maybe_unused]] bool state)
 
void mui_linux_sleepHW (const uint16_t milliseconds)
 
void mui_linux_sendChar (const uint8_t char_out)
 
void mui_linux_sendString (const uint8_t *str_out, const uint16_t len)
 
void measurementA1 (uint16_t desired_occupancy, int pixel_mode, uint16_t threshold_coarse, uint16_t threshold_fine, uint16_t default_acquisition_time, int configuration_id, bool use_temp_for_config, uint16_t temp_threshold, uint16_t save_max_pixels, uint16_t min_acq_time, uint16_t max_acq_time)
 
void measurementA2 (int pixel_mode, uint16_t acquisition_time_ms, uint16_t threshold_coarse, uint16_t threshold_fine, int configuration_id, bool use_temp_for_config, uint16_t temp_threshold, uint16_t save_max_pixels)
 
void threadSerial (void)
 
int main (int argc, char *argv[])
 

Variables

SerialPort serial_port_minipix_
 
uint8_t tx_buffer [TX_SERIAL_BUFFER_SIZE]
 
MUI_Handler_t mui_handler_
 
std::thread thread_serial_
 
std::atomic< bool > got_ack_ = false
 
std::atomic< bool > measuring_frame_ = false
 
uint16_t save_max_pixels_
 
uint16_t number_of_pixels_saved_
 
uint16_t number_of_pixels_not_saved_
 
std::atomic< bool > counting_pixels_ = false
 
uint16_t pixel_count_ = 0
 
int16_t temperature_
 
std::atomic< bool > measuring_temperature_ = false
 
FILE * measured_data_file_
 

Macro Definition Documentation

◆ RX_SERIAL_BUFFER_SIZE

#define RX_SERIAL_BUFFER_SIZE   5 * LLCP_RX_TX_BUFFER_SIZE

◆ TX_SERIAL_BUFFER_SIZE

#define TX_SERIAL_BUFFER_SIZE   LLCP_RX_TX_BUFFER_SIZE

Function Documentation

◆ bin2hex()

void bin2hex ( const uint8_t  x,
uint8_t *  buffer 
)

◆ getTemperature()

void getTemperature ( )

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ measureFrame()

void measureFrame ( int  acquisition_time_ms,
int  pixel_mode 
)

◆ measurementA1()

void measurementA1 ( uint16_t  desired_occupancy,
int  pixel_mode,
uint16_t  threshold_coarse,
uint16_t  threshold_fine,
uint16_t  default_acquisition_time,
int  configuration_id,
bool  use_temp_for_config,
uint16_t  temp_threshold,
uint16_t  save_max_pixels,
uint16_t  min_acq_time,
uint16_t  max_acq_time 
)

◆ measurementA2()

void measurementA2 ( int  pixel_mode,
uint16_t  acquisition_time_ms,
uint16_t  threshold_coarse,
uint16_t  threshold_fine,
int  configuration_id,
bool  use_temp_for_config,
uint16_t  temp_threshold,
uint16_t  save_max_pixels 
)

◆ mui_linux_ledSetHW()

void mui_linux_ledSetHW ( [[maybe_unused] ] bool  state)

◆ mui_linux_processAck()

void mui_linux_processAck ( [[maybe_unused] ] const LLCP_Ack_t data)

◆ mui_linux_processFrameData()

void mui_linux_processFrameData ( const LLCP_FrameData_t data)

◆ mui_linux_processFrameDataTerminator()

void mui_linux_processFrameDataTerminator ( [[maybe_unused] ] const LLCP_FrameDataTerminator_t data)

◆ mui_linux_processMeasurementFinished()

void mui_linux_processMeasurementFinished ( )

◆ mui_linux_processMinipixError()

void mui_linux_processMinipixError ( [[maybe_unused] ] const LLCP_MinipixError_t data)

◆ mui_linux_processStatus()

void mui_linux_processStatus ( [[maybe_unused] ] const LLCP_Status_t data)

◆ mui_linux_processTemperature()

void mui_linux_processTemperature ( const LLCP_Temperature_t data)

◆ mui_linux_sendChar()

void mui_linux_sendChar ( const uint8_t  char_out)

◆ mui_linux_sendString()

void mui_linux_sendString ( const uint8_t *  str_out,
const uint16_t  len 
)

◆ mui_linux_sleepHW()

void mui_linux_sleepHW ( const uint16_t  milliseconds)

◆ saveFrameDataToFile()

void saveFrameDataToFile ( const LLCP_FrameData_t data)

◆ threadSerial()

void threadSerial ( void  )

Variable Documentation

◆ counting_pixels_

std::atomic<bool> counting_pixels_ = false

◆ got_ack_

std::atomic<bool> got_ack_ = false

◆ measured_data_file_

FILE* measured_data_file_

◆ measuring_frame_

std::atomic<bool> measuring_frame_ = false

◆ measuring_temperature_

std::atomic<bool> measuring_temperature_ = false

◆ mui_handler_

MUI_Handler_t mui_handler_

◆ number_of_pixels_not_saved_

uint16_t number_of_pixels_not_saved_

◆ number_of_pixels_saved_

uint16_t number_of_pixels_saved_

◆ pixel_count_

uint16_t pixel_count_ = 0

◆ save_max_pixels_

uint16_t save_max_pixels_

◆ serial_port_minipix_

SerialPort serial_port_minipix_

◆ temperature_

int16_t temperature_

◆ thread_serial_

std::thread thread_serial_

◆ tx_buffer

uint8_t tx_buffer[TX_SERIAL_BUFFER_SIZE]