va7ta updates
parent
541f3718a1
commit
e0335475b3
|
|
@ -9,6 +9,7 @@ extern bool LibAPRS_open_squelch;
|
|||
|
||||
bool hw_afsk_dac_isr = false;
|
||||
bool hw_5v_ref = false;
|
||||
bool fullBfrErr=false;//va7ta update
|
||||
Afsk *AFSK_modem;
|
||||
|
||||
|
||||
|
|
@ -25,36 +26,39 @@ void AFSK_hw_refDetect(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void AFSK_hw_init(void) {
|
||||
// Set up ADC
|
||||
namespace AFSKADCINIT{//va7ta update
|
||||
|
||||
AFSK_hw_refDetect();
|
||||
void AFSK_hw_init(void) {
|
||||
// Set up ADC
|
||||
|
||||
TCCR1A = 0;
|
||||
TCCR1B = _BV(CS10) | _BV(WGM13) | _BV(WGM12);
|
||||
ICR1 = (((CPU_FREQ+FREQUENCY_CORRECTION)) / 9600) - 1;
|
||||
AFSK_hw_refDetect();
|
||||
|
||||
if (hw_5v_ref) {
|
||||
ADMUX = _BV(REFS0) | 0;
|
||||
} else {
|
||||
ADMUX = 0;
|
||||
}
|
||||
TCCR1A = 0;
|
||||
TCCR1B = _BV(CS10) | _BV(WGM13) | _BV(WGM12);
|
||||
ICR1 = (((CPU_FREQ+FREQUENCY_CORRECTION)) / 9600) - 1;
|
||||
|
||||
ADC_DDR &= ~_BV(0);
|
||||
ADC_PORT &= ~_BV(0);
|
||||
DIDR0 |= _BV(0);
|
||||
ADCSRB = _BV(ADTS2) |
|
||||
_BV(ADTS1) |
|
||||
_BV(ADTS0);
|
||||
ADCSRA = _BV(ADEN) |
|
||||
_BV(ADSC) |
|
||||
_BV(ADATE)|
|
||||
_BV(ADIE) |
|
||||
_BV(ADPS2);
|
||||
if (hw_5v_ref) {
|
||||
ADMUX = _BV(REFS0) | 0;
|
||||
} else {
|
||||
ADMUX = 0;
|
||||
}
|
||||
|
||||
AFSK_DAC_INIT();
|
||||
LED_TX_INIT();
|
||||
LED_RX_INIT();
|
||||
ADC_DDR &= ~_BV(0);
|
||||
ADC_PORT &= ~_BV(0);
|
||||
DIDR0 |= _BV(0);
|
||||
ADCSRB = _BV(ADTS2) |
|
||||
_BV(ADTS1) |
|
||||
_BV(ADTS0);
|
||||
ADCSRA = _BV(ADEN) |
|
||||
_BV(ADSC) |
|
||||
_BV(ADATE)|
|
||||
_BV(ADIE) |
|
||||
_BV(ADPS2);
|
||||
|
||||
AFSK_DAC_INIT();
|
||||
LED_TX_INIT();
|
||||
LED_RX_INIT();
|
||||
}
|
||||
}
|
||||
|
||||
void AFSK_init(Afsk *afsk) {
|
||||
|
|
@ -73,7 +77,7 @@ void AFSK_init(Afsk *afsk) {
|
|||
fifo_push(&afsk->delayFifo, 0);
|
||||
}
|
||||
|
||||
AFSK_hw_init();
|
||||
AFSKADCINIT::AFSK_hw_init();//va7ta update
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -211,6 +215,8 @@ static bool hdlcParse(Hdlc *hdlc, bool bit, FIFOBuffer *fifo) {
|
|||
ret = false;
|
||||
hdlc->receiving = false;
|
||||
LED_RX_OFF();
|
||||
fullBfrErr=true;//va7ta update
|
||||
|
||||
}
|
||||
|
||||
// Everytime we receive a HDLC_FLAG, we reset the
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@
|
|||
#include "HDLC.h"
|
||||
|
||||
#define SIN_LEN 512
|
||||
namespace AFSKADCINIT {//va7ta update
|
||||
void AFSK_hw_init(void);//va7ta update
|
||||
};//va7ta update
|
||||
static const uint8_t sin_table[] PROGMEM =
|
||||
{
|
||||
128, 129, 131, 132, 134, 135, 137, 138, 140, 142, 143, 145, 146, 148, 149, 151,
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
extern int LibAPRS_vref;
|
||||
extern bool LibAPRS_open_squelch;
|
||||
bool CRC_Err=false; // CRC error flag - va7ta update
|
||||
|
||||
void ax25_init(AX25Ctx *ctx, ax25_callback_t hook) {
|
||||
memset(ctx, 0, sizeof(*ctx));
|
||||
|
|
@ -70,7 +71,9 @@ void ax25_poll(AX25Ctx *ctx) {
|
|||
LED_RX_ON();
|
||||
}
|
||||
ax25_decode(ctx);
|
||||
}
|
||||
}else{//va7ta update
|
||||
CRC_Err=true;//va7ta update
|
||||
}//va7ta update
|
||||
}
|
||||
ctx->sync = true;
|
||||
ctx->crc_in = CRC_CCIT_INIT_VAL;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ bool LibAPRS_open_squelch = false;
|
|||
|
||||
unsigned long custom_preamble = 350UL;
|
||||
unsigned long custom_tail = 50UL;
|
||||
char dataID_Flag; // '!' no messaging; '=' messaging va7ta update
|
||||
|
||||
AX25Call src;
|
||||
AX25Call dst;
|
||||
|
|
@ -121,6 +122,10 @@ void APRS_setTail(unsigned long tail) {
|
|||
custom_tail = tail;
|
||||
}
|
||||
|
||||
void APRS_setDataTypeID(uint8_t flag) {//va7ta update
|
||||
dataID_Flag = flag;//va7ta update
|
||||
}//va7ta update
|
||||
|
||||
void APRS_useAlternateSymbolTable(bool use) {
|
||||
if (use) {
|
||||
symbolTable = '\\';
|
||||
|
|
@ -228,7 +233,7 @@ void APRS_sendLoc(void *_buffer, size_t length) {
|
|||
}
|
||||
uint8_t *packet = (uint8_t*)malloc(payloadLength);
|
||||
uint8_t *ptr = packet;
|
||||
packet[0] = '=';
|
||||
packet[0] = dataID_Flag; //'!'or'='//va7ta update
|
||||
packet[9] = symbolTable;
|
||||
packet[19] = symbol;
|
||||
ptr++;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ void APRS_setPath2(char *call, int ssid);
|
|||
void APRS_setPreamble(unsigned long pre);
|
||||
void APRS_setTail(unsigned long tail);
|
||||
void APRS_useAlternateSymbolTable(bool use);
|
||||
void APRS_setDataTypeID(char flag);//va7ta update
|
||||
|
||||
void APRS_setSymbol(char sym);
|
||||
|
||||
void APRS_setLat(char *lat);
|
||||
|
|
|
|||
Loading…
Reference in New Issue