--- VBAT detection solved ----
This commit is contained in:
parent
0ac5eaec3b
commit
0d05a65822
|
@ -90,6 +90,12 @@ int16_t SYS_GetTemperatureLevel(void);
|
||||||
*/
|
*/
|
||||||
uint16_t SYS_GetBatteryLevel(void);
|
uint16_t SYS_GetBatteryLevel(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief YUNHORN-STS Get the current VBAT--INPUT level
|
||||||
|
* @return value battery level in linear scale
|
||||||
|
*/
|
||||||
|
uint16_t STS_GetBatteryLevel(void);
|
||||||
|
|
||||||
/* USER CODE BEGIN EFP */
|
/* USER CODE BEGIN EFP */
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
/* USER CODE END EFP */
|
||||||
|
|
|
@ -173,6 +173,41 @@ uint16_t SYS_GetBatteryLevel(void)
|
||||||
/* USER CODE END SYS_GetBatteryLevel_2 */
|
/* USER CODE END SYS_GetBatteryLevel_2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t STS_GetBatteryLevel(void)
|
||||||
|
{
|
||||||
|
/* USER CODE BEGIN SYS_GetBatteryLevel_1 */
|
||||||
|
|
||||||
|
/* USER CODE END SYS_GetBatteryLevel_1 */
|
||||||
|
uint16_t batteryLevelmV = 0;
|
||||||
|
uint32_t measuredLevel = 0;
|
||||||
|
|
||||||
|
measuredLevel = ADC_ReadChannels(LL_ADC_CHANNEL_11); //VBAT_DETECT PA15 ADC VIN11
|
||||||
|
if (measuredLevel == 0)
|
||||||
|
{
|
||||||
|
batteryLevelmV = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ((uint32_t)*VREFINT_CAL_ADDR != (uint32_t)0xFFFFU)
|
||||||
|
{
|
||||||
|
/* Device with Reference voltage calibrated in production:
|
||||||
|
use device optimized parameters */
|
||||||
|
batteryLevelmV = __LL_ADC_CALC_VREFANALOG_VOLTAGE(measuredLevel,
|
||||||
|
ADC_RESOLUTION_12B);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Device with Reference voltage not calibrated in production:
|
||||||
|
use generic parameters */
|
||||||
|
batteryLevelmV = (VREFINT_CAL_VREF * 1510) / measuredLevel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return batteryLevelmV;
|
||||||
|
/* USER CODE BEGIN SYS_GetBatteryLevel_2 */
|
||||||
|
|
||||||
|
/* USER CODE END SYS_GetBatteryLevel_2 */
|
||||||
|
}
|
||||||
/* Private Functions Definition -----------------------------------------------*/
|
/* Private Functions Definition -----------------------------------------------*/
|
||||||
/* USER CODE BEGIN PrFD */
|
/* USER CODE BEGIN PrFD */
|
||||||
|
|
||||||
|
|
|
@ -97,6 +97,12 @@ void MX_GPIO_Init(void)
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_15; //VBAT_DETECT_PIN
|
||||||
|
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||||
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* EXTI interrupt init*/
|
/* EXTI interrupt init*/
|
||||||
#if 0
|
#if 0
|
||||||
|
|
|
@ -554,7 +554,7 @@ static void SendTxData(void)
|
||||||
/* USER CODE BEGIN SendTxData_1 */
|
/* USER CODE BEGIN SendTxData_1 */
|
||||||
LmHandlerErrorStatus_t status = LORAMAC_HANDLER_ERROR;
|
LmHandlerErrorStatus_t status = LORAMAC_HANDLER_ERROR;
|
||||||
uint8_t batteryLevel = GetBatteryLevel();
|
uint8_t batteryLevel = GetBatteryLevel();
|
||||||
uint16_t batteryLevelmV = (uint16_t) SYS_GetBatteryLevel();
|
uint16_t batteryLevelmV = (uint16_t) STS_GetBatteryLevel();
|
||||||
sensor_t sensor_data;
|
sensor_t sensor_data;
|
||||||
UTIL_TIMER_Time_t nextTxIn = 0;
|
UTIL_TIMER_Time_t nextTxIn = 0;
|
||||||
//HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET); /* PME OFF */
|
//HAL_GPIO_WritePin(GPIOB, GPIO_PIN_4, GPIO_PIN_RESET); /* PME OFF */
|
||||||
|
@ -678,17 +678,17 @@ static void OnTxTimerEvent(void *context)
|
||||||
/* USER CODE END OnTxTimerEvent_1 */
|
/* USER CODE END OnTxTimerEvent_1 */
|
||||||
|
|
||||||
//__HAL_RCC_GPIOB_CLK_ENABLE();
|
//__HAL_RCC_GPIOB_CLK_ENABLE();
|
||||||
//HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_SET);
|
|
||||||
STS_PME_ON;
|
STS_PME_ON;
|
||||||
STS_LED1_ON;
|
STS_LED1_ON;
|
||||||
//HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_SET);
|
|
||||||
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
UTIL_SEQ_SetTask((1 << CFG_SEQ_Task_LoRaSendOnTxTimerOrButtonEvent), CFG_SEQ_Prio_0);
|
||||||
|
|
||||||
HAL_Delay(3000);
|
HAL_Delay(3000);
|
||||||
|
|
||||||
|
|
||||||
STS_LED1_OFF;
|
STS_LED1_OFF;
|
||||||
STS_PME_OFF;
|
STS_PME_OFF;
|
||||||
//HAL_GPIO_WritePin(GPIOB,GPIO_PIN_2,GPIO_PIN_RESET);
|
|
||||||
//HAL_GPIO_WritePin(GPIOB,GPIO_PIN_4,GPIO_PIN_RESET);
|
|
||||||
//HAL_Delay(2000);
|
|
||||||
|
|
||||||
/*Wait for next tx slot*/
|
/*Wait for next tx slot*/
|
||||||
UTIL_TIMER_Start(&TxTimer);
|
UTIL_TIMER_Start(&TxTimer);
|
||||||
|
@ -772,6 +772,7 @@ static void OnJoinRequest(LmHandlerJoinParams_t *joinParams)
|
||||||
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
APP_LOG(TS_OFF, VLEVEL_H, "###### U/L FRAME:JOIN | DR:%d | PWR:%d\r\n", joinParams->Datarate, joinParams->TxPower);
|
||||||
}
|
}
|
||||||
/* USER CODE END OnJoinRequest_1 */
|
/* USER CODE END OnJoinRequest_1 */
|
||||||
|
SendTxData();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OnBeaconStatusChange(LmHandlerBeaconParams_t *params)
|
static void OnBeaconStatusChange(LmHandlerBeaconParams_t *params)
|
||||||
|
|
|
@ -52,7 +52,7 @@ extern "C" {
|
||||||
* Defines the application data transmission duty cycle. 10s, value in [ms].
|
* Defines the application data transmission duty cycle. 10s, value in [ms].
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define APP_TX_DUTYCYCLE 180000
|
#define APP_TX_DUTYCYCLE 120000
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:777:13:OnBeaconStatusChange 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:778:13:OnBeaconStatusChange 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:812:13:OnSysTimeUpdate 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:813:13:OnSysTimeUpdate 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:819:13:OnClassChange 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:820:13:OnClassChange 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:860:13:OnTxFrameCtrlChanged 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:861:13:OnTxFrameCtrlChanged 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:871:13:OnPingSlotPeriodicityChanged 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:872:13:OnPingSlotPeriodicityChanged 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:706:13:OnRxTimerLedEvent 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:706:13:OnRxTimerLedEvent 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:701:13:OnTxTimerLedEvent 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:701:13:OnTxTimerLedEvent 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:826:13:OnMacProcessNotify 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:827:13:OnMacProcessNotify 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:933:13:OnStopJoinTimerEvent 2
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:934:13:OnStopJoinTimerEvent 2
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:674:13:OnTxTimerEvent 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:674:13:OnTxTimerEvent 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:838:13:OnTxPeriodicityChanged 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:839:13:OnTxPeriodicityChanged 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:1004:13:OnRestoreContextRequest 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:1005:13:OnRestoreContextRequest 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:896:13:StopJoin 2
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:897:13:StopJoin 2
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:949:13:StoreContext 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:950:13:StoreContext 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:552:13:SendTxData 7
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:552:13:SendTxData 7
|
||||||
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:747:13:OnJoinRequest 3
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:711:13:OnJoinTimerLedEvent 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:711:13:OnJoinTimerLedEvent 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:718:13:OnTxData 3
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:718:13:OnTxData 3
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:882:13:OnSystemReset 3
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:883:13:OnSystemReset 3
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:747:13:OnJoinRequest 3
|
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:472:13:OnRxData 13
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:472:13:OnRxData 13
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:989:13:OnStoreContextRequest 2
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:990:13:OnStoreContextRequest 2
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:971:13:OnNvmDataChange 1
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:972:13:OnNvmDataChange 1
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:348:6:LoRaWAN_Init 2
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:348:6:LoRaWAN_Init 2
|
||||||
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:443:6:HAL_GPIO_EXTI_Callback 3
|
D:/ONEDRIVE/STM32WLV13/Projects/NUCLEO-WL55JC/Applications/LoRaWAN/LoRaWAN_End_Node_E5CC/LoRaWAN/App/lora_app.c:443:6:HAL_GPIO_EXTI_Callback 3
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue