Forum APRS Polska

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Szukanie zaawansowane  

Aktualności:

Strony: 1 ... 4 5 [6]

Autor Wątek: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem  (Przeczytany 38873 razy)

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #75 dnia: Sierpień 25, 2013, 17:38:23 LOC »

No i zrobiłem oversampling. Jako, że nigdy nie zajmowałem się DMA (bezpośredni dostęp do pamięci) po prostu zwiększyłem częstotliwość wyzwalania przerwania x4 i zmodyfikowałem kod jego obsługi do tej postaci:
void TIM2_IRQHandler(void) {
// obsluga przetwarzania analog-cyfra. Wersja z oversamplingiem
TIM2->SR &= ~(1<<0);
#define ASC adc_sample_count
AdcBuffer[ASC] =  ADC1->DR;
if(ASC == 3) {
AdcValue = (short int)(( AdcBuffer[0] + AdcBuffer[1] + AdcBuffer[2] + AdcBuffer[3]) >> 1);
AFSK_ADC_ISR(&a, (AdcValue - 4095) );
ax25_poll(&ax25);
ASC = 0;
}
else
ASC++;

}
Teraz muszę przetestować co dokładnie do da. Jedyny problem jest taki, że nigdy specjalnie nie bawiłem się APRSem z QTH i nie wiem co powinienem odbierać. Trzeba będzie najpierw zostawić na noc Muelowskie TNC2C a potem mój wynalazek i porównać.
Zapisane
Mateusz == 43-300 Bielsko Biała

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #76 dnia: Sierpień 27, 2013, 23:01:43 LOC »

To warto sie z DMA przeprosic ;) ot szkoda meczyc procka. Nie pamietam ktorego STM-a uzywasz, ale jak kompatybilny z STM32F103 to konfiguracja Timer + ADC + DMA jest w zrodlach. Po prostu w przerwaniu bierzesz juz wszystkie probki z bufora w pamieci. Troche inaczej niestety konfiguruje sie to w STM32F407 i STM32F101 dlatego nie wiem czy moja konfiguracja bedzie dzialac. Natomiast co do testow to polecam wspominany test z plytki CD. Ja go odpalam z Playera bez wypalania plytki. Do tego zmienna liczaca poprawne pakiety i masz w miare fajny test. Mozesz zobaczyc jaka jest roznica z oversamplingiem i bez. Sam ocenisz ;)
Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #77 dnia: Sierpień 28, 2013, 09:35:58 LOC »

Ja pracuję z F100RB także konfiguracja będzie inna, zresztą jaka to sztuka zrzynać od innych :P Ma trochę inaczej rozłożone przerwania przez co wymaga innego startupu niż np F103VB czy F107VB. Aczkolwiek mi bardziej chodziło o to, że nigdy nie operowałem na DMA i po prostu nie wiem jak się go konfiguruje a chciałem sprawdzić na szybko oversampling.

