2024-12-02 21:57:31 +08:00
|
|
|
/*************************************************************************************
|
|
|
|
* @File Name: mw_led.c
|
|
|
|
* @brief:
|
|
|
|
* @Version : 1.0
|
|
|
|
* @Create Date : 2024-12-02
|
|
|
|
* @Author : TianyunV1 email : 3026007337@qq.com
|
|
|
|
*
|
|
|
|
* @copyright Copyright (c) 2024 Tianyun Mountain
|
|
|
|
*
|
|
|
|
* modification history :
|
|
|
|
* Date: Version: Author: Description:
|
|
|
|
*************************************************************************************/
|
2024-11-30 10:27:03 +08:00
|
|
|
#include "mw_led.h"
|
2025-04-28 16:45:44 +08:00
|
|
|
#include "bsp_gpio.h"
|
2024-11-30 10:27:03 +08:00
|
|
|
#include <stdio.h>
|
|
|
|
/* led pin define */
|
2024-12-02 21:57:31 +08:00
|
|
|
// LED0 PC13
|
2025-04-28 16:45:44 +08:00
|
|
|
// #define IO_LED0_PORT (GPIOC)
|
|
|
|
// #define IO_LED0_RCC_PERIPH (RCC_APB2Periph_GPIOC)
|
|
|
|
// #define IO_LED0_PIN (GPIO_Pin_13)
|
2024-11-30 10:27:03 +08:00
|
|
|
|
2024-12-02 21:57:31 +08:00
|
|
|
/* led middleware instantiation */
|
2024-11-30 10:27:03 +08:00
|
|
|
mw_led_t led_drv_buf[led_num];
|
|
|
|
|
2024-12-02 21:57:31 +08:00
|
|
|
/*************************************************************************************
|
|
|
|
* @brief Get the obj of Led.
|
|
|
|
*
|
|
|
|
* @param[in/out] e_led_type
|
|
|
|
* @return mw_led_t
|
|
|
|
* @warning
|
|
|
|
* @note
|
|
|
|
*************************************************************************************/
|
2024-11-30 10:27:03 +08:00
|
|
|
mw_led_t mw_get_led_obj(led_type_enum e_led_type)
|
|
|
|
{
|
2024-12-02 21:57:31 +08:00
|
|
|
if(e_led_type >= led_num)
|
2024-11-30 10:27:03 +08:00
|
|
|
{
|
2024-12-02 21:57:31 +08:00
|
|
|
// invalid
|
2024-11-30 10:27:03 +08:00
|
|
|
while(1);
|
|
|
|
}
|
|
|
|
|
2024-12-02 21:57:31 +08:00
|
|
|
return led_drv_buf[e_led_type];
|
|
|
|
}
|
2024-11-30 10:27:03 +08:00
|
|
|
|
2025-04-28 16:45:44 +08:00
|
|
|
/* led1 基础函数包*/
|
|
|
|
void mw_led1_on(void)
|
2024-11-30 10:27:03 +08:00
|
|
|
{
|
2025-04-28 16:45:44 +08:00
|
|
|
bsp_led_on(LED1);
|
2024-11-30 10:27:03 +08:00
|
|
|
}
|
2025-04-28 16:45:44 +08:00
|
|
|
void mw_led1_off(void)
|
2024-11-30 10:27:03 +08:00
|
|
|
{
|
2025-04-28 16:45:44 +08:00
|
|
|
bsp_led_off(LED1);
|
2024-11-30 10:27:03 +08:00
|
|
|
}
|
2025-04-28 16:45:44 +08:00
|
|
|
/* led2 基础函数包 */
|
2024-11-30 10:27:03 +08:00
|
|
|
|
2024-12-02 21:57:31 +08:00
|
|
|
/*************************************************************************************
|
|
|
|
* @brief Led driver installation.
|
|
|
|
*
|
|
|
|
* @warning
|
|
|
|
* @note
|
|
|
|
*************************************************************************************/
|
2024-11-30 10:27:03 +08:00
|
|
|
void mw_led_drv_init(void)
|
|
|
|
{
|
|
|
|
led_type_enum e_val;
|
|
|
|
/* led0 installation */
|
|
|
|
led_drv_buf[Led0].led_drv = Led0;
|
|
|
|
led_drv_buf[Led0].init = mw_led0_init;
|
|
|
|
led_drv_buf[Led0].on = mw_led0_on;
|
|
|
|
led_drv_buf[Led0].off = mw_led0_off;
|
|
|
|
/* init all led peripherals */
|
|
|
|
for(e_val = Led0; e_val < led_num; e_val++)
|
|
|
|
{
|
|
|
|
led_drv_buf[e_val].init();
|
|
|
|
}
|
|
|
|
}
|