SmartBeacon #13
Replies: 1 comment
-
I put this together so you can play with some settings and see the results. The "old method" is the method used by this repo. https://tom-acco.github.io/aprs-smart-beacon-calculator/ Basically: The interval is then adjusted further: void smartbeacon(void)
{
// Adaptive beacon rate
if (SB_SPEED >= config.trk_hspeed)
{
tx_interval = (uint16_t)config.trk_maxinterval;
}
else
{
if (SB_SPEED <= config.trk_lspeed)
{
// Speed is below lower limit - use minimum rate
tx_interval = (uint16_t)config.trk_slowinterval;
}
else
{
// In between, do SmartBeaconing calculations
if (SB_SPEED <= 0)
SB_SPEED = 1;
tx_interval = (trk_interval * config.trk_hspeed) / SB_SPEED;
if (tx_interval < 5)
tx_interval = 5;
if (tx_interval > config.trk_maxinterval)
tx_interval = (uint16_t)config.trk_maxinterval;
// Corner pegging - note that we use two-degree units
if (last_heading > SB_HEADING)
heading_change = last_heading - SB_HEADING;
else
heading_change = SB_HEADING - last_heading;
if (heading_change > 90)
heading_change = 180 - heading_change;
if (heading_change > config.trk_minangle)
{
// Make sure last heading is updated during turns to avoid immedate xmit
if (tx_counter > config.trk_mininterval)
{
EVENT_TX_POSITION = 3;
}
else
{
// last_heading = SB_HEADING;
tx_interval = config.trk_mininterval;
}
}
}
}
} |
Beta Was this translation helpful? Give feedback.
-
Hi all,
can anyone explain the SmartBeacon settings (e.g. max/min Interval) please?
Beta Was this translation helpful? Give feedback.
All reactions