/*******************************************************************************
|
* File Name : BSP.c
|
* Description :
|
* Created on : 2018Äê7ÔÂ23ÈÕ
|
* Author : ¶Å¼ü
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "BSP.h"
|
#include "stm32l0xx_hal.h"
|
#include "HIDO_Debug.h"
|
#include "Uart.h"
|
#include "Shell.h"
|
//#include "DBG.h"
|
#include "RTC.h"
|
#include "SPI.h"
|
#include "LED.h"
|
#include "Beep.h"
|
#include "Key.h"
|
#include "Led.h"
|
#include "ADC.h"
|
#include "Power.h"
|
#include "GPS.h"
|
#include "Lora.h"
|
#include "Battery.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Global Variable *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Variable *
|
*******************************************************************************/
|
extern UART_HandleTypeDef huart1;
|
extern UART_HandleTypeDef huart2;
|
extern UART_HandleTypeDef hlpuart1;
|
extern TIM_HandleTypeDef htim21;
|
//extern RTC_HandleTypeDef hrtc;
|
|
/*******************************************************************************
|
* Local Function Declaration *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Local Function *
|
*******************************************************************************/
|
/*******************************************************************************
|
* Function Name : BSP_ResourceInit
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
static HIDO_INT32 BSP_ResourceInit(void)
|
{
|
Power_PinRegister(POWER_PIN_GPS_LORA, GPIOA, GPIO_PIN_8);
|
|
Uart_Register(UART_ID_DBG, &huart1);
|
Uart_Register(UART_ID_GPS, &huart2);
|
Uart_Register(UART_ID_LORA, &hlpuart1);
|
|
// Key_PinRegister(KEY_ID_RIGHT, GPIOB, GPIO_PIN_0, GPIO_PIN_0);
|
// Key_PinRegister(KEY_ID_LEFT, GPIOC, GPIO_PIN_4, 0);
|
|
// Led_PinRegister(LED_ID_0, GPIOB, GPIO_PIN_4, LED_ACTIVE_STATE_SET);
|
// Led_PinRegister(LED_ID_1, GPIOA, GPIO_PIN_4, LED_ACTIVE_STATE_RESET);
|
// Led_PinRegister(LED_ID_2, GPIOA, GPIO_PIN_5, LED_ACTIVE_STATE_RESET);
|
// Led_PinRegister(LED_ID_3, GPIOA, GPIO_PIN_11, LED_ACTIVE_STATE_RESET);
|
// Led_PinRegister(LED_ID_4, GPIOA, GPIO_PIN_12, LED_ACTIVE_STATE_RESET);
|
|
Lora_PinRegister(LORA_PIN_RESET, GPIOB, GPIO_PIN_14);
|
Lora_PinRegister(LORA_PIN_SLEEP, GPIOB, GPIO_PIN_2);
|
Lora_PinRegister(LORA_PIN_RUN, GPIOB, GPIO_PIN_12);
|
|
// GPIO_InitTypeDef GPIO_InitStruct = {0};
|
// GPIO_InitStruct.Pin = GPIO_PIN_12;
|
// GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
// GPIO_InitStruct.Pull = GPIO_NOPULL;
|
// GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
// HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
// GPIO_InitStruct.Pin = GPIO_PIN_14;
|
// GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
// GPIO_InitStruct.Pull = GPIO_NOPULL;
|
// GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
// HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
GPS_PinRegister(GPS_PIN_REST, GPIOA, GPIO_PIN_4);
|
Beep_TimerRegister(&htim21, TIM_CHANNEL_1);
|
Battery_PinRegister(BATTERY_PIN_MEARS_CTRL, GPIOA, GPIO_PIN_11);
|
// RTC_Init(&hrtc);
|
|
return HIDO_OK;
|
}
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
/*******************************************************************************
|
* Function Name : HAL_UART_ErrorCallback
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
|
{
|
Uart_RxErrorFromISR(huart);
|
}
|
|
/*******************************************************************************
|
* Function Name : HAL_UART_TxCpltCallback
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
|
{
|
Uart_TxOverFromISR(huart);
|
}
|
|
/*******************************************************************************
|
* Function Name : HAL_UART_RxCpltCallback
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
{
|
Uart_RxOverFromISR(huart);
|
}
|
|
#if 0
|
/*******************************************************************************
|
* Function Name : HAL_RTC_AlarmAEventCallback
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
|
{
|
#ifdef __APP_CODE__
|
HIDO_Debug("HAL_RTC_AlarmAEventCallback\r\n");
|
#endif
|
}
|
#endif
|
|
/*******************************************************************************
|
* Function Name : HAL_TIM_PeriodElapsedCallback
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
{
|
//if(htim == &htim8)
|
{
|
// Key_10MsISR();
|
// Beep_10MsISR();
|
// Led_10MsISR();
|
// VibratingMotor_10MsISR();
|
}
|
}
|
|
/*******************************************************************************
|
* Function Name : BSP_Init
|
* Description :
|
* Input :
|
* Output :
|
* Return :
|
* Author : ¶Å¼ü
|
* Modified Date: : 2018Äê7ÔÂ23ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 BSP_Init(void)
|
{
|
BSP_ResourceInit();
|
|
return HIDO_OK;
|
}
|