2024-06-01 16:18:56 +08:00
|
|
|
#ifndef __LARK1S_H__
|
|
|
|
|
#define __LARK1S_H__
|
|
|
|
|
|
|
|
|
|
#include "stdint.h"
|
|
|
|
|
|
|
|
|
|
#define LARK1S_PARSE_OK (0)
|
|
|
|
|
#define LARK1S_PARSE_MB_ADDR_NOT_MATCH (1)
|
|
|
|
|
#define LARK1S_PARSE_FUNCTION_CODE_ERROR (2)
|
|
|
|
|
#define LARK1S_PARSE_FRAME_ERROR (3)
|
|
|
|
|
#define LARK1S_PARSE_CRC_ERROR (4)
|
|
|
|
|
#define LARK1S_PARSE_DATA_LENGTH_ERROR (5)
|
2024-06-02 17:11:47 +08:00
|
|
|
#define LARK1S_PARSE_CALI_REG_ERROR (6)
|
|
|
|
|
|
|
|
|
|
#define LARK1S_CALI_ZERO (0xFFFE)
|
2024-08-19 11:40:31 +08:00
|
|
|
#define LARK1S_CALI_SPAN (0xFFFC)
|
2024-06-01 16:18:56 +08:00
|
|
|
|
|
|
|
|
struct lark1s_gas_info_s {
|
|
|
|
|
uint32_t gas_id;
|
|
|
|
|
uint8_t gas_name[12];
|
|
|
|
|
uint32_t unit_id;
|
|
|
|
|
uint8_t unit_name[8];
|
|
|
|
|
uint32_t range;
|
|
|
|
|
uint32_t min_cali;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct lark1s_gas_cali_data_s {
|
|
|
|
|
uint32_t available;
|
|
|
|
|
uint32_t zero_sig_cts;
|
|
|
|
|
uint32_t zero_ref_cts;
|
|
|
|
|
uint32_t zero_det_temp;
|
|
|
|
|
uint32_t zero_lamp_temp;
|
|
|
|
|
uint32_t span_concentration;
|
|
|
|
|
uint32_t span_sig_cts;
|
|
|
|
|
uint32_t span_ref_cts;
|
|
|
|
|
uint32_t span_det_temp;
|
|
|
|
|
uint32_t span_lamp_temp;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct lark1s_data_s {
|
|
|
|
|
uint32_t det_temp;
|
|
|
|
|
uint32_t air_pressure;
|
|
|
|
|
uint32_t gas3_reading;
|
|
|
|
|
uint32_t cts_ref;
|
|
|
|
|
uint32_t cts_gas3;
|
|
|
|
|
int32_t gas3_compensated_reading;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct lark1s_status_s {
|
|
|
|
|
uint16_t zero_record[4];
|
|
|
|
|
uint16_t span_record[4];
|
|
|
|
|
uint16_t active;
|
|
|
|
|
uint16_t restore;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
void lark1s_set_mb_address(uint8_t address);
|
|
|
|
|
uint16_t lark1s_get_mb_errno(void);
|
|
|
|
|
int lark1s_req_sn(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_sn(uint8_t *buffer, int length, char *sn);
|
|
|
|
|
int lark1s_req_gas3_info(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_gas3_info(uint8_t *buffer, int length, struct lark1s_gas_info_s *info);
|
2024-07-13 22:57:08 +08:00
|
|
|
int lark1s_req_gas3_cali_data(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_gas3_cali_data(uint8_t *buffer, int length, struct lark1s_gas_cali_data_s *cali);
|
2024-06-01 16:18:56 +08:00
|
|
|
int lark1s_req_data(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_data(uint8_t *buffer, int length, struct lark1s_data_s *data);
|
2024-06-02 17:11:47 +08:00
|
|
|
int lark1s_req_gas3_cali_zero_record(uint8_t *buffer, uint16_t type);
|
2024-06-01 16:18:56 +08:00
|
|
|
int lark1s_parse_gas3_cali_zero_record(uint8_t *buffer, int length);
|
|
|
|
|
int lark1s_req_gas3_cali_span_record(uint8_t *buffer, uint32_t concentration);
|
|
|
|
|
int lark1s_parse_gas3_cali_span_record(uint8_t *buffer, int length);
|
2024-06-02 17:11:47 +08:00
|
|
|
int lark1s_req_gas3_cali_active(uint8_t *buffer, uint16_t type);
|
2024-06-01 16:18:56 +08:00
|
|
|
int lark1s_parse_gas3_cali_active(uint8_t *buffer, int length);
|
|
|
|
|
int lark1s_req_gas3_cali_restore(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_gas3_cali_restore(uint8_t *buffer, int length);
|
|
|
|
|
int lark1s_req_status(uint8_t *buffer);
|
|
|
|
|
int lark1s_parse_status(uint8_t *buffer, int length, struct lark1s_status_s *status);
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#endif /* __LARK1S_H__ */
|