33 lines
1.0 KiB
C++
33 lines
1.0 KiB
C++
|
#include "src/headers/MLX90640_API.h"
|
||
|
#include "common/pimoroni_i2c.hpp"
|
||
|
|
||
|
void MLX90640_I2CConfigure(pimoroni::I2C *i2c_instance);
|
||
|
|
||
|
#define MLX90640_DEFAULT_I2C_ADDRESS 0x33
|
||
|
|
||
|
namespace pimoroni {
|
||
|
class MLX90640 {
|
||
|
public:
|
||
|
enum MLX90640_Error {
|
||
|
OK = 0,
|
||
|
INVALID_BAUDRATE = 1,
|
||
|
INVALID_FPS = 2,
|
||
|
};
|
||
|
|
||
|
float mlx90640To[768] = {0.0f};
|
||
|
float emissivity = 1.0f;
|
||
|
float reflected_temperature = 8.0f;
|
||
|
|
||
|
MLX90640(pimoroni::I2C *i2c_instance, uint i2c_address=MLX90640_DEFAULT_I2C_ADDRESS) : i2c_instance(i2c_instance), i2c_address(i2c_address) {};
|
||
|
MLX90640_Error setup(int fps);
|
||
|
int get_image(void);
|
||
|
int get_frame(void);
|
||
|
private:
|
||
|
pimoroni::I2C *i2c_instance;
|
||
|
uint i2c_address = MLX90640_DEFAULT_I2C_ADDRESS;
|
||
|
paramsMLX90640 mlx90640;
|
||
|
uint16_t eeMLX90640[832] = {0};
|
||
|
uint16_t frame0[834] = {0};
|
||
|
uint16_t frame1[834] = {0};
|
||
|
};
|
||
|
}
|