<commit_before>#pragma once

#include "zmsg_types.hpp"

namespace zmsg {

template<>
struct zmsg<mid_t::set_fs_spec> {
public:
	uint16_t window_x_row;			// unit: pixel
	uint16_t window_x_col;			// unit: pixel
	uint16_t window_y_row;			// unit: pixel
	uint16_t window_y_col;			// unit: pixel

	uint32_t nm_per_pixel;			// unit: nm/pixel
	uint32_t nm_per_step;			// unit: nm/step

	uint16_t img_cap_delay;			// unit: ms

	uint32_t clr_discharge_gap;		// unit: nm
	uint16_t check_fiber_exist_time;	// unit: ms

	uint16_t motor_min_speed[motorId_t::NUM];
	uint16_t motor_max_speed[motorId_t::NUM];

	uint16_t motor_lzrz_fs_speed;
	uint16_t motor_xy_precise_calibrate_speed;

	uint16_t motor_xy_steps_per_pixel;	// unit: step/pixel

	double   fiber_outline_blacklevel;		// 0.0 ~ 1.0
	double   calibrating_xy_dist_threshold;		// unit: pixel
	double   precise_calibrating_xy_dist_threshold;	// unit: pixel
	double   z_dist_threshold;			// unit: pixel

	discharge_data_t discharge_base;
	discharge_data_t discharge_revise;

	double   dust_check_threshold0;
	double   dust_check_threshold1;

	double   led_brightness[ledId_t::LED_NUM];
public:
        ZMSG_PU(
		window_x_row,
		window_x_col,
		window_y_row,
		window_y_col,

		nm_per_pixel,
		nm_per_step,

		img_cap_delay,

		clr_discharge_gap,
		check_fiber_exist_time,
<commit_msg>zmsg: xy precise calibrate: change data type to uint32_t<commit_after>#pragma once

#include "zmsg_types.hpp"

namespace zmsg {

template<>
struct zmsg<mid_t::set_fs_spec> {
public:
	uint16_t window_x_row;			// unit: pixel
	uint16_t window_x_col;			// unit: pixel
	uint16_t window_y_row;			// unit: pixel
	uint16_t window_y_col;			// unit: pixel

	uint32_t nm_per_pixel;			// unit: nm/pixel
	uint32_t nm_per_step;			// unit: nm/step

	uint16_t img_cap_delay;			// unit: ms

	uint32_t clr_discharge_gap;		// unit: nm
	uint16_t check_fiber_exist_time;	// unit: ms

	uint16_t motor_min_speed[motorId_t::NUM];
	uint16_t motor_max_speed[motorId_t::NUM];

	uint16_t motor_lzrz_fs_speed;
	uint32_t motor_xy_precise_calibrate_speed;

	uint16_t motor_xy_steps_per_pixel;	// unit: step/pixel

	double   fiber_outline_blacklevel;		// 0.0 ~ 1.0
	double   calibrating_xy_dist_threshold;		// unit: pixel
	double   precise_calibrating_xy_dist_threshold;	// unit: pixel
	double   z_dist_threshold;			// unit: pixel

	discharge_data_t discharge_base;
	discharge_data_t discharge_revise;

	double   dust_check_threshold0;
	double   dust_check_threshold1;

	double   led_brightness[ledId_t::LED_NUM];
public:
        ZMSG_PU(
		window_x_row,
		window_x_col,
		window_y_row,
		window_y_col,

		nm_per_pixel,
		nm_per_step,

		img_cap_delay,

		clr_discharge_gap,
		check_fiber_exist_time,

{'fraction_non_alphanumeric': 0.08237476808905381, 'fraction_numerical': 0.025974025974025976, 'mean_word_length': 4.424547283702213, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1756926', 'n_tokens_mistral': 1235, 'n_tokens_neox': 1120, 'n_words': 198}