|
| 1 | +# Overview |
| 2 | + |
| 3 | +This folder contains software for the measurement with the TMF8829 time of flight device. |
| 4 | + |
| 5 | +# Startup |
| 6 | + |
| 7 | +1. Connect the TMF8829 hardware to the PC. |
| 8 | +2. Start the ZeroMq server exe - *tmf8829_zeromq_server.exe*. |
| 9 | +3. Start the *TMF8829 EVM GUI* or the ZeroMq Client (Logger) *tmf8829_zeromq_client.exe*. |
| 10 | +4. The results are graphically represented in the TMF8829 EVM GUI or use the results in the Json output file if the ZeroMq client was used. |
| 11 | + |
| 12 | +Optional: The GUI can be operated in parallel with the ZeroMq client. The configuration is defined by the program, which is started first. |
| 13 | + |
| 14 | +# Configuration |
| 15 | + |
| 16 | +The configuration options for the tmf8829 could be seen in the file tmf8829_config_page.txt. |
| 17 | +The TMF8829 EVM GUI provides only some options for the configuration. |
| 18 | + |
| 19 | +For measurements with the ZeroMq client all device configuration parameters could be changed as well as the number of records. |
| 20 | +This changes could be done in the file cfg_client.json. |
| 21 | +Device configurations could be changed in "measure_cfg". The parameters must fit to the names in tmf8829_config_page.txt. |
| 22 | +Use only valid settings. |
| 23 | +Example : period, iterations, histograms |
| 24 | + |
| 25 | +If histogram data should be dumped add the *histograms* parameter: |
| 26 | + |
| 27 | +"measure_cfg": { |
| 28 | + "period":33, |
| 29 | + "iterations": 600, |
| 30 | + ``"histograms":1`` |
| 31 | + } |
| 32 | + |
| 33 | +The configuration for different focal plane modes and distances can be done also with recommended settings: |
| 34 | +The setting *preconfigure* has the following options: |
| 35 | +- CMD_LOAD_CFG_8X8, CMD_LOAD_CFG_8X8_LONG_RANGE, CMD_LOAD_CFG_8X8_HIGH_ACCURACY |
| 36 | +- CMD_LOAD_CFG_16X16, CMD_LOAD_CFG_16X16_HIGH_ACCURACY |
| 37 | +- CMD_LOAD_CFG_32X32, CMD_LOAD_CFG_32X32_HIGH_ACCURACY |
| 38 | +- CMD_LOAD_CFG_48X32, CMD_LOAD_CFG_48X32_HIGH_ACCURACY |
| 39 | + |
| 40 | +The number of measurements is defined in the parameter "record_frames". |
| 41 | +The maximum record is limited by the PC memory - e.g. 100 is a recommended value. |
| 42 | + |
| 43 | +# 3D point cloud correction |
| 44 | + |
| 45 | +The results have also 3d point cloud corrected x y z values. |
| 46 | +The 3d point cloud correction is sometimes called as flat target correction. |
| 47 | + |
| 48 | +# Output file |
| 49 | +The output file name is automatically generated like this: |
| 50 | +``tmf8829_UID<number>-<year>-<month>-<day>-<hour>-<minute>-<second>.json`` |
| 51 | + |
| 52 | +The output file contains information about the configuration, information about the used version and result sets. |
| 53 | + |
| 54 | +The result sets have the number of configured results. |
| 55 | +A result set contains results, reference pixel histograms, pixel histograms and reference spad results. |
| 56 | + |
| 57 | +## Output file format |
| 58 | + |
| 59 | +The json output file is a hierarchical output of the measurement results and it contain following fields: |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | +- *configuration* - a list of configuration parameters used for the measurement (example: *period* setting) |
| 64 | +- *info* - below list of version information |
| 65 | + - *host version* - the EVM version number |
| 66 | + - *fw version* - the firmware version number running on TMF8829 |
| 67 | + - *logger version* - logger version number |
| 68 | + - *serial number* - device serial number |
| 69 | +- *Result_Set* |
| 70 | + - this is an array of results; the number of elements in this array is defined by *record_frames* from the configuration file |
| 71 | + - *info* - an array of general information about the result |
| 72 | + - *frame_number* - the number of the first result frame (one result frame for the fp modes 8x8 and 16x16 and two result frames for the fp modes 32x32 and 48x32) |
| 73 | + - *temperature* - the device temperature of the first result frame |
| 74 | + - *systick_t0* - internal timestamp when t0 integration was started |
| 75 | + - *systick_t1* - internal timestamp when t1 integration was started |
| 76 | + - *warnings* - if there are warnings, the result should not be used. |
| 77 | + - *results* - a two dimensional array of the distance measurement results organized first in rows then in columns (same organization like *mp_hist*) |
| 78 | + - Each element has following information where the format is fixed but individual information is populated depending on the settings inside the config file |
| 79 | + - *noise* - the result from the average noise of this pixel |
| 80 | + - *xtalk* - the crosstalk of this pixel |
| 81 | + - *peaks* - an array of detected distance peaks |
| 82 | + - *distance* - distance in [mm] in steps of 0.25 mm if config parameter *select*='1' (default) and in bins if *select*='0' |
| 83 | + - *snr* - signal to noise ratio of this peak |
| 84 | + - *signal* - signal amplitude |
| 85 | + - *ref_hist* - an array of reference pixel histograms; each sub-measurement outputs four reference histograms. |
| 86 | + E.g. 16x16 has two sub-measurements and therefore outputs 8 reference pixel histograms. |
| 87 | + Only included if *histograms* is set to '1' in the configuration. The number of bins depends on the focal plane mode and |
| 88 | + 8x8 has 256 bins, all other modes have 64 bins. |
| 89 | + - *mp_hist* - a two dimensional array of the histograms organized first in rows then in columns (same organization like *results*) |
| 90 | + Only included if *histograms* is set to '1' in the configuration. The number of bins depends on the focal plane mode where |
| 91 | + 8x8 has 256 bins and all other modes use 64 bins. |
| 92 | + - *ref_hist_HA* - an array of reference pixel histograms of the high accuracy mode; each sub-measurement outputs four reference histograms. |
| 93 | + E.g. 16x16 has two sub-measurements and therefore outputs 8 reference pixel histograms. |
| 94 | + Only included if *histograms* and *dual_mode* is set to '1' in the configuration. The number of bins depends on the focal plane mode and |
| 95 | + 8x8 has 256 bins, all other modes have 64 bins. |
| 96 | + - *mp_hist_HA* - a two dimensional array of the histograms of the high accuracy mode organized first in rows then in columns (same organization like *results*) |
| 97 | + Only included if *histograms* and *dual_mode* is set to '1' in the configuration. The number of bins depends on the focal plane mode where |
| 98 | + 8x8 has 256 bins and all other modes use 64 bins. |
| 99 | + |
| 100 | + |
| 101 | + |
| 102 | +# Files |
| 103 | + |
| 104 | +- tmf8829_zeromq_server_deployed.exe |
| 105 | + the ZeroMq server |
| 106 | + |
| 107 | +- tmf8829_zeromq_client_deployed.exe |
| 108 | +the ZeroMq client |
| 109 | + |
| 110 | +- tmf8829_application.hex |
| 111 | +the TMF8829 application patch file |
| 112 | + |
| 113 | +- cfg_server.json |
| 114 | +the tmf8829 device configuration for the zeromq server |
| 115 | + |
| 116 | +- cfg_client.json |
| 117 | +the tmf8829 device configuration for the zeromq client |
| 118 | + |
| 119 | +- TMF8829_EVM_GUI_EvalSW_v<x>-<x>-<x>.exe |
| 120 | +the TMF8829 EVM GUI |
| 121 | + |
| 122 | +- tmf8829_config_page.txt |
| 123 | +description for the tmf8829 application configuration |
0 commit comments