Merge branch 'master' of gitee.com:hnuyuelurm/basic_framework

This commit is contained in:
NeoZng
2023-02-14 11:13:37 +08:00
7 changed files with 81 additions and 2 deletions

44
modules/led/led.c Normal file
View File

@@ -0,0 +1,44 @@
#include "led.h"
#include "stdlib.h"
#include "string.h"
#include "user_lib.h"
static uint8_t idx;
static LEDInstance* bsp_led_ins[LED_MAX_NUM] = {NULL};
LEDInstance *LEDRegister(LED_Init_Config_s *led_config)
{
LEDInstance *led_ins = (LEDInstance *)zero_malloc(sizeof(LEDInstance));
// 剩下的值暂时都被置零
led_ins->led_pwm=GPIORegister(&led_config->pwm_config);
led_ins->led_switch=led_config->init_swtich;
bsp_led_ins[idx++] = led_ins;
return led_ins;
}
void LEDSet(LEDInstance *_led,uint8_t alpha,uint8_t color_value,uint8_t brightness)
{
}
void LEDSwitch(LEDInstance *_led,uint8_t led_switch)
{
if(led_switch==1)
{
_led->led_switch=1;
}
else
{
_led->led_switch=0;
// PWMSetPeriod(_led,0);
}
}
void LEDShow()
{
}

33
modules/led/led.h Normal file
View File

@@ -0,0 +1,33 @@
#ifndef _LED_H_
#define _LED_H_
#include "stdint.h"
#include "bsp_pwm.h"
#define LED_MAX_NUM 3
typedef struct
{
PWMInstance* led_pwm;
uint8_t led_alpha; // 透明度,通过pwm频率改变
uint8_t led_brightness; // 亮度,通过电压改变(如果可以,使用dac)
uint8_t led_color; // rgb value,0-255
uint8_t led_switch // 开关,on1 off0
// void (*action_callback)(void); // led动作回调函数
} LEDInstance;
typedef struct
{
PWM_Init_Config_s pwm_config;
uint8_t init_swtich; // 初始化开关
} LED_Init_Config_s;
LEDInstance* LEDRegister(LED_Init_Config_s* led_config);
void LEDSet(LEDInstance *_led,uint8_t alpha,uint8_t color_value,uint8_t brightness);
void LEDSwitch(LEDInstance *_led,uint8_t led_switch);
void LEDShow();
#endif // !_LED_H_