This commit is contained in:
2025-07-01 17:46:58 +02:00
parent c0a14d76cc
commit dbab6d3ba3
52 changed files with 10354 additions and 8103 deletions

View File

@ -41,7 +41,7 @@
#define HTPA_EEPROM_PI 0x1A40 // Start address for pij[i][j] (top, block3, pixel 384 -> 0x1740 + 2*384 = 0x1A40
#define HTPA_ROWSELECTION 3u // select which row of block 3 is used for temperature calculation (0-3)
#define HTPA_CUSTOM_EPSILON 84u
#define HTPA_CUSTOM_EPSILON 94u
// I2C transmit delay
@ -51,6 +51,7 @@ I2C_HandleTypeDef* htpa_hi2c; // pointer to i2c handle
// EEPROM data:
uint8_t gradscale, vddscgrad, vddscoff, epsilon, arraytype, nrofdefpix;
uint8_t mbit, bias, clk, bpa, pu;
int8_t globaloff;
uint16_t vddth1, vddth2, ptatth1, ptatth2, globalgain, tablenumber;
uint16_t pij[32];
@ -128,6 +129,12 @@ void HTPA_Init(I2C_HandleTypeDef *hi2c){
globaloff = HTPA_ReadEEPROM_byte(0x0054);
globalgain = HTPA_ReadEEPROM_byte(0x0056) << 8 | HTPA_ReadEEPROM_byte(0x0055);
nrofdefpix = HTPA_ReadEEPROM_byte(0x007F);
mbit = HTPA_ReadEEPROM_byte(0x001A);
bias = HTPA_ReadEEPROM_byte(0x001B);
clk = HTPA_ReadEEPROM_byte(0x001C);
bpa = HTPA_ReadEEPROM_byte(0x001D);
pu = HTPA_ReadEEPROM_byte(0x001E);
for(uint8_t i = 0; i < 32; i++) {
// start at top half, row 4
vddcompgrad[i] = HTPA_ReadEEPROM_byte(HTPA_EEPROM_VDDCOMPGRAD + HTPA_ROWSELECTION * 64 + 2 * i + 1) << 8 | HTPA_ReadEEPROM_byte(HTPA_EEPROM_VDDCOMPGRAD + HTPA_ROWSELECTION * 64 + 2 * i);
@ -174,19 +181,19 @@ void HTPA_Init(I2C_HandleTypeDef *hi2c){
*/
HTPA_WriteRegister(HTPA_SENSOR_CONFIG, 0x01); // wakeup
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_1, 0x0C); // bit 5,4 = 00 -> amplification = 0, bit 3-0 = 1100 -> 16bit ADC-Resolution (4 + m=12)
HTPA_WriteRegister(HTPA_SENSOR_TRIM_1, mbit); // bit 5,4 = 00 -> amplification = 0, bit 3-0 = 1100 -> 16bit ADC-Resolution (4 + m=12)
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_2, 0x0C);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_2, bias);
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_3, 0x0C);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_3, bias);
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_4, 0x14); // clock frequency set to 0x14 -> 4.75MHz -> time for quarter frame: ~27ms
HTPA_WriteRegister(HTPA_SENSOR_TRIM_4, clk); // clock frequency set to 0x14 -> 4.75MHz -> time for quarter frame: ~27ms
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_5, 0x0C);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_5, bpa);
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_6, 0x0C);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_6, bpa);
HAL_Delay(10);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_7, 0x88);
HTPA_WriteRegister(HTPA_SENSOR_TRIM_7, pu);
HAL_Delay(10);
//HTPA_WriteRegister(HTPA_SENSOR_CONFIG, 0x09); // start sensor
//HAL_Delay(10);
@ -218,16 +225,6 @@ uint32_t HTPA_calcPowerTwo(uint8_t power) {
return 2 * HTPA_calcPowerTwo(power / 2) * HTPA_calcPowerTwo(power / 2);
}
/*uint32_t HTPA_calcPowerTwo(uint8_t power) {
if (power == 0)
return 1;
else if ((power % 2) == 0)
return HTPA_calcPowerTwo(power / 2) * HTPA_calcPowerTwo(power / 2);
else
return 2 * HTPA_calcPowerTwo(power / 2) * HTPA_calcPowerTwo(power / 2);
}*/
void HTPA_ReadSensor(uint32_t dataArray[32]) {
uint8_t config = 0;
/*

View File

@ -1,4 +1,4 @@
/* USER CODE BEGIN Header */
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
@ -128,7 +128,7 @@ int main(void)
HTPA_ReadSensor(pixelTemps);
TTS_TireZones(pixelTemps,tireTemps);
TTS_SendCAN(tireTemps);
TTS_SendCAN(tireTemps); // hier wird Funktion für CAN aufgerufen
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
//*/

View File

@ -10,7 +10,7 @@
#include "HTPA_32x32d.h"
// CAN Frame:
#define TTS_CANIDSTART 0x701; //
#define TTS_CANIDSTART 0x701; //1793-1796 0x701 - 0x704 FL,FR,RL,RR
CAN_HandleTypeDef* tts_hcan;
CAN_TxHeaderTypeDef tts_canHeader;
uint8_t tts_canData[8];
@ -26,7 +26,7 @@ void TTS_Init(CAN_HandleTypeDef *hcan) {
// initialize values
TTS_LoadTireData();
tts_sensorid = TTS_FL;
tts_carid = FT24;
tts_carid = FT25;
tts_tireid = OZ7_SLICKS;
// init CAN