61 lines
1.4 KiB
C
61 lines
1.4 KiB
C
|
|
#ifndef __RESI_MATH_LIB_H__
|
||
|
|
#define __RESI_MATH_LIB_H__
|
||
|
|
#include "main.h"
|
||
|
|
#include "stdint.h"
|
||
|
|
#include "string.h"
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
uint16_t *sensor_adc_value;
|
||
|
|
uint16_t *resi_adc_value;
|
||
|
|
uint16_t math_number;
|
||
|
|
} math_resi_cal_t;
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
SCAN_HIGH_LEVEL,
|
||
|
|
SCAN_LOW_LEVEL
|
||
|
|
} SCAN_LEVEL_T;
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
RESI_BACKWARDS,
|
||
|
|
RESI_SCALE
|
||
|
|
} MATH_RESI_DISPLAY_TYPE_T;
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
SINGLE_BYTE,
|
||
|
|
DOUBLE_BYTE,
|
||
|
|
} DATA_BIT_SIZE_T;
|
||
|
|
|
||
|
|
void math_resi_cali_once(math_resi_cal_t *math_resi_cal,
|
||
|
|
uint16_t *math_resi_buffer,
|
||
|
|
uint16_t math_resi_buffer_size,
|
||
|
|
SCAN_LEVEL_T scan_level);
|
||
|
|
|
||
|
|
void math_display_resi(uint16_t *math_resi_buffer,
|
||
|
|
void *display_buffer,
|
||
|
|
uint16_t buffer_size,
|
||
|
|
MATH_RESI_DISPLAY_TYPE_T type,
|
||
|
|
DATA_BIT_SIZE_T data_bit_size);
|
||
|
|
|
||
|
|
void math_resi_init(uint16_t max_display_resi_cal,
|
||
|
|
uint16_t min_display_resi_cal,
|
||
|
|
uint16_t resi_ref_value,
|
||
|
|
uint16_t adc_max_value,
|
||
|
|
uint16_t max_display);
|
||
|
|
|
||
|
|
|
||
|
|
void math_resi_init_single(uint16_t *max_display_resi_cal_single,
|
||
|
|
uint16_t *min_display_resi_cal_single,
|
||
|
|
uint16_t resi_ref_value,
|
||
|
|
uint16_t adc_max_value,
|
||
|
|
uint16_t max_display_value,
|
||
|
|
uint16_t array_len);
|
||
|
|
|
||
|
|
void math_display_resi_single(uint16_t *math_resi_buffer,
|
||
|
|
void *display_buffer,
|
||
|
|
uint16_t buffer_size,
|
||
|
|
MATH_RESI_DISPLAY_TYPE_T type,
|
||
|
|
DATA_BIT_SIZE_T data_bit_size);
|
||
|
|
|
||
|
|
#endif
|