MUI is a minimalistic C99 library for controlling MiniPIX TPX3 devices over a serial line (UART). The interface was developped specifically for constraint applications of Space radiation dosimetry. Maximum efford was invested into making the interface as lightweight as possible (to support even 8bit microcontrollers) and to make the user integration as simple as possible, regardless of the underlying system. This repository contains the software neccessary for interaction with MiniPIX, as well as example use cases (Linux, STM32F4), dummy detectors and decoder examples.
Please follow to software/README.md for more information.
MiniPIX TPX3 UART Interface: mui.h
Message definitions: llcp_minipix_messages.h
A potential user/integrator should focus in directly using the yellow-labelled blocks, specifically, the MUI. The rest is provided for debugging and as examples, and is not supposed to serve as is.
HW diagram of the Linux Dummy + STM32F4 MUI example + Gatherer.
HW diagram of the MiniPIX TPX3 + Linux MUI example + Gatherer.
The MUI supports only a handful of functions. The TPX3 measurement is done in a custom frame mode.
"command" | description | parameters | returns |
---|---|---|---|
mui_pwr() |
turns on/off the TPX3 detector | 1/0 | ack |
mui_getStatus() |
gets housekeeping data from MiniPIX | - | boot count, status message |
mui_getTemperature() |
gets the MiniPIX's temperature | - | int16_t (°C) |
mui_measureFrame() |
requests frame acquisition | acquisition time [ms] | packetized frame |
mui_updatePixelMask() |
set pixel mask | pixel coordinates, 1/0 | ack |
mui_setThreshold() |
set energy threshold, mostly for debugging | coarse thr, fine thr | ack |
mui_setConfigurationPreset() |
switches between pre-loaded configurations | preset ID | ack |