XLSW_3DP_US-IR/src/gd60914.c

51 lines
1.2 KiB
C

//
// Created by dell on 25-1-7.
//
#include "gd60914.h"
void gd60914_get_object_tempture(void) {
#ifdef SOFTWARE_IIC
soft_i2c_config();
#else
i2c_config();
#endif
static uint8_t sensor_validation_data[2];
extern uint8_t g_temperature_uint8[2];
#ifdef SOFTWARE_IIC
soft_i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, data);
#else
i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, sensor_validation_data);
#endif
if (sensor_validation_data[0] != 0xAA || sensor_validation_data[1] != 0x55) {
#ifdef DEBUG_VERBOES
printf("sensor error\r\n");
#endif
return;
}
delay_ms(350);
#ifdef SOFTWARE_IIC
soft_i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, g_temperature_uint8);
#else
i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, g_temperature_uint8);
#endif
// printf("%d\r\n", g_temperature_uint8[1] << 8 | g_temperature_uint8[0]);
}
void gd60914_read_temp(void) {
uint8_t value[2] = {0};
#ifdef SOFTWARE_IIC
soft_i2c_read_16bits(GD60914_ADDR, GD60914_OBJ_TEMP, value);
#else
i2c_read_16bits(GD60914_ADDR, GD60914_TEMP_REG, value);
#endif
printf("%x %x\r\n", value[1], value[0]);
}