Tak jak napisałem ja testuje na żywym organizmie. Przynajmniej mam pewność, że to faktycznie będzie działało tak jak tego oczekuje w warunkach produkcyjnych. Wysyłam też sobie po RS232 niektóre dane o odebranych pakietach. Nie jest to oczywiście KISS ale chodziło mi aby dało się to uruchomić na dłuższą chwilę i logować programem terminalowym. Wychodzi całkiem nieźle bo poczuwam trzy pobliskie DIGI co pozwala stwierdzić, że jest OK. Teraz będe w końcu robił KISS, na początek odbiorczo a docelowo pewnie i nadawczo.

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2013.08.25 18:43:11 =~=~=~=~=~=~=~=~=~=~=~=
BOOT
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: -0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: -0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SR8NDR-0 DG1: WIDE2-1 DG2: -0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: -0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: SR8NWD-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: TW5X85-0 - SRC: OM5AMD-9 - DG0: OM3KII-3 DG1: WIDE1-0 DG2: SR9NWJ-0
DST: UP0S52-0 - SRC: SQ9IWE-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: SR8NWD-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR8NWD-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: SP8PUB-4
DST: APNU19-0 - SRC: SP8PUB-4 - DG0: WIDE2-2 DG1: WIDE1-0 DG2: SP8PUB-4
DST: APMD2-0 - SRC: SR8VPW-0 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APMD-0 - SRC: SQ8MAE-5 - DG0: SR8NWD-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: SP8PUB-4
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SP8PUB-4
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR9NFB-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWD-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWD-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: UP0S52-0 - SRC: SQ9IWE-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: WIDE2-2
DST: UP0S52-0 - SRC: SQ9IWE-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: SR9NWJ-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR9NWJ-0
DST: APOT21-0 - SRC: SR8WXE-0 - DG0: WIDE2-2 DG1: WIDE2-2 DG2: SR9NWJ-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR9NWJ-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR9NWJ-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: SR8NWD-0
DST: APUWX-0 - SRC: SP7FFY-2 - DG0: SR8NWF-0 DG1: SP2-1 DG2: SR8NWD-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR8NWD-0
DST: UP1U22-0 - SRC: SP8IPN-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: WIDE2-2
DST: UP1U22-0 - SRC: SP8IPN-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: SR8NDR-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR9NFB-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR9NRY-0 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APNW01-0 - SRC: SR9NRY-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: UP0S52-0 - SRC: SQ9IWE-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: WIDE2-2
DST: UP0S52-0 - SRC: SQ9IWE-9 - DG0: SR8VPW-0 DG1: SR8NWF-0 DG2: SR8NDR-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APND12-0 - SRC: SP7WOJ-2 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NWD-0 DG1: WIDE1-0 DG2: SR8NDR-0
DST: APNU19-0 - SRC: SR8NDR-0 - DG0: NONE-0 DG1: WIDE1-0 DG2: SR8NDR-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR8NDR-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NWD-0 DG1: WIDE1-0 DG2: SR8NDR-0
DST: APOT21-0 - SRC: OM0AM-2 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APND14-0 - SRC: SR9NON-0 - DG0: SP5-1 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: WIDE2-2
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APNU19-0 - SRC: SR8NWF-0 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APMI01-0 - SRC: SR9NFB-0 - DG0: SR9NWJ-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR9NFB-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: UP1U14-0 - SRC: SP8IPN-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: UP1U20-0 - SRC: SP8IPN-9 - DG0: SP8PUB-4 DG1: WIDE1-0 DG2: SR8NWF-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: SR8NWF-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: U0PQ28-0 - SRC: SQ9MEE-2 - DG0: SR8NDE-0 DG1: WIDE1-0 DG2: SR8NDR-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-2
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SP8PUB-4 DG1: WIDE2-1 DG2: WIDE2-2
DST: APNW01-0 - SRC: SR8NJL-0 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APMI01-0 - SRC: SR9NFB-0 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APMI01-0 - SRC: SR8NZ-0 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: SR8NDR-0 DG1: WIDE1-0 DG2: WIDE2-2
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR8NDE-0 DG1: SP8PUB-4 DG2: WIDE2-0
DST: APU25N-0 - SRC: SP8KJX-1 - DG0: SR8NDE-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APNW01-0 - SRC: SP8EET-4 - DG0: SR8NWF-0 DG1: SR8NDR-0 DG2: WIDE2-0
DST: APOTC1-0 - SRC: SP8TJU-9 - DG0: WIDE1-1 DG1: WIDE2-2 DG2: WIDE2-0
DST: APNU19-0 - SRC: SR8NDR-0 - DG0: WIDE2-2 DG1: WIDE2-2 DG2: WIDE2-0
(...)(...)(...)(...)(...)

/* edit */
Powracając do tematyki protokołu KISS. Czy aby dane, które wysyła TNC do komputera były widoczne w UI-View to UI musi zainicjalizować TNC i dostać od niego jakąś konkretną odpowiedź? Niby moja implementacja jest zgodna z linkami przez was podrzuconymi ale mimo tego "ciemność widzę". Z tym, że oczywiście komunikację mam narazie jednokierunkową, czyli wysyłam dane w KISS do PC bez możliwości komunikacji w drugą stronę (w domyśle aby wysłać parametry). Widać, że przy starcie UI-View32 próbuje coś robić z TNC bo ma "chwilkę zwiechy" ale żadnych błędów przy tym nie wyświetla.
« Ostatnia zmiana: Sierpień 28, 2013, 12:09:06 LOC wysłana przez SP8EBC »
Zapisane
Mateusz == 43-300 Bielsko Biała

