2022-02-16 09:15 AM
I was looking at the BLE_Sync sample code, when I stumbled upon something I couldn't find documented.
void DTB_Init(void)
{
/* Enable the peripheral clock of GPIO Port A */
RCC->AHBENR |= 1<<3;
/* PA1 tx/rx req*/
GPIOA->MODER |= (2<<2); // Alternate Function Mode
GPIOA->AFR[0] |= (7<<4); // Alternate Function Mode 7
/*Access to DTB0_DIG_ENG through RRM register starting from offest 0x100*/
RRM->DTB0_DIG_ENG = 0x0D; /*Enabling Blue #0 mode*/
}
What is exactly DTB0?
Thanks!
2022-02-17 04:05 AM
Hello @?atov
I couldn't find any specific documention but looking in RM0479 and directly in SDK sources here what I understood :
The RRM stands for Radio Ressource Management of the MR_BLE and DTBx is to change the Radio FSM directly through a test bus, if you have a look in function like RADIO_StopTone and RADIO_StartTone, there is byte like 0x39 which should correspond to a FSM state
Andy.
2022-02-17 06:44 AM
Thanks. RADIO_StartTone and RADIO_StopTone fiddle with DTB5_DIG_ENG register, which is more documented in RM0480. The code snippet I posted plays with DTB0_DIG_ENG, which is not documented. I guess that's a way for the firmware to talk to MR_BLE.
Another thing that I find undocumented, is the alternate function 7 for PA1 that seems to be enabled in line 8.
2022-02-17 07:07 AM
I didn't know this RM0480, thanks
2022-02-17 07:11 AM
4 I/O operating modes in RM0479
"The AF5 and AF7 configurations are ST internal only (for design, validation or engineering
teams) and should not be proposed to external customers"
2022-02-17 07:16 AM
ooops :)
That sentence is not in version 2 of RM0479 from July 2021, btw.