嗨,对话框,
我正在研究PLT FW,以便Certitfy我的自定义模块(WICH实现DA14681)。
使用Pro DK的UART验证了该FW。
但是,在认证期间,在我的最终产品上,我没有Acces对UART端口,因此我应该找到另一种控制FW的方法。
我所需要的只是在指定频率下用作未经调配的Tx的模块。
默认情况下,是否可以处于这样的状态。然后,最终我会使用唤醒中断切换频率。
所有控件都直接链接到DGTL代码中的UART接口,
另一种解决方案是通过USB来控制DGTL,但是当我检查的代码时,这似乎不容易可行。
谢谢你的帮助。
此致
垫
设备:
嗨matthieuw,
对不起,但你的问题很少是通用的。那么你能澄清一下吗?如果您能够为您的问题提供更多投入,这将是非常有帮助的。例如,你的意思是你没有访问权限?这是否与PINS配置或其他东西有关?
谢谢,PM_DIALOG.
对困惑感到抱歉。
我想说的是,我没有对UART端口或最终产品上的任何其他引脚都没有物理接合。
我可以在我的产品上使用的唯一接口是按钮。因此,我希望PLT固件开始在启动时传输未调制的数据,然后通过使用按钮来致电未调制的TX的频率。
考虑到这一点,我向DGLT源代码添加了一个小功能,但没有成功,
void hci_unmodulated_tx(uint8_t freq)
{
UINT16_T OPCODE = 0x83FC;
uint8_t param [2] = {0x54,0};
param [1] =弗里克;
UINT8_T cmd_data [6] = {0x01,0x83,0xfc,0x02,0x54,freq};
size_t param_len = 2; // sizeof(param);
os_assert(uart.msg == null);
// uart.msg = dgtl_msg_alloc(dgtl_pkt_type_hci_cmd,sizeof(dgtl_pkt_hci_cmd_t)+ param_len);
// memcpy(uart.msg-> data,cmd_data,sizeof(cmd_data));
dgtl_msg_prepare_hci_cmd(uart.msg,操作码,param_len,&param);
push_frame_to_queue();
// uart_start_packet();
//用于在Prodk上调试
ad_uart_write_async(uart.dev,uart.msg->数据,sizeof(dgtl_pkt_hci_cmd_t)+ param_len,uart_tx_done,null);
}
我现在正在Pro DK上调试这一点。
谢谢
垫
嗨matthieuw,
请问这是否在专业DK上呢?
谢谢,PM_DIALOG.
嗨对话框,
在Prodk上,我仍然需要通过UART发送命令,以便在未调制的Tx中设置芯片,
当我尝试在没有使用UART的情况下在DGTL队列中推送命令时,会发生硬故障。
我试图调试发生了什么,但PLT FW非常复杂地理解。
在启动时默认情况下,是否有任何方法可以在未调制的TX中设置FW。
马鞍
嗨matthieuw,
我正在研究你的问题,我必须在内部检查。我会尽快回复你。
谢谢,PM_DIALOG.
亲爱的对话框,
我找到了一个“脏”解决方案,即现在解决了我的问题。
我在ble_mgr_task中直接设置我想要的cmd:
se_dgtl.
if(ulnotivedvalue&mainbit_dgtl){
dgtl_msg_t * dgtl_msg;
// dgtl_msg = dgtl_receive(dgtl_queue_hci);
UINT16_T OPCODE = 0xFC83;
uint8_t param [2] = {0x54,0x13};
// uart.msg = dgtl_msg_alloc(uart.frame_header.pkt_type,header_len + param_len);
dgtl_msg = dgtl_msg_alloc(dgtl_pkt_type_hci_cmd,sizeof(dgtl_pkt_hci_cmd_t)+ 2);
dgtl_msg_prepare_hci_cmd(dgtl_msg,Opcode,2,&param);
然后在完成系统init后通知任务。
我可以管理这样的证书。
谢谢您的帮助
Matthieu.
嗨matthieuw,
很高兴你识上你的问题,谢谢你的迹象。
问候,pm_dialog