Fertirrega_v6 AD5934 Bug Fix
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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_ */
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user