Es ist nun schon mehrfach vorgekommen, das durch Kartenaktualisierung der Speicher des Gerätes nicht mehr ausreicht. Dann fehlt einfach die Hälfte und die Navigation geht nicht mehr richtig. Der Content Manager bleibt mit einer entsprechenden Fehlermeldung stehen und das war´s. Danach bleibt eigentlich nur das Zurücksetzen in den alten Zustand. Der Speicher der SD-Karte kann nicht genutzt werden. Eigentlich sollte das ja zur Speichererweiterung dienen. Nach langen Suchen habe ich die Abhilfe für dieses Problem gefunden. Auf der SD-Karte müssen entsprechende Verzeichnisse vorhanden sein, damit die ganze Sache funktioniert. Leider schweigt sich die Dokumentation darüber aus.
Damit die Nutzung der SD-Karte erfolgen kann müssen folgende Verzeichnisstruktur im Hauptverzeichnis der Karte vorhanden sein:
addons
-> CONTENT
-> building
-> lang
-> map
-> phoneme
-> poi
-> speedcam
-> voice
-> license
-> tts_nua_v5
-> CZC
-> DUN
-> ENG
-> FRF
-> HUH
-> ITI
-> PLP
-> SPE
Danach verschiebt man die einzelnen nicht immer benutzten Teile der Kartendaten vom Gerät auf die entsprechenden Verzeichnisse der Karte. Ab sofort wird beim Update die SD-Karte mit aktualisiert und der Gerätespeicher hat weiterhin seine Reserven.
WICHTIG: dieser Blog ist ein kleines privates Backup eigener Problemlösungen. Hier eingestellte Seiten und Beiträge können zu Störungen, Zerstörung oder zu anderen Gefährdungen führen und dürfen nicht nachgemacht werden. Jegliche Haftung wird ausgeschlossen.
Posts mit dem Label Elektronik werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Elektronik werden angezeigt. Alle Posts anzeigen
Sonntag, 17. September 2017
Sonntag, 29. März 2015
Basteln mit ATmegas
Da meine bessere Hälfte ihre ursprüngliche Heimat etliche Kilometer entfernt hat und ab und zu ein wenig Heimweh hat, haben wir einfach ein Stück alte Heimat in der Schrankwand untergebracht.
Dieses war die erste Version:
Der Leuchtturm ist an den der Greifswalder Oie angelehnt, allerdings entspricht das Feuer nicht diesem nur die Drehrichtung. Des "Feuer" wird von einen Atmega8 mit 1Mhz Takt auf 16 Leuchtdioden verteilt. Da alles über Pulsweitenmodulation gesteuert wird, kam bei der ersten Version Assembler zum Einsatz.
Inzwischen ist der Atmega8 einem Arduino ProMini gewichen (bei einem Preis von 7€ lohnt sich Selbstbauen nicht mehr) und das Feuer des Leuchtturms entspricht jetzt annähernd dem Original. Die etwas lauten Getriebe des Schiffsmechanismus wurden durch Schrittmotoren ersetzt. Das Schiff bekam eine entsprechende Beleuchtung und mit einen Neopixelstreifen mit 60 LED´s wird Tag- und Nachtwechsel erzeugt.
Ein ProMini ist für die Beleuchtung zuständig und steuert gleichzeitig die beiden Controller im Leuchtturm und der Schiffsmechanik.
Über Zufallszahlen im Verhältnis 1/20 wird im Nachtzyklus ein Gewittereffekt erzeugt und die Schiffsmechanik erzeugt heftigeren Seegang. Gleichzeitig wird die Beleuchtung des Fischerbotes auf ein normales Motorschiff reduziert.
Dieses war die erste Version:
Der Leuchtturm ist an den der Greifswalder Oie angelehnt, allerdings entspricht das Feuer nicht diesem nur die Drehrichtung. Des "Feuer" wird von einen Atmega8 mit 1Mhz Takt auf 16 Leuchtdioden verteilt. Da alles über Pulsweitenmodulation gesteuert wird, kam bei der ersten Version Assembler zum Einsatz.
Version 1 Leuchtturmelektronik
der mechanische Unterbau simuliert Schiffsbewegungen
(hier noch die alte rasselnde Getriebeversion)
Inzwischen ist der Atmega8 einem Arduino ProMini gewichen (bei einem Preis von 7€ lohnt sich Selbstbauen nicht mehr) und das Feuer des Leuchtturms entspricht jetzt annähernd dem Original. Die etwas lauten Getriebe des Schiffsmechanismus wurden durch Schrittmotoren ersetzt. Das Schiff bekam eine entsprechende Beleuchtung und mit einen Neopixelstreifen mit 60 LED´s wird Tag- und Nachtwechsel erzeugt.
Ein ProMini ist für die Beleuchtung zuständig und steuert gleichzeitig die beiden Controller im Leuchtturm und der Schiffsmechanik.
Über Zufallszahlen im Verhältnis 1/20 wird im Nachtzyklus ein Gewittereffekt erzeugt und die Schiffsmechanik erzeugt heftigeren Seegang. Gleichzeitig wird die Beleuchtung des Fischerbotes auf ein normales Motorschiff reduziert.
Raspi-Bastelei
Hier hatte ich mich mal einem WiFi-gesteuertem Fahrzeug gewidmet. Das Teil diente eigentlich nur zur Anregung für ein größeres Projekt und ist aufgrund seiner Robustheit zeitweise heute noch im Einsatz.
In der Zwischenzeit ist selbst meine kleine Version 2 schon veraltet, da sie noch auf einem umherliegenden Raspberry Pi Version B beruht. Da die GPIO des alten Raspi recht bescheiden ist, wurde einfach ein Gertboard aufgesetzt. Somit gibt es für zusätzliche Aufgaben einen Atmega, sowie die Möglichkeit 5V Komponenten einzusetzen, ohne den Raspi in den Schaltkreishimmel zu schicken.
Da das alles nur eine erste Konzeptbastelei ist, spielt Schönheit erstmal keine Rolle. Das ganze ist jetzt schon über ein Jahr im Aufbau, da einfach die Zeit fehlt.
Das Fahrwerk und die Halterungen des Aufbaus stammen aus dem 3D-Drucker, Ketten und Getriebe von Tamia. Als Motorendstufe ist ein L293D auf einer Lochrasterplatte im Grundchassis untergebracht. Als Stromversorgung dient eine USB-Powerbank.
Der Raspi wird über WLan gesteuert und der Kamerastream per Netcat übertragen. Das ergibt eine sehr geringe Verzögerung des Videos.
In der Zwischenzeit ist selbst meine kleine Version 2 schon veraltet, da sie noch auf einem umherliegenden Raspberry Pi Version B beruht. Da die GPIO des alten Raspi recht bescheiden ist, wurde einfach ein Gertboard aufgesetzt. Somit gibt es für zusätzliche Aufgaben einen Atmega, sowie die Möglichkeit 5V Komponenten einzusetzen, ohne den Raspi in den Schaltkreishimmel zu schicken.
Da das alles nur eine erste Konzeptbastelei ist, spielt Schönheit erstmal keine Rolle. Das ganze ist jetzt schon über ein Jahr im Aufbau, da einfach die Zeit fehlt.
Das Fahrwerk und die Halterungen des Aufbaus stammen aus dem 3D-Drucker, Ketten und Getriebe von Tamia. Als Motorendstufe ist ein L293D auf einer Lochrasterplatte im Grundchassis untergebracht. Als Stromversorgung dient eine USB-Powerbank.
Der Raspi wird über WLan gesteuert und der Kamerastream per Netcat übertragen. Das ergibt eine sehr geringe Verzögerung des Videos.
Sonntag, 10. August 2014
der Unterschied zwischen SFR und erweiterten SFR
In einem Programm bekam ich ständig Fehlermeldungen beim Compilieren.
Ein Test zeigte dann ein komisches Verhalten in der Timerprogrammierung.
So kann bei einem ATmega328P das Timerregister "TIMSK0" nicht per "OUT" sondern nur über "STS" beschrieben werden.
Beispielcode
Grund des Problems:
Das Register TIMSK0 liegt in den erweiterten SFR (0x60 - 0xFF).
OUT funktioniert nur im normalen SFR (bis 0x5f), danach sind normale SRAM-Befehle nötig.
Ein Test zeigte dann ein komisches Verhalten in der Timerprogrammierung.
So kann bei einem ATmega328P das Timerregister "TIMSK0" nicht per "OUT" sondern nur über "STS" beschrieben werden.
Beispielcode
/*
* timertest2.asm
*/
.def temp = r16
.def leds = r17
.org 0x0000
rjmp main ; Reset Handler
.org OVF0addr
rjmp timer0_overflow ; Timer Overflow Handler
main:
; Stackpointer initialisieren
ldi temp, HIGH(RAMEND)
out SPH, temp
ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, 0xFF ; Port D auf Ausgang
out DDRD, temp
ldi leds, 0xFF
ldi temp, (1<<CS00)|(1<<CS02) ; CS00 und CS02 setzen: Teiler 1024
out TCCR0B, temp
ldi temp, (1<<TOIE0) ; TOIE0: Interrupt bei Timer Overflow
; out TIMSK0, temp ; dieser Befehl bringt eine Fehler (Wert ausser Bereich)
sts TIMSK0, temp ; STS weil TIMSK0 (0x6E) im erweiterten SFR liegt
sei
loop: rjmp loop
timer0_overflow: ; Timer 0 Overflow Handler
out PORTD, leds
com leds
reti
Grund des Problems:
Das Register TIMSK0 liegt in den erweiterten SFR (0x60 - 0xFF).
OUT funktioniert nur im normalen SFR (bis 0x5f), danach sind normale SRAM-Befehle nötig.
