Topic

FAQ
Login Register
默认8258_mesh.bin对应的GPIO输出?
Apr 06, 2022 12:05

/

A

/A

你好,

1.我使用的是自定义的板子,所有IO引出来(无上下拉)

 2.我下载了mesh_sdk (8258/8253/8251)我参照 AN_17120401-C4_Telink SIG Mesh SDK Developer Handbook

3. 我用BDT工具下载“8258_mesh.bin”到自定义板子,复位,

问:我能找扫描到有广播,也能用"TelinkBleMesh" app连接,我将颗led连接到 D2,但我无法控制LED,我参考了app_config_8258.h 重定义  

#elif(PCBA_8258_SEL == PCBA_8258_C1T140A3_V1_1)

#define PWM_R GPIO_PWM2ND4 //red

#define PWM_G GPIO_PWM0NA0 //green

#define PWM_B GPIO_PWM1ND3 //blue

#define PWM_W GPIO_PWM3D2 //yellow as white

我从D2口接了LED,没有作用,请问我需要如何操作才能控制?ON/OFF,和level调光效果?


5 replies
TL_Soyo Apr 06, 2022 13:44
0
/A


Hi,

    1、请检查mesh_config.h中#define LIGHT_TYPE_SEL LIGHT_TYPE_CT_HSL的设备类型,是否为灯的类型。

    2、接着您发送on_off等调光指令后会在_USER_CAN_REDEFINE_ void light_dim_refresh(int idx)函数中进行处理,随即调用light_dim_set_hw(idx, X, get_pwm_cmp(0xff, RGB.b*100/255))函数控制灯光亮度;X为0-3,对应PWM_R、PWM_G、PWM_B、PWM_W引脚,即你所绑定的D2引脚的X值为3,可调用light_dim_set_hw(idx,3, 一个值)测试

Joel_Deng [Author] Apr 06, 2022 14:53
0
/A

@Soyo,

你好Soyo,现在我重新做一次应用,

我使用tlsr8250f512et32

我在编译8258_mesh工程这前做了下面这些操作

1.我检查了这个宏:#define LIGHT_TYPE_SEL

并找搜索到,mesh_config.h中定义为 LIGHT_TYPE_CT

你好 Soyo,


2.然后我继续操作



3.确认GPIO输出脚 


我用telink_mesh app 自动扫描并连接,再将led接到 D2/D3/A0,D4,始终没有控制输出,on/off 或者 level

Joel_Deng [Author] Apr 06, 2022 14:57
0
/A





TL_Soyo Apr 07, 2022 10:33
1
/A

Hi,

    我看了您的配置暂未发现问题,请先将工程按照如下配置后,再检查你各个宏定义的选择是否正确

    1、你可以尝试自行调用void light_dim_set_hw(int idx, int idx2, u16 val)函数来检查引脚是否有PWM输出,请用示波器检测输出状态。

    2、检查light_dim_refresh函数中的调占空比函数的调用


   3、该界面可以长按灯的图标进入详细的控制界面。

    

Joel_Deng [Author] Apr 07, 2022 15:22
0
/A

@Soyo,谢谢你的回复,

目前按照你上面的IDE配置,我的板子可以正常使用mesh功能,并能指定GPIO输出PWM



1.PA0输出:



2.PD4&PA0输出