Hallo, ich versuche MicroAPRS im Kiss-Mode https://github.com/markqvist/MicroAPRS auf einem Arduino Uno zum Laufen zu bringen. Leider zeigt der Arduino nach dem Flashen auf meine Kommunikationsversuche aus dem Arduino-Terminal heraus (z.B. H -> Print configuration) keinerlei Reaktion. Das Terminal ist auf 9k6Baud eingestellt, getestet wurde mit/ohne nl/cr. Empfangen tut er auch nichts. Der NF-Eingang A0 wurde über zwei 100k-Rs als Spannungsteiler auf 1,65V gelegt und über einen 1nF-C mit dem AFSK-Signal gefüttert. Getestete Pegel 100mV - 1,5V. Wo habe ich was übersehen? Kompiliert wurde mit den Standardeinstellungen, die nach Durchsicht der Dateien recht sinnvoll erschienen: Starting build... Compiling: main.c Linking: images/MicroAPRS.elf avr-objcopy: --change-section-lma .eeprom=0x0000000000000000 nie benutzt AVR Memory Usage ---------------- Device: atmega328p Program: 5702 bytes (17.4% Full) (.text + .data + .bootloader) Data: 1852 bytes (90.4% Full) (.data + .bss + .noinit) Firmware compiled successfully! Beim Flashen ist mir auch nichts besonderes aufgefallen: florian@MessPC:~/Downloads/MicroAPRS-master$ ./flash ACM0 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e950f (probably m328p) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "images/MicroAPRS.hex" avrdude: input file images/MicroAPRS.hex auto detected as Intel Hex avrdude: writing flash (5702 bytes): Writing | ################################################## | 100% 1.03s avrdude: 5702 bytes of flash written avrdude: verifying flash memory against images/MicroAPRS.hex: avrdude: load data flash data from input file images/MicroAPRS.hex: avrdude: input file images/MicroAPRS.hex auto detected as Intel Hex avrdude: input file images/MicroAPRS.hex contains 5702 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.81s avrdude: verifying ... avrdude: 5702 bytes of flash verified avrdude: safemode: Fuses OK (E:00, H:00, L:00) avrdude done. Thank you. FlorenzW
Bin jetzt einen kleinen Schritt vorwärts gekommen: Das Demoprogramm der libAPRS aus gleicher Quelle auf gleicher Hardware funktioniert, dekodierte APRS-Pakete sehen sinnvoll aus. Wenn ich von https://github.com/markqvist/MicroAPRS aus dem precompiled-folder statt der 3V die 5V-Version flashe, wird etwas dekodiert, was aber nur zum Teil sinnvoll ist (siehe Bild). Xastir kann damit nichts anfangen. Ein Abrufen der Konfiguration des Modems durch "H" ist nicht möglich, auch alle anderen Kommunikationsversuche scheitern. Wenn ich via make selbst compiliere, gibt der Arduino keinen Mucks von sich. Ich habe den Verdacht, dass in der seriellen Kommunikation der Wurm drin ist.
Hast Du einen original Arduino UNO ? So nach Datenblatt sind die doch 5V und nicht 3.3V oder ? Je nach dem musst Du im device.h File noch Aenderungen vornehmen.
Unter den getesteten Arduino Unos war auch ein Original dabei. Hier ist die device.h, die zum compilieren verwendet wurde: #include "util/constants.h" #ifndef DEVICE_CONFIGURATION #define DEVICE_CONFIGURATION // CPU settings #define TARGET_CPU m328p #define F_CPU 16000000 #define FREQUENCY_CORRECTION 0 // ADC settings #define OPEN_SQUELCH true //#define ADC_REFERENCE REF_3V3 // OR #define ADC_REFERENCE REF_5V // Sampling & timer setup #define CONFIG_AFSK_DAC_SAMPLERATE 9600 // Serial protocol settings #define SERIAL_PROTOCOL PROTOCOL_KISS // OR //#define SERIAL_PROTOCOL PROTOCOL_SIMPLE_SERIAL // AX25 settings #if SERIAL_PROTOCOL == PROTOCOL_SIMPLE_SERIAL #define CUSTOM_FRAME_SIZE 330 #endif // Serial settings #define BAUD 9600 #define SERIAL_DEBUG true #define TX_MAXWAIT 2UL // Port settings #if TARGET_CPU == m328p #define DAC_PORT PORTD #define DAC_DDR DDRD #define LED_PORT PORTB #define LED_DDR DDRB #define ADC_PORT PORTC #define ADC_DDR DDRC #endif #endif
Lies mal bitte die Formatierungsregeln: https://www.mikrocontroller.net/articles/Formatierung_im_Forum
Problem gelöst. 1.: Man muß die Vref von außen zuführen. 2.: Fehler in meiner Konfiguration von Xastir: Man muss serielles KISS TNC einstellen und nicht serielles TNC... microAPRS auf dem Arduino Uno funktioniert einwandfrei. Thanks markqvist
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.