Przyczynek do APRSu

aprs_test
Łukasz Nidecki 2017-01-07 19:16:49 +01:00
rodzic 39776897c0
commit bf9b4daff9
3 zmienionych plików z 34 dodań i 22 usunięć

Wyświetl plik

@ -159,22 +159,24 @@ inline void QAPRSBase::toggleTone() {
* Inicjalizuj Timer1 który jest używany do generowania MARK i SPACE * Inicjalizuj Timer1 który jest używany do generowania MARK i SPACE
*/ */
void QAPRSBase::initializeTimer1() { void QAPRSBase::initializeTimer1() {
noInterrupts(); //TODO: przepisać na STM32
TIMSK1 |= _BV(TOIE1); // noInterrupts();
TCCR1A = 0; // TIMSK1 |= _BV(TOIE1);
TCCR1C = 0; // TCCR1A = 0;
interrupts(); // TCCR1C = 0;
// interrupts();
} }
/** /**
* Inicjalizuj radio i piny. * Inicjalizuj radio i piny.
*/ */
void QAPRSBase::initializeRadio() { void QAPRSBase::initializeRadio() {
if (this->sensePin){ //TODO: przepisać na STM32
pinMode(abs(this->sensePin), INPUT); // if (this->sensePin){
digitalWrite(abs(this->sensePin), LOW); // pinMode(abs(this->sensePin), INPUT);
} // digitalWrite(abs(this->sensePin), LOW);
pinMode(abs(this->txEnablePin), OUTPUT); // }
// pinMode(abs(this->txEnablePin), OUTPUT);
this->disableTranssmision(); this->disableTranssmision();
this->initializeTimer1(); this->initializeTimer1();
@ -184,7 +186,8 @@ void QAPRSBase::initializeRadio() {
* Włącz nadawanie. Metoda dodatkowo realizuje opóźnienie nadawania jesli ustawiono. @see QAPRSBase::setTxDelay * Włącz nadawanie. Metoda dodatkowo realizuje opóźnienie nadawania jesli ustawiono. @see QAPRSBase::setTxDelay
*/ */
void QAPRSBase::enableTransmission() { void QAPRSBase::enableTransmission() {
digitalWrite(abs(this->txEnablePin), (this->txEnablePin > 0) ? HIGH : LOW); //TODO: przepisać na STM32
//digitalWrite(abs(this->txEnablePin), (this->txEnablePin > 0) ? HIGH : LOW);
this->doTxDelay(); this->doTxDelay();
} }
@ -192,7 +195,8 @@ void QAPRSBase::enableTransmission() {
* Wyłącz nadawanie. * Wyłącz nadawanie.
*/ */
void QAPRSBase::disableTranssmision() { void QAPRSBase::disableTranssmision() {
digitalWrite(abs(this->txEnablePin), (this->txEnablePin > 0) ? LOW : HIGH); //TODO: przepisać na STM32
//digitalWrite(abs(this->txEnablePin), (this->txEnablePin > 0) ? LOW : HIGH);
} }
/** /**
@ -260,7 +264,8 @@ QAPRSReturnCode QAPRSBase::send(char* buffer, size_t length) {
} else { } else {
// jesli nie mozna to czekamy 100ms i sprawdzamy ponownie // jesli nie mozna to czekamy 100ms i sprawdzamy ponownie
// maks. czas oczekiwania to channelFreeWaitingMS // maks. czas oczekiwania to channelFreeWaitingMS
delay(100); //TODO: przepisać na STM32
//delay(100);
timeout -= 100; timeout -= 100;
} }
} }
@ -441,7 +446,8 @@ void QAPRSBase::parseRelays(const char* relays, char* dst) {
*/ */
void QAPRSBase::doTxDelay() { void QAPRSBase::doTxDelay() {
if (this->txDelay){ if (this->txDelay){
delay(this->txDelay); //TODO: przepisać na STM32
//delay(this->txDelay);
} }
} }
@ -473,10 +479,11 @@ void QAPRSBase::setRelays(char* relays) {
* @param us * @param us
*/ */
void QAPRSBase::delayuSeconds(uint16_t us) { void QAPRSBase::delayuSeconds(uint16_t us) {
unsigned long time = micros(); //TODO: przepisać na STM32
while(micros() - time < us){ //unsigned long time = micros();
//asm("nop"); // while(micros() - time < us){
} // //asm("nop");
// }
} }
@ -488,10 +495,11 @@ void QAPRSBase::setTxDelay(uint16_t txDelay) {
this->txDelay = txDelay; this->txDelay = txDelay;
} }
ISR (TIMER1_OVF_vect) // timer1 overflow interrupt //TODO: przepisać na STM32
{ //ISR (TIMER1_OVF_vect) // timer1 overflow interrupt
QAPRSGlobalObject->timerInterruptHandler(); //{
} // QAPRSGlobalObject->timerInterruptHandler();
//}

Wyświetl plik

@ -81,6 +81,8 @@ private:
static const uint16_t toneSendTime1200 = 815; static const uint16_t toneSendTime1200 = 815;
#elif F_CPU == 8000000UL #elif F_CPU == 8000000UL
static const uint16_t toneSendTime1200 = 785; static const uint16_t toneSendTime1200 = 785;
#else
static const uint16_t toneSendTime1200 = 815;
#endif #endif
/** /**
* @brief Czas wysyłania podedynczego tonu. W ms. * @brief Czas wysyłania podedynczego tonu. W ms.

Wyświetl plik

@ -46,6 +46,8 @@
#define QAPRSCOMMON_H_ #define QAPRSCOMMON_H_
#include <stdint.h> #include <stdint.h>
#include <stddef.h>
#include <string.h>
/** /**
* @brief Wyniki zwracane przez metodę send * @brief Wyniki zwracane przez metodę send