涂鸦幻彩产品开发包如何使用

1 产品开发包介绍

专注于幻彩照明能力的输出,并拥有全彩的核心调光调色能力。
让幻彩行业开发者进一步降低开发成本,提供多种示例程序,
提升产品的开发效率并可以做出行业差异化的产品。
具有低成本、提效率、可拓展的特点。
在这里插入图片描述

2 产品开发包开发方法

可以参考涂鸦Wi-Fi模组SDK二次开发的教程

[Wi-Fi 模组 SDK 二次开发教程]

开发包同时配备各核心功能demo示例可参考,如:本地音乐律动

名词解释
名词 详细说明 备注
音乐律动 根据音乐的旋律有节奏的点亮灯带
频谱 在律动时,根据音量大小改变点亮灯珠的数量。放大变化幅度,较低的音量, 灯带也能亮起较多的点数
能量 没有声音时,灯带全灭。有声音时,从中间向两边延伸变化
摇滚 有声音时直接亮起来无渐变,声音持续高昂时快速闪烁
爵士 首次触发时,以渐变的方式亮起来,音乐节拍快的时候,跳变变化同时在中高亮度和最大亮度之间呼吸一次,检测到节拍时立刻刷新颜色跳变
经典 有声音时跳变切换颜色,没有声音时灯常亮,停留在最后一个颜色
基本功能

1、提供音乐模式管理、音乐律动控制等功能

2、提供本地音乐律动功能,支持流水、频谱、能量、摇滚、爵士、经典六种模式

组件依赖
sdk组件依赖 说明
tuya_hal_mutex.h
tuya_hal_semaphore.h 信号量
tuya_hal_thread.h 线程
mem_pool.h 内存池
uni_log.h 日志管理
sys_timer.h 软件定时器
uni_time.h 获取系统时间
tuya_hal_system.h 系统相关接口
应用组件依赖 说明
tdl_sound_sample 声音采样
tdl_leds_pixel_manage 幻彩像素点驱动
tbs_light_tools 照明工具函数库
tfm_light_control 照明基础服务(色彩渐变服务 用于爵士)
资源依赖
资源 大小 说明
初始化服务并添加六种模式占用内存 约3.2k 渐变任务不在计算之内
接口列表说明
  • 音乐律动管理、控制操作接口,详细使用说明参考tbl_leds_music.h
接口 说明
OPERATE_RET tbl_leds_music_init(CHAR_T *sound_dev); 本地音乐律动初始化
OPERATE_RET tbl_leds_music_add_mode(UCHAR_T mode_id, VOID_T *led_dev,
MUSIC_CFG_T *cfg, MUSIC_MODE_FUNCTION func);
添加音乐律动模式
OPERATE_RET tbl_leds_music_del_mode(UCHAR_T mode_id); 删除音乐律动模式
OPERATE_RET tbl_leds_music_mode_config(UCHAR_T mode_id,
MUSIC_MODE_CMD_E cmd, VOID_T *arg);
配置音乐律动模式
OPERATE_RET tbl_leds_music_ctrl(UCHAR_T mode_id, BOOL_T on_off); 音乐律动控制(开关)
  • 音乐律动模式接口,详细使用说明参考tbl_leds_pixel_music_mode.h
接口 说明
OPERATE_RET tbl_pixel_music_add_water(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加流水模式
OPERATE_RET tbl_pixel_music_add_frequency(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加频谱模式
OPERATE_RET tbl_pixel_music_add_power(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加能量模式
OPERATE_RET tbl_pixel_music_add_rock(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加摇滚模式
OPERATE_RET tbl_pixel_music_add_jazz(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加爵士模式
OPERATE_RET tbl_pixel_music_add_classic(UCHAR_T mode_id, PIXEL_HANDLE_T pxiel_dev); 添加经典模式
使用说明
#define SOUND_DEVICE_NAME		"my_sound"
#define PIXEL_DEVICE_NAME       "my_leds_pixel" 

PIXEL_HANDLE_T pixel_handle;

void tuya_sound_sample_device_demo(void)
{
    
    
    int op_ret = 0;

    op_ret =  tdd_sound_adc_register(SOUND_DEVICE_NAME, TUYA_ADC2, 4096);
    if(op_ret !=  0) {
    
    
        PR_ERR("tdd_sound_adc_register err:%d", op_ret);
        return;
    }
    PR_NOTICE("tdd_sound_adc_register succ");

    op_ret = tdd_ws2812_driver_register(PIXEL_DEVICE_NAME);
    if(op_ret !=  0) {
    
    
        PR_ERR("tdd_ws2812_driver_register err:%d", op_ret);
        return;
    } 

    op_ret = tdl_pixel_dev_find(PIXEL_DEVICE_NAME, &pixel_handle);
    if(op_ret !=  0) {
    
    
        PR_ERR("tdl_pixel_dev_find err:%d", op_ret);
        return;
    }
    
    PIXEL_DEV_CONFIG_T pixel_cfg = {
    
    
        .pixel_num = 100,
        .tx_inform_cb = NULL,
    };

    op_ret = tdl_pixel_dev_open(pixel_handle, &pixel_cfg);
     if(op_ret !=  0) {
    
    
        PR_ERR("tdl_pixel_dev_find err:%d", op_ret);
        return;
    } 
    
    /* 爵士模式用到渐变功能 */
    op_ret = tfm_color_shade_service_init(TUYA_TIMER2, TFM_LIGHT_TIMER_PERIOD_US);  
    if(op_ret !=  0) {
    
    
        PR_ERR("tfm_color_shade_service_init err:%d", op_ret);
        return;
    }
    
    tbl_leds_music_init(SOUND_DEVICE_NAME);

    tbl_pixel_music_add_water(0, pixel_handle);
    
    tbl_pixel_music_add_frequency(1, pixel_handle);

    tbl_pixel_music_add_power(2, pixel_handle);
    
    tbl_pixel_music_add_rock(3, pixel_handle);

    tbl_pixel_music_add_jazz(4, pixel_handle);
    
    tbl_pixel_music_add_classic(5, pixel_handle);

    tbl_leds_music_ctrl(0, 1);

    return;
}

如何获取产品开发包

请直接站内私信联系

猜你喜欢

转载自blog.csdn.net/sandwich_iot/article/details/125931152
今日推荐