Fix APRS RX scheduler. Minor GCC7 switch FALLTHRU updates.

Development
bob 2018-10-05 08:38:17 +10:00
rodzic a000c087b1
commit a14dfe609c
3 zmienionych plików z 6 dodań i 7 usunięć

Wyświetl plik

@ -38,7 +38,7 @@ const conf_t conf_flash_default = {
// Secondary position app
.pos_sec = {
.beacon = {
.active = true,
.active = false,
.cycle = TIME_S2I(10), // Beacon interval
.init_delay = TIME_S2I(10),
.fixed = false
@ -59,7 +59,7 @@ const conf_t conf_flash_default = {
// Primary image app
.img_pri = {
.svc_conf = {
.active = true,
.active = false,
.cycle = TIME_S2I(60 * 30),
.init_delay = TIME_S2I(60),
.send_spacing = TIME_S2I(10)
@ -165,7 +165,7 @@ const conf_t conf_flash_default = {
.cca = 0x5F
},
// Digipeat transmission identity
.call = "VK2GJ-11",
.call = "VK2GJ-15",
.path = "WIDE2-1",
.symbol = SYM_DIGIPEATER,
// A digipeater beacon can be added using one of the POS apps

Wyświetl plik

@ -290,13 +290,12 @@ THD_FUNCTION(pktConsole, arg) {
switch(console_state) {
/* The next two cases are entered by a channel connect happening. */
case CON_CHN_WAIT:
/* Falls into. */
case CON_CHN_CONNECT:
/* Wait for any garbage input to subside. */
chThdSleep(TIME_MS2I(1200));
(void)chEvtGetAndClearEvents(CONSOLE_CHANNEL_EVT);
(void)chEvtGetAndClearFlags(&con_el);
/* Falls into. */
/* FALLTHRU */
case CON_CHN_FLUSH: {
/* Flush the input queue. */
flushConsoleInputQueue(chp);

Wyświetl plik

@ -253,14 +253,14 @@ THD_FUNCTION(aprsThread, arg) {
time = waitForTrigger(time, conf->rx.svc_conf.cycle);
}
} while(conf->rx.svc_conf.cycle != CYCLE_CONTINUOUSLY
&& conf->rx.svc_conf.interval != TIME_IMMEDIATE);
|| conf->rx.svc_conf.interval != TIME_IMMEDIATE);
/*
* If there is no cycle time or interval then run continuously.
* If there is a duration only then this is a run once setup.
* In both cases the APRS thread terminates and leaves the radio active.
* Otherwise the thread stays active and manages the schedule.
* If duration is TIME_INFINITE then the thread is active but sleeps forever.
* Hence the radio stay active.
* Hence the radio stays active.
*/
pktThdTerminateSelf();
}