From a4ce3fca411610f820d053c8eb1b35d7a0842e30 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 19 Dec 2014 00:50:14 +0100 Subject: [PATCH] Various fixes --- device.h | 7 ++++--- hardware/AFSK.c | 4 +++- protocol/AX25.c | 3 +++ protocol/AX25.h | 2 +- protocol/SimpleSerial.c | 6 ++++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/device.h b/device.h index 84f5331..c26447a 100644 --- a/device.h +++ b/device.h @@ -8,7 +8,8 @@ #define F_CPU 16000000 #define FREQUENCY_CORRECTION 0 -// ADC Reference settings +// ADC settings +#define OPEN_SQUELCH false #define ADC_REFERENCE REF_3V3 // OR //#define ADC_REFERENCE REF_5V @@ -17,9 +18,9 @@ #define CONFIG_AFSK_DAC_SAMPLERATE 9600 // Serial protocol settings -//#define SERIAL_PROTOCOL PROTOCOL_KISS +#define SERIAL_PROTOCOL PROTOCOL_KISS // OR -#define SERIAL_PROTOCOL PROTOCOL_SIMPLE_SERIAL +//#define SERIAL_PROTOCOL PROTOCOL_SIMPLE_SERIAL // AX25 settings #if SERIAL_PROTOCOL == PROTOCOL_SIMPLE_SERIAL diff --git a/hardware/AFSK.c b/hardware/AFSK.c index 4e6d448..82103b0 100644 --- a/hardware/AFSK.c +++ b/hardware/AFSK.c @@ -201,7 +201,9 @@ static bool hdlcParse(Hdlc *hdlc, bool bit, FIFOBuffer *fifo) { // on the RX LED. fifo_push(fifo, HDLC_FLAG); hdlc->receiving = true; - LED_RX_ON(); + #if OPEN_SQUELCH == false + LED_RX_ON(); + #endif } else { // If the buffer is full, we have a problem // and abort by setting the return value to diff --git a/protocol/AX25.c b/protocol/AX25.c index 92fc8aa..d488ea6 100644 --- a/protocol/AX25.c +++ b/protocol/AX25.c @@ -61,6 +61,9 @@ void ax25_poll(AX25Ctx *ctx) { if (!ctx->escape && c == HDLC_FLAG) { if (ctx->frame_len >= AX25_MIN_FRAME_LEN) { if (ctx->crc_in == AX25_CRC_CORRECT) { + #if OPEN_SQUELCH == true + LED_RX_ON(); + #endif ax25_decode(ctx); } } diff --git a/protocol/AX25.h b/protocol/AX25.h index 2142419..0314bdb 100644 --- a/protocol/AX25.h +++ b/protocol/AX25.h @@ -17,7 +17,7 @@ #define AX25_CTRL_UI 0x03 #define AX25_PID_NOLAYER3 0xF0 -struct AX25Ctx; // Forward declaration +struct AX25Ctx; // Forward declarations struct AX25Msg; #if SERIAL_PROTOCOL == PROTOCOL_KISS diff --git a/protocol/SimpleSerial.c b/protocol/SimpleSerial.c index 410f186..24cce27 100644 --- a/protocol/SimpleSerial.c +++ b/protocol/SimpleSerial.c @@ -206,8 +206,10 @@ void ss_messageCallback(struct AX25Msg *msg) { } if (PRINT_DATA) { - if (PRINT_INFO) printf_P(PSTR("DATA: ")); - printf_P(PSTR("%.*s"), msg->len, msg->info); + if (PRINT_INFO) printf_P(PSTR("DATA: "), msg->len); + for (int i = 0; i < msg->len; i++) { + putchar(msg->info[i]); + } } printf_P(PSTR("\r\n"));