add timer to upload weight scale
This commit is contained in:
parent
8ebcc9e014
commit
c4e24d31ec
|
@ -25,7 +25,28 @@
|
|||
#include "main.h"
|
||||
#include "sys_app.h"
|
||||
|
||||
int sts_weight_scale(void);
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32_t weight_scale_value;
|
||||
float pressure; /*!< in mbar */
|
||||
float temperature; /*!< in degC */
|
||||
float humidity; /*!< in % */
|
||||
int32_t latitude; /*!< latitude converted to binary */
|
||||
int32_t longitude; /*!< longitude converted to binary */
|
||||
int16_t altitudeGps; /*!< in m */
|
||||
int16_t altitudeBar; /*!< in m * 10 */
|
||||
/**more may be added*/
|
||||
/* USER CODE BEGIN sensor_t */
|
||||
|
||||
/* USER CODE END sensor_t */
|
||||
} sts_sensor_t;
|
||||
|
||||
|
||||
|
||||
void sts_weight_scale_init(void);
|
||||
void sts_weight_scale(sts_sensor_t *sensor_data);
|
||||
void HX711_Init(void);
|
||||
void Init_HX711pin(void);
|
||||
uint32_t HX711_Read(void);
|
||||
|
@ -39,5 +60,4 @@ void delay_us(uint32_t nus);
|
|||
|
||||
|
||||
|
||||
|
||||
#endif /* YUNHORN_STS_WEIGHT_SCALE_H_ */
|
||||
|
|
|
@ -91,7 +91,7 @@ int main(void)
|
|||
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "\r\n ----- Start ----- \r\n");
|
||||
|
||||
sts_weight_scale();
|
||||
//sts_weight_scale();
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
|
|
|
@ -25,20 +25,23 @@ volatile uint32_t gross_weight;
|
|||
int32_t net_weight;
|
||||
uint8_t Flag_Error;
|
||||
volatile uint32_t last_net_weight=0;
|
||||
int sts_weight_scale(void)
|
||||
{
|
||||
volatile sts_sensor_t sts_sensor_data;
|
||||
void sts_weight_scale_init(void)
|
||||
{
|
||||
HX711_Init();
|
||||
Get_GrossWeight();
|
||||
|
||||
HAL_Delay(500);
|
||||
|
||||
Get_GrossWeight();
|
||||
|
||||
}
|
||||
|
||||
while(1)
|
||||
void sts_weight_scale(sts_sensor_t *sts_sensor_data)
|
||||
{
|
||||
|
||||
//while(1)
|
||||
{
|
||||
Get_NetWeight();
|
||||
APP_LOG(TS_OFF, VLEVEL_M, "Net Weight = %d g \r\n", net_weight);
|
||||
sts_sensor_data->weight_scale_value=net_weight;
|
||||
|
||||
last_net_weight = net_weight;
|
||||
if (((last_net_weight - net_weight) > 100) && (net_weight > 100)) // re-calibrate
|
||||
|
@ -46,9 +49,9 @@ int sts_weight_scale(void)
|
|||
Get_GrossWeight();
|
||||
HAL_Delay(100);
|
||||
Get_GrossWeight();
|
||||
HAL_Delay(2000);
|
||||
//HAL_Delay(2000);
|
||||
}
|
||||
HAL_Delay(2000);
|
||||
//HAL_Delay(2000);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,9 @@
|
|||
#include "utilities_def.h"
|
||||
#include "sys_debug.h"
|
||||
#include "sys_sensors.h"
|
||||
|
||||
#ifdef STS_WS
|
||||
#include "sts_weight_scale.h"
|
||||
#endif
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
/* USER CODE END Includes */
|
||||
|
@ -117,7 +119,9 @@ void SystemApp_Init(void)
|
|||
|
||||
/*Initialize the Sensors */
|
||||
EnvSensors_Init();
|
||||
|
||||
#ifdef STS_WS
|
||||
sts_weight_scale_init();
|
||||
#endif
|
||||
/*Init low power manager*/
|
||||
UTIL_LPM_Init();
|
||||
/* Disable Stand-by mode */
|
||||
|
|
|
@ -36,7 +36,9 @@
|
|||
#include "flash_if.h"
|
||||
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
#ifdef STS_WS
|
||||
#include "sts_weight_scale.h"
|
||||
#endif
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* External variables ---------------------------------------------------------*/
|
||||
|
@ -555,6 +557,9 @@ static void SendTxData(void)
|
|||
LmHandlerErrorStatus_t status = LORAMAC_HANDLER_ERROR;
|
||||
uint8_t batteryLevel = GetBatteryLevel();
|
||||
sensor_t sensor_data;
|
||||
#ifdef STS_WS
|
||||
sts_sensor_t sts_sensor_data;
|
||||
#endif
|
||||
UTIL_TIMER_Time_t nextTxIn = 0;
|
||||
|
||||
if (LmHandlerIsBusy() == false)
|
||||
|
@ -572,7 +577,11 @@ static void SendTxData(void)
|
|||
#endif /* CAYENNE_LPP */
|
||||
|
||||
EnvSensors_Read(&sensor_data);
|
||||
#ifdef STS_WS
|
||||
sts_weight_scale(&sts_sensor_data);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "Weigt Scale : %d\r\n", sts_sensor_data.weight_scale_value);
|
||||
|
||||
#endif
|
||||
APP_LOG(TS_ON, VLEVEL_M, "VDDA: %d\r\n", batteryLevel);
|
||||
APP_LOG(TS_ON, VLEVEL_M, "temp: %d\r\n", (int16_t)(sensor_data.temperature));
|
||||
|
||||
|
@ -628,6 +637,10 @@ static void SendTxData(void)
|
|||
AppData.Buffer[i++] = (uint8_t)((altitudeGps >> 8) & 0xFF);
|
||||
AppData.Buffer[i++] = (uint8_t)(altitudeGps & 0xFF);
|
||||
}
|
||||
#ifdef STS_WS
|
||||
AppData.Buffer[i++] = (uint8_t)(sts_sensor_data.weight_scale_value >> 8& 0xFF);
|
||||
AppData.Buffer[i++] = (uint8_t)(sts_sensor_data.weight_scale_value & 0xFF);
|
||||
#endif
|
||||
|
||||
AppData.BufferSize = i;
|
||||
#endif /* CAYENNE_LPP */
|
||||
|
|
Loading…
Reference in New Issue