Hi,
Can anyone please explain the magic numbers in the TREK source code function.
For example. 330.0f, 48, 8205.13f etc…
float calc_length_data(float msgdatalen)
{
instance_data_t* inst = instance_get_local_structure_ptr(0);
int x = 0;
x = (int) ceil(msgdatalen*8/330.0f);
msgdatalen = msgdatalen*8 + x*48;
//assume PHR length is 172308ns for 110k and 21539ns for 850k/6.81M
if(inst->configData.dataRate == DWT_BR_110K)
{
msgdatalen *= 8205.13f;
msgdatalen += 172308; // PHR length in nanoseconds
}
else if(inst->configData.dataRate == DWT_BR_850K)
{
msgdatalen *= 1025.64f;
msgdatalen += 21539; // PHR length in nanoseconds
}
else
{
msgdatalen *= 128.21f;
msgdatalen += 21539; // PHR length in nanoseconds
}
return msgdatalen ;
}