polarimeter_software/User/app/mb_hmi/mb_interface.h

98 lines
2.1 KiB
C
Raw Normal View History

2025-09-30 02:37:23 +00:00
#ifndef __MB_INTERFACE_H__
#define __MB_INTERFACE_H__
#include "mb_command.h"
#include "mb_regs_def.h"
#include <stdint.h>
/**
* @brief Initialize Modbus interface module
* Modbus接口模块
*/
void mb_interface_init(void);
/**
* @brief Write current temperature data
*
*
* @param temp Temperature value to write (°C)
*/
void mb_write_current_temp(float temp);
/**
* @brief Write current rotation data
*
*
* @param rotation Rotation value to write (°)
*/
void mb_write_current_rotation(float rotation);
/**
* @brief Write measurement result
*
*
* @param mode Measurement mode (0-3)
* @param value Measurement value
* @param temp Temperature at measurement time (°C)
*/
void mb_write_measurement_result(uint8_t mode, float value, float temp);
/**
* @brief Save measurement data to history
*
*
* @param value Measurement value
* @param temp Temperature value
*/
void mb_save_to_history(float value, float temp);
/**
* @brief Get current target temperature
*
*
* @return Target temperature value (°C)
*/
float mb_get_target_temp(void);
/**
* @brief Get current tube length setting
*
*
* @return Tube length value (mm)
*/
float mb_get_tube_length(void);
/**
* @brief Get current measurement mode
*
*
* @return Measurement mode code (0-3)
*/
uint8_t mb_get_measure_mode(void);
/**
* @brief Get current auto measurement count
*
*
* @return Auto measurement count (1-255)
*/
uint8_t mb_get_auto_measure_count(void);
/**
* @brief Get current running state
*
*
* @return Running state code
*/
PmRunningState mb_get_running_state(void);
/**
* @brief Check if measurement is complete
*
*
* @return 1 if complete, 0 otherwise
*/
uint8_t mb_is_measure_complete(void);
#endif /* __MB_INTERFACE_H__ */