SP6VGX

  • *
  • Offline Offline
  • Wiadomości: 160
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #78 dnia: Sierpień 29, 2013, 13:39:41 LOC »

Hi

W sumie nie mowie o kopiowaniu ;) ale czasami nie wszystko jasno jest powiedziane w Reference Manual, ot jak przesiadalem sie na STM32F407 to mialem lekki problem z odpaleniem ADC + DMA... ot trzeba bylo jeszcze jedna flage ustawic w rejestrze, a nie bylo to jasne powiedziane ze musi byc :)

Testowac na zywym organizmie mozna ;) ale czasami jest to klopotliwe jak chce sie zrobic duzo testow (wiadomo ramki czasami tak czesto nie leca), a na tej plycie jest praktycznie ramka za ramka i mozna robic skuteczne porownania algorytmow. Potem owszem mozna juz dopieszczac w relau :)

Odnosnie KISS to na chwile obecna ci nie powiem (musze zerknac w source bo nie pamietam), u mnie wysylane sa informacje konfiguracyjne - ale powinno smigac bez tego. Jak wspominalem sam wysylam dane GPS na drugim kanale i tam nic nie wysylam na razie (w przyszlosci moze komendy dla GPS-a) - ale to jak jakis soft bede pisal na PC...

Daj tutaj moze odbierane dane z com-a co ci wysyla (tylko najlepiej takie w hex - bo po krzaczkach to sie trudno cos domyslic)... jak je bede mial to sprawdze czy format jest taki jak moich...




Zapisane
Tomek SP6VGX
QTH: Warszawa, LOKATOR: KO02NG
QRG: SR5WA (439.350)
D-STAR: SR5WW B (438.500) - REF032
DMR-ID: 2600023

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #79 dnia: Sierpień 29, 2013, 18:48:09 LOC »

Voila:


Do tego dorzucam też funkcję która przygotowuje dane do wysłania:
void* SendKISSToHost(char* frame, short int frm_len) {
#define FEND 0xC0
#define FESC 0xDB
#define TFEND 0xDC
#define TFESC 0xDD
char buffer[CONFIG_AX25_FRAME_BUF_LEN+5];
short int i /* Zmienna do poruszania się po frame */, j /* zmienna do poruszani się po buffer*/;
buffer[0] = FEND;
buffer[1] = HDLC_FLAG;
for (j = 2, i = 0; i < frm_len; j++, i++) {
if (*(frame+i) != FEND && *(frame+i) != FESC)
buffer[j] = frame[i];
else if (*(frame+i) == FEND) {
buffer[j] = FESC;
*(buffer + (j++)) = TFEND;
}
else if(*(frame+i) == FESC) {
buffer[j] = FESC;
*(buffer + (j++)) = TFESC;
}
else;
}
*(buffer + (j++)) = HDLC_FLAG;
*(buffer + (j++)) = FEND;
return buffer;
}
Zapisane
Mateusz == 43-300 Bielsko Biała

SP8EBC

  • *
  • Offline Offline
  • Wiadomości: 266
Odp: Projektowanie własnego trackera APRS czyli znęcam się nad Baycomem
« Odpowiedź #80 dnia: Wrzesień 18, 2013, 13:48:45 LOC »

Dla potomności napiszę to co udało mi się ustalić. Wprawdzie rozgryzłem to jakieś dwa tygodnie ale przez wożenie tyłka po zagranicy nie miałem możliwości opisać. Po pierwsze w protokole KISS nie wysyła się flagi HDLC na początek i koniec ramki, po drugie po symbolu FEND a przed początkiem danych należy podać numer portu radiowego, czyli w moim przypadku po prostu 0x00. Po tych małych korektach zaczęło to funkcjonować poprawnie. Teraz pora na komunikację w drugą stronę czyli wysyłanie danych
Zapisane
Mateusz == 43-300 Bielsko Biała
Strony: 1 ... 4 5 [6]