/**
 * @file HTPA_32x32d.h
 * @brief Header for HTPA 32x32d infrared array sensor library
 * @author Tim-Erik Düntzsch t.duentzsch@fasttube.de
 * 
 * @date 25.03.2023 - first implementation (untested)
 * 
 * @todo finish HTPA_ReadBlock function
 * @todo add calibration function
 * @todo add temperature conversion function
 * 
 * @test communication and readout
 * 
 * @version 0.1
 */

#ifndef INC_HTPA_32X32D_H_
#define INC_HTPA_32X32D_H_

/// @brief HTPA status register struct
typedef struct {
	uint8_t block;	// currently selected block
	bool vdd_meas;	// selection whether first two bytes are VDD or PTA
	bool blind;
	bool eoc;		// end of conversion flag
} HTPA_Status;

void HTPA_Init(I2C_HandleTypeDef *);

void HTPA_ReadBlock(uint8_t, uint8_t, uint16_t *[128]);
void HTPA_WriteRegister(uint8_t, uint8_t);
HTPA_Status HTPA_GetStatus(void);


#endif /* INC_HTPA_32X32D_H_ */
