Fertirrega_v6 AD5934 Bug Fix

This commit is contained in:
2026-07-21 17:57:07 +01:00
parent d62bb77930
commit c215488ec2
90 changed files with 12316 additions and 16952 deletions
+3 -1
View File
@@ -213,7 +213,7 @@ void AD5934_RestartSweep(void);
float AD5934_GetTemperature(void);
float AD5934_GetImpedance(void);
float AD5934_GetImpedance(float temperature_dut);
void AD5934_Wait_For_Data_Valid(void);
@@ -221,6 +221,8 @@ float AD5934_Round_Float_Precision(float value, uint8_t number_of_decimals);
float AD5934_Linear_Correction(float raw_value);
float AD5934_Get_Target_Conductivity(float temp);
void ADG715_SetRegisterValue(char value);
void ADG715_SetChannels(uint8_t ch1, uint8_t ch2);
+15 -3
View File
@@ -126,10 +126,17 @@ extern "C" {
#define ADS1015_KELVIN_OFFSET 273.15f // Constante de conversão Kelvin
#define ADS1015_ADC_MAX 4095.0f
#define ADS1015_ADC_VREF 3.3f
#define PH_DELTA_CALIB 3.0f // Difference between pH 7 and pH 4 used in calibration
#define ADS1015_PH_AVERAGES 8
#define ADS1015_TEMPERATURE_ROW 0
#define ADS1015_PH_4_BUFFER_ROW 1
#define ADS1015_PH_7_BUFFER_ROW 2
#define ADS1015_INTERPOLATION_ROWS 3
#define ADS1015_PH_TEMP_INTER_POINTS 12
/*=========================================================================*/
/** Gain settings */
typedef enum {
GAIN_TWOTHIRDS = ADS1015_REG_CONFIG_PGA_6_144V,
@@ -141,6 +148,11 @@ typedef enum {
} adsGain_t;
extern float ph_averages[ADS1015_PH_AVERAGES];
typedef struct {
uint16_t m_i2cAddress; ///< the I2C address
uint32_t m_conversionDelay; ///< conversion delay
@@ -149,8 +161,6 @@ typedef struct {
I2C_HandleTypeDef* hi2c; // Handle for I2C
}ADS1015_I2C;
extern float ph_averages[ADS1015_PH_AVERAGES];
extern ADS1015_I2C i2c;
void ADS1015(ADS1015_I2C* i2c, I2C_HandleTypeDef* hi2c, uint8_t i2cAddress);
@@ -162,6 +172,8 @@ int16_t ADSgetLastConversionResults();
void ADSsetGain(ADS1015_I2C* i2c, adsGain_t gain);
adsGain_t ADSgetGain(ADS1015_I2C* i2c);
float ADSCalculate_ph_Volts(void);
float ADSCalculate_ph_Compensated(int16_t adc_raw, float temp_dut);
float ADSCalculate_ph_Compensated(float temp_dut);
float ADSCalculate_ph_Uncompensated(void);
float ADSinterpolate_ph(float temp_dut, uint8_t row_index);
#endif /* INC_ADS1015_DRIVER_H_ */
+9 -8
View File
@@ -19,7 +19,6 @@
/* Endereço da página (Ex: última página do F103C8) */
#define FLASH_PAGE_ADDR ((uint32_t)0x0800FC00)
#define FLASH_PAGE_SIZE 1024
/**
* @brief Estrutura de 1KB alinhada e preenchida.
@@ -27,13 +26,15 @@
*/
typedef struct __attribute__((packed, aligned(4)))
{
uint32_t magic_number; // 4 bytes (Validação)
float ph4_value; // 4 bytes
float ph7_value; // 4 bytes
float ec1413_value; // 4 bytes
float ec12880_value; // 4 bytes
float temperature_value;// 4 bytes
uint8_t reserved[1000]; // Preenchimento para completar 1024 bytes (1KB)
uint32_t magic_number; // 4 bytes (Validação)
float ph4_volts; // 4 bytes
float ph7_volts; // 4 bytes
float ec1413_mag; // 4 bytes
float ec0_mag; // 4 bytes
float temperature_value; // 4 bytes
uint8_t PT100_PT1000_switch; // 1 byte
uint8_t EC10mS_EC5mS_switch; // 1 byte
uint8_t reserved[998]; // Preenchimento para completar 1024 bytes (1KB)
} FlashPage_t;
extern FlashPage_t flash_data;
-1
View File
@@ -111,7 +111,6 @@ void Error_Handler(void);
#define PG_PH_GPIO_Port GPIOA
#define Calib_PH_Pin GPIO_PIN_3
#define Calib_PH_GPIO_Port GPIOB
#define Calib_PH_EXTI_IRQn EXTI3_IRQn
#define LED_Red_Pin GPIO_PIN_4
#define LED_Red_GPIO_Port GPIOB
#define LED_Green_Pin GPIO_PIN_5
+2 -2
View File
@@ -42,7 +42,7 @@
/*#define HAL_CORTEX_MODULE_ENABLED */
/*#define HAL_CRC_MODULE_ENABLED */
/*#define HAL_DAC_MODULE_ENABLED */
#define HAL_DMA_MODULE_ENABLED
/*#define HAL_DMA_MODULE_ENABLED */
/*#define HAL_ETH_MODULE_ENABLED */
/*#define HAL_FLASH_MODULE_ENABLED */
#define HAL_GPIO_MODULE_ENABLED
@@ -64,7 +64,7 @@
/*#define HAL_SMARTCARD_MODULE_ENABLED */
/*#define HAL_SPI_MODULE_ENABLED */
/*#define HAL_SRAM_MODULE_ENABLED */
#define HAL_TIM_MODULE_ENABLED
/*#define HAL_TIM_MODULE_ENABLED */
#define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED */
/*#define HAL_WWDG_MODULE_ENABLED */
-2
View File
@@ -55,8 +55,6 @@ void SVC_Handler(void);
void DebugMon_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
void EXTI3_IRQHandler(void);
void DMA1_Channel1_IRQHandler(void);
void USART1_IRQHandler(void);
/* USER CODE BEGIN EFP */