Hi, dialog,
I am working on the plt fw in order to certitfy my custom module(wich implements DA14681).
This fw have been validated using the uart from the pro dk.
However during certifications, on my final product, i don't have acces to uart port and thus i should find another way to control the fw.
All i need is the module to act as an unmodulated tx at specified frequencies.
Is it possible to be in such a state by default at power up. Then eventually i would switch frequencies using the wake up interrupt.
All control is directly linked to the uart interface in the dgtl code,
Another solution would be to control the dgtl through usb , but as i checked the code this seems not easily feasible.
Thanks for your help.
Best regards
mat
Device:
Hi matthieuW,
Sorry but your question is little bit generic. So could you please clarify it? It would be very helpful if you were able to provide more inputs for your issue. For example, what do you mean that you don’t have access? Is this related to the pins’ configuration or something else?
Thanks, PM_Dialog
Sorry, for the confusion.
What i want to say is that i don't have physical acces to the uart ports or any other pins on my final product.
The only interface i can use on my product is a push button. Thus i'd like have the plt firmware start to transmit unmodulated data at boot and then eventually swich the frequency of the unmodulated tx by using the button.
With that in mind i added a small function to dglt source code but with no success,
void hci_unmodulated_tx(uint8_t freq)
{
uint16_t Opcode=0x83FC;
uint8_t param[2] = {0x54,0};
param[1] = freq;
uint8_t cmd_data[6]={0x01,0x83,0xFC,0x02, 0x54,freq};
size_t param_len=2;//sizeof(param);
OS_ASSERT(uart.msg == NULL);
/ / uart。味精= 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,Opcode,param_len,¶m);
push_frame_to_queue();
// uart_start_packet();
//for debug on prodk
ad_uart_write_async(uart.dev,uart.msg->data,sizeof(dgtl_pkt_hci_cmd_t) + param_len,uart_tx_done, NULL);
}
I am debugging this on pro dk for now.
Thanks
mat
Hi matthieuW,
Could you please indicate if this is working on the Pro-DK?
Thanks, PM_Dialog
Hi dialog,
on prodk, i still need to send command through uart in order to set the chip in unmodulated tx,
When i am trying to push command in the dgtl queue without using uart, a hard fault occurs.
I am trying to debug what is going on but the plt fw is quite complicated to understand.
Is there any way to set fw in unmodulated tx by default at start up.
matw
Hi matthieuW,
I am working on your issue and I have to check it internally. I will get back to you shortly.
Thanks, PM_Dialog
Dear Dialog,
I found a "dirty" solution that fix my problem for now.
I directly set the cmd i want in the ble_mgr_task :
SE_DGTL
if (ulNotifiedValue & 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。味精= 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,¶m);
and then notify the task once the system init is done.
I can manage certification like this.
Thanks for the help
matthieu
Hi matthieuW,
Glad that you figured your issue out and thanks for your indication.
Regards, PM_DIalog