Fertirrega_v6 Without Blocking Samples
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
#include "main.h"
|
||||
#include "adc.h"
|
||||
#include "i2c.h"
|
||||
#include "tim.h"
|
||||
#include "usart.h"
|
||||
#include "gpio.h"
|
||||
|
||||
@@ -57,6 +58,8 @@
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
|
||||
|
||||
|
||||
uint8_t rx_buffer[256]; /*!< Buffer for received data */
|
||||
uint8_t tx_data[] = "Hello RS-485 Broadcast!"; /*!< Data to send */
|
||||
|
||||
@@ -158,14 +161,21 @@ int main(void)
|
||||
MX_I2C1_Init();
|
||||
MX_I2C2_Init();
|
||||
MX_USART1_UART_Init();
|
||||
MX_TIM3_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
|
||||
|
||||
Flash_Load_Page(&flash_data);
|
||||
|
||||
|
||||
HAL_TIM_Base_Start_IT(&htim3);
|
||||
|
||||
//TempSensor_Init(&hadc1);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
HAL_TIM_Base_Start(&htim3);
|
||||
HAL_ADCEx_Calibration_Start(&hadc1);
|
||||
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)AD_RES, 2); // Internal Temperature conversion
|
||||
*/
|
||||
@@ -176,8 +186,12 @@ int main(void)
|
||||
rs485_init();
|
||||
|
||||
|
||||
ADS1015(&i2c, &hi2c1, ADS_ADDR_GND);
|
||||
ADSsetGain(&i2c, GAIN_FOUR);
|
||||
ADS1015(&i2c_ads1015, &hi2c1, ADS1015_ADDR_GND);
|
||||
//ADSsetGain(&i2c_ads1015, GAIN_FOUR);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ADG715_ResetChannels();
|
||||
// Start CE and RTD Measurement
|
||||
@@ -189,7 +203,7 @@ int main(void)
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
|
||||
/*
|
||||
for(i=0;i<AD5934_TEMP_AVERAGES;i++) // Loop to get stability and get averages
|
||||
{
|
||||
refResistance = AD5934_Get_Ref_Resistance(); // On Board Resistor
|
||||
@@ -265,14 +279,15 @@ int main(void)
|
||||
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
while (1)
|
||||
{
|
||||
|
||||
|
||||
AD5934_Process_System();
|
||||
ADS1015_Process_System();
|
||||
|
||||
|
||||
current_millis = HAL_GetTick();
|
||||
current_millis = g_ms_counter;
|
||||
|
||||
|
||||
// Piscar LED verde em PB5 a cada 0,5 segundos
|
||||
@@ -289,8 +304,19 @@ int main(void)
|
||||
uint8_t led_data[2] = {0x01, current_green_state}; // Command 0x01 for green LED
|
||||
|
||||
}
|
||||
/*
|
||||
status1 = rs485_send_broadcast(ph_t, strlen((char*)ph_t));
|
||||
|
||||
|
||||
ph_compensated = ADSCalculate_ph_mV() ;
|
||||
|
||||
|
||||
FloatToString(tempString, ph_compensated);
|
||||
status0 = rs485_send_broadcast(tempString, (strlen((char*)tempString)-1));
|
||||
status1 = rs485_send_broadcast(newline_ph, strlen((char*)newline_ph));
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
// Piscar LED vermelho em PB4 a cada 1 segundo
|
||||
@@ -308,26 +334,44 @@ int main(void)
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (g_rtd_filter.value_valid)
|
||||
{
|
||||
float rtd_final = g_rtd_filter.filtered_value;
|
||||
|
||||
status1 = rs485_send_broadcast(tm_t, strlen((char*)tm_t));
|
||||
temperature_RTD = AD5934_GetTemperature(refResistance);
|
||||
FloatToString(tempString, temperature_RTD);
|
||||
//temperature_RTD = AD5934_GetTemperature(refResistance);
|
||||
FloatToString(tempString, rtd_final);
|
||||
status0 = rs485_send_broadcast(tempString, (strlen((char*)tempString)-1));
|
||||
status1 = rs485_send_broadcast(newline_temp, strlen((char*)newline_temp));
|
||||
}
|
||||
|
||||
if (g_ec_filter.value_valid)
|
||||
{
|
||||
float ec_final = g_ec_filter.filtered_value;
|
||||
status1 = rs485_send_broadcast(ad_t, strlen((char*)ad_t));
|
||||
admittance_EC = AD5934_GetImpedance(temperature_RTD);
|
||||
FloatToString(tempString, admittance_EC);
|
||||
//admittance_EC = AD5934_GetImpedance(temperature_RTD);
|
||||
FloatToString(tempString, ec_final);
|
||||
status0 = rs485_send_broadcast(tempString, (strlen((char*)tempString)-1));
|
||||
status1 = rs485_send_broadcast(newline_admi, strlen((char*)newline_admi));
|
||||
}
|
||||
|
||||
if (g_ref_filter.value_valid)
|
||||
{
|
||||
//float reference_final = g_ref_filter.filtered_value;
|
||||
status1 = rs485_send_broadcast(ph_t, strlen((char*)ph_t));
|
||||
ph_compensated = 10*ADSCalculate_ph_mV();//ADSCalculate_ph_Compensated(temperature_RTD);
|
||||
ph_compensated = g_ph_filter.filtered_value;
|
||||
FloatToString(tempString, ph_compensated);
|
||||
|
||||
status0 = rs485_send_broadcast(tempString, (strlen((char*)tempString)-1));
|
||||
status1 = rs485_send_broadcast(newline_ph, strlen((char*)newline_ph));
|
||||
|
||||
status1 = rs485_send_broadcast(newline, strlen((char*)newline));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -524,6 +568,18 @@ void intToStr(int N, char *str) {
|
||||
}
|
||||
}
|
||||
|
||||
/* TIM3 Timer Interrupt */
|
||||
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
if (htim->Instance == TIM3)
|
||||
{
|
||||
g_ms_counter++; /* Relógio global do sistema */
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user