236 lines
8.2 KiB
Plaintext
236 lines
8.2 KiB
Plaintext
/**
|
|
******************************************************************************
|
|
* @file Vibration Sensor for Consumer Product Detection and Industry Level Machine Fault Analysis
|
|
* @author Yunhorn (r) Technology Limited Application Team *
|
|
* @brief Yunhorn (r) SmarToilets (r) Product configuration file. *
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2022 Yunhorn Technology Limited.
|
|
* Copyright (c) 2022 Shenzhen Yunhorn Technology Co., Ltd.
|
|
* All rights reserved.
|
|
*
|
|
* This software is licensed under terms that can be found in the LICENSE file
|
|
* in the root directory of this software component.
|
|
* If no LICENSE file comes with this software, it is provided AS-IS.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
|
|
============ STM32WL 55 ========================================
|
|
BUT1_PIN PA.0 CN10 Pin nbr 1 [PC.13 CN7 Pin nbr 23]
|
|
BUT2_PIN PA.1 CN10 Pin nbr 36
|
|
BUT3_PIN PC.6 CN10 Pin nbr 12 //// ADXL345-INT2
|
|
|
|
#define BUT1_Pin GPIO_PIN_0
|
|
#define BUT1_GPIO_Port GPIOA
|
|
#define BUT1_EXTI_IRQn EXTI0_IRQn
|
|
|
|
#define BUT3_Pin GPIO_PIN_6
|
|
#define BUT3_GPIO_Port GPIOC
|
|
#define BUT3_EXTI_IRQn EXTI9_5_IRQn
|
|
|
|
#define BUT2_Pin GPIO_PIN_1
|
|
#define BUT2_GPIO_Port GPIOA
|
|
#define BUT2_EXTI_IRQn EXTI1_IRQn
|
|
============ STM32WL 55 ========================================
|
|
|
|
============ STM32WL55JC confirmed =============
|
|
|
|
===================================
|
|
|
|
GNG GND=== CN7 PIN 20
|
|
VCC 3.3 ====CN7 PIN 16
|
|
===================================
|
|
SSD 1306 STM32WL55JC
|
|
----- I2C1 --------------------------------------
|
|
SCL PB.08 === CN10 pin 27
|
|
SDA PB.07 === CN10 pin 37
|
|
|
|
----- I2C2 --------------------------------------
|
|
SCL PA.12 === CN10 pin 3
|
|
SDA PA.15 === CN7 pin 17
|
|
|
|
----- I2C3 --------------------------------------
|
|
SCL PB.13 === CN7 pin 38
|
|
SDA PB.4 === CN7 pin 34
|
|
|
|
--------------------SPI STM32WL55JC
|
|
--------------------SPI1 -------------------------------
|
|
CLK PA.05 ==== CN10 pin 11
|
|
|
|
MISO PA.06 ====- CN10 pin 13
|
|
|
|
MOSI PA.07 ==== CN10 pin 15
|
|
=======================================
|
|
|
|
|
|
===================================
|
|
|
|
===================================
|
|
|
|
/*!
|
|
* LoRaWAN Adaptive Data Rate
|
|
* @note Please note that when ADR is enabled the end-device should be static
|
|
*/
|
|
#define LORAWAN_ADR_STATE LORAMAC_HANDLER_ADR_OFF //LORAMAC_HANDLER_ADR_ON
|
|
|
|
|
|
/** @addtogroup STM32WLXX_NUCLEO_LOW_LEVEL_BUTTON_Functions
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* @brief Configures Yunhorn GPIO INT1/INT2 or Sensor with EXTI Line.
|
|
* @param DryContactSensor: Specifies the Dry Contact Sensors to be configured.
|
|
* This parameter can be one of following parameters:
|
|
* @arg DRY_CONTACT_S1 // REED SWITCH OR WATER LEAKAGE
|
|
* @arg DRY_CONTACT_S2
|
|
* @arg DRY_CONTACT_S3
|
|
* @param DRY_CONTACT_Mode: Specifies Button mode.
|
|
* This parameter can be one of following parameters:
|
|
* @arg DRY_CONTACT_MODE_GPIO: DRY_CONTACT will be used as simple IO
|
|
* @arg DRY_CONTACT_MODE_EXTI: DRY_CONTACT will be connected to EXTI line with interrupt
|
|
* generation capability
|
|
* @retval BSP status
|
|
*/
|
|
int32_t BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode)
|
|
{
|
|
GPIO_InitTypeDef gpio_init_structure = {0};
|
|
static BSP_EXTI_LineCallback button_callback[BUTTONn] = {BUTTON_SW1_EXTI_Callback, BUTTON_SW2_EXTI_Callback, BUTTON_SW3_EXTI_Callback};
|
|
static uint32_t button_interrupt_priority[BUTTONn] = {BSP_BUTTON_USER_IT_PRIORITY, BSP_BUTTON_USER_IT_PRIORITY, BSP_BUTTON_USER_IT_PRIORITY};
|
|
static const uint32_t button_exti_line[BUTTONn] = {BUTTON_SW1_EXTI_LINE, BUTTON_SW2_EXTI_LINE, BUTTON_SW3_EXTI_LINE};
|
|
|
|
/* Enable the BUTTON Clock */
|
|
BUTTONx_GPIO_CLK_ENABLE(Button);
|
|
|
|
gpio_init_structure.Pin = BUTTON_PIN[Button];
|
|
gpio_init_structure.Pull = GPIO_PULLUP;
|
|
gpio_init_structure.Speed = GPIO_SPEED_FREQ_HIGH;
|
|
|
|
if(ButtonMode == BUTTON_MODE_GPIO)
|
|
{
|
|
/* Configure Button pin as input */
|
|
gpio_init_structure.Mode = GPIO_MODE_INPUT;
|
|
HAL_GPIO_Init(BUTTON_PORT[Button], &gpio_init_structure);
|
|
}
|
|
else /* (ButtonMode == BUTTON_MODE_EXTI) */
|
|
{
|
|
/* Configure Button pin as input with External interrupt */
|
|
gpio_init_structure.Mode = GPIO_MODE_IT_FALLING;
|
|
|
|
HAL_GPIO_Init(BUTTON_PORT[Button], &gpio_init_structure);
|
|
|
|
(void)HAL_EXTI_GetHandle(&hpb_exti[Button], button_exti_line[Button]);
|
|
(void)HAL_EXTI_RegisterCallback(&hpb_exti[Button], HAL_EXTI_COMMON_CB_ID, button_callback[Button]);
|
|
|
|
/* Enable and set Button EXTI Interrupt to the lowest priority */
|
|
HAL_NVIC_SetPriority((BUTTON_IRQn[Button]), button_interrupt_priority[Button], 0x00);
|
|
HAL_NVIC_EnableIRQ((BUTTON_IRQn[Button]));
|
|
}
|
|
|
|
return BSP_ERROR_NONE;
|
|
}
|
|
|
|
/**
|
|
* @brief Push Button DeInit.
|
|
* @param Button: Button to be configured
|
|
* This parameter can be one of following parameters:
|
|
* @arg BUTTON_SW1
|
|
* @arg BUTTON_SW2
|
|
* @arg BUTTON_SW3
|
|
* @note PB DeInit does not disable the GPIO clock
|
|
* @retval BSP status
|
|
*/
|
|
int32_t BSP_PB_DeInit(Button_TypeDef Button)
|
|
{
|
|
HAL_NVIC_DisableIRQ((BUTTON_IRQn[Button]));
|
|
HAL_GPIO_DeInit(BUTTON_PORT[Button], BUTTON_PIN[Button]);
|
|
|
|
return BSP_ERROR_NONE;
|
|
}
|
|
|
|
/**
|
|
* @brief Returns the selected Button state.
|
|
* @param Button: Specifies the Button to be checked.
|
|
* This parameter can be one of following parameters:
|
|
* @arg BUTTON_SW1
|
|
* @arg BUTTON_SW2
|
|
* @arg BUTTON_SW3
|
|
* @retval The Button GPIO pin value.
|
|
*/
|
|
int32_t BSP_PB_GetState(Button_TypeDef Button)
|
|
{
|
|
return (int32_t)HAL_GPIO_ReadPin(BUTTON_PORT[Button], BUTTON_PIN[Button]);
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Push-Button interrupt requests.
|
|
* @param Button Specifies the pin connected EXTI line
|
|
* @retval None
|
|
*/
|
|
void BSP_PB_IRQHandler(Button_TypeDef Button)
|
|
{
|
|
HAL_EXTI_IRQHandler(&hpb_exti[Button]);
|
|
}
|
|
|
|
/**
|
|
* @brief BSP Push Button callback
|
|
* @param Button: Specifies the Button to be checked.
|
|
* This parameter can be one of following parameters:
|
|
* @arg BUTTON_SW1
|
|
* @arg BUTTON_SW2
|
|
* @arg BUTTON_SW3
|
|
* @retval None.
|
|
*/
|
|
__weak void BSP_PB_Callback(Button_TypeDef Button)
|
|
{
|
|
/* Prevent unused argument(s) compilation warning */
|
|
UNUSED(Button);
|
|
|
|
/* This function should be implemented by the user application.
|
|
It is called into this driver when an event on Button is triggered. */
|
|
}
|
|
===================================
|
|
===========================================================================================================
|
|
sys_sensor.c
|
|
|
|
|
|
Application/User/LoRaWAN/App
|
|
===========================================================================================================
|
|
LORA_APP.H
|
|
===/* Region ------------------------------------*/
|
|
//#define ACTIVE_REGION LORAMAC_REGION_EU868
|
|
#define ACTIVE_REGION LORAMAC_REGION_AS923
|
|
|
|
//#define LORAWAN_USER_APP_PORT 2
|
|
#define LORAWAN_USER_APP_PORT 11
|
|
|
|
|
|
|
|
/*!
|
|
* Defines the application data transmission duty cycle. 10s, value in [ms].
|
|
*/
|
|
#define APP_TX_DUTYCYCLE 60000
|
|
|
|
===========================================================================================================
|
|
/LoRaWAN/App/lora_info.c
|
|
lorawan_conf.h
|
|
|
|
===========================================================================================================
|
|
/* Region ------------------------------------*/
|
|
/* the region listed here will be linked in the MW code */
|
|
/* the application (on sys_conf.h) shall just configure one region at the time */
|
|
/*#define REGION_AS923*/
|
|
/*#define REGION_AU915*/
|
|
/*#define REGION_CN470*/
|
|
/*#define REGION_CN779*/
|
|
/*#define REGION_EU433*/
|
|
#define REGION_EU868
|
|
/*#define REGION_KR920*/
|
|
/*#define REGION_IN865*/
|
|
#define REGION_US915
|
|
/*#define REGION_RU864*/
|
|
===========================================================================================================
|
|
|
|
/* SmarToilets Products */ |