CHDKPTP Intervall - Kamera geht regelmäßig aus

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon mos87 » 28.03.2013, 15:20

Hallo zusammen,

ich bin dabei eine Intervallaufnahme zu erstellen mit der ein Hausbau dokumentiert werden soll.

Mein Setup dafür:
- Canon PowerShot A1100 IS
- wird über ein Netzteil mit Strom versorgt
- bootet direkt ins CHDK (1.2)
- (soll noch über einen Servo an/aus gemacht werden können)
- Raspberry Pi an den die Kamera angeschlossen ist
- USB-Stick / Festplatte
- WLAN-Stick
- UMTS-Surfstick

Auf dem Raspberry führt ein Cronjob alle 5 min ein Skript aus welches der Reihe nach folgende Aufgaben erledigt:
- überprüfen ob eine Kamera angeschlossen ist
- alle Bilder auf der Kamera löschen
Code: Alles auswählen
chdkptp -r/home/pi/Project-Camera/Scripts/delete.lua

- ein Foto machen
Code: Alles auswählen
chdkptp -r/home/pi/Project-Camera/Scripts/single-shoot.lua

- Foto von der Kamera auf USB-Stick kopieren
Code: Alles auswählen
chdkptp -r/home/pi/Project-Camera/Scripts/download.lua

Einmal die Stunde wird auch ein Bild auf einen FTP-Server übertragen.

Nun zu meinem Problem:
Das Skript läuft bis auf weiteres problemlos, jedoch geht GENAU immer zur vollen Stunde die Kamera aus.
Wenn ich die Uhrzeit der Kamera verstelle verschiebt sich auch der Zeitpunkt genau um die selbe Differenz.
Wo kann das Problem liegen??? Skript? Kamera? CHDK?
Beim betrachten des Logfiles fällt auch auf, dass nachdem die Kamera aus war das nächste Bild mit einer niedrigeren Nummer gemacht wird.

Danke schon mal für jede Hilfe.
Dateianhänge
single-shoot.txt
bash Skript (wird über Cronjob gestartet)
(1.07 KiB) 379-mal heruntergeladen
cron.txt
Logfile des Cronjobs (unter Win mit WordPad öffnen)
(88.63 KiB) 376-mal heruntergeladen
download.lua
(84 Bytes) 394-mal heruntergeladen
single-shoot.lua
(170 Bytes) 381-mal heruntergeladen
delete.lua
(35 Bytes) 379-mal heruntergeladen
mos87
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 6
Registriert: 28.03.2013, 14:05
Kamera(s): Canon Powershot A1100 IS

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon msl » 28.03.2013, 22:57

Hallo und willkommen hier im Forum.

Hast du schon mal getestet, ob ein auf der Kamera laufendes Skript über eine Stunde hinaus funktioniert?

Auf den ersten Blick kann ich auch keinen Fehler erkennen. Wir wollen mal nicht hoffen, dass Canon bei externer Stromversorgung eine Zwangsabschaltung eingebaut hat. Bei anderen Kameras klappen Langzeit-Intervalle auch problemlos.

Gruß msl


Nachtrag: http://www.antthomas.co.uk/webcam/guide.php
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon mos87 » 29.03.2013, 16:01


Das hab ich eben auch gefunden und danach mein(e) Skript(e) aufgebaut.

Ich teste jetzt gerade mit dem standard Skript "interval.lua" welches bei CHDK automatisch dabei ist.
Ergebnis folgt ...

Also das Skript direkt auf der Kamera ausgeführt, ist jetzt über 3 Stunden ohne Probeme durchgelaufen.

Mit dem Raspberry habe ich noch getestet ob ein reboot der Kamera direkt vor der vollen Stunde etwas ändert, was aber leider nicht der fall war.
mos87
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 6
Registriert: 28.03.2013, 14:05
Kamera(s): Canon Powershot A1100 IS

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon Werner_O » 31.03.2013, 23:33

Hallo mos87,

das Logfile "cron.txt" ist schon durchaus nützlich für eine Fehleranalyse. Man muß sich aber die Zeit geben, daraus auch auf Hinweise zu schließen, die weiterhelfen können.

Wenn die Kamera nach dem letzten (und wahrscheinlich unerwünschten) Neustart wieder mit genau der Bildnummer anfängt wie beim sozusagen vorletzten Anlauf ist dies ein eindeutiges Indiz dafür, daß die bereits gemachten Bilder bereits von der Kamera gelöscht wurden.
Das kann man ja aus Deiner "cron.txt" ablesen.

Ansonsten hast Du Dich anscheinend auch etwas unpräzise ausgedrückt, wenn Du von vollen Stunden sprichst, worunter man sich normalerweise Uhrzeiten wie genau 12:00, 13:00 etc. vorstellt.
Deine "cron.txt" spricht da aber eine andere Sprache, weil es da eher um die vergangene Skriptzeit geht, welche dann nach einer Stunde Probleme macht.

Diese genau eine Stunde (ab wann es dann harkt) ist dabei aber wahrscheinlich nicht zufällig, weil Du ja genau stündlich auch ein Bild auf Deinen FTP-Server überträgst.
Die Logik (sprich auch mein gesundener Menschenverstand) legt dabei nahe, daß all dies ursächlich miteinander verbunden ist.
Die Funktionen des automatischen FTP-Transfers sollten dabei m.E. zuerst kontrolliert werden - diese könnten sowohl für das bereits genannte bisher noch unerklärliche Verschwinden von Bildern verantwortlich sein und könnten auch die Ursache sein, warum sich die Kamera stündlich abschaltet.

Ich bin aber kein Skript-Experte!
Leute wie msl oder einige andere hier mehr sind diesbezüglich sicherlich besser für spezielle Anfragen geeigent.

Liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon mos87 » 02.04.2013, 09:58

Hallo zusammen,

zum Bildindex:
- Die Bilder lösche ich ja manuell wie schon gesagt. Der Index dürfte dadurch aber weder dekrementiert noch zurückgesetzt werden. Als mögliche Ursache kommt für mich nur ein Ausnahmefehler der Kamerafirmware in frage, bei dem der aktuelle Index nicht mehr gespeichert wird und beim erneuten einschalten der zuletzt ordnungsgemäß gespeicherte Wert geladen wird.

zur Zeit:
- Ich habe es genau so geneimt wie ich es geschrieben habe. Die Kamer geht immer zur vollen Stunde (bezogen auf die Kamerazeit) aus. Am Anfang des Logfiles war dies immer bei Minute 20 der fall, da die Kamera eine falsche Uhrzeit hatte. Nachdem ich die Uhrzeit korrigiert hatte sieht man auch im Log das der Fehler immer zur vollen Stunde auftritt.

zum FTP:
- OK was das angeht habe ich mich wohl etwas falsch ausgedrückt. Der FTP-Upload ist noch nicht einmal im ansatz realisiert, dies ist noch auf meiner ToDo-liste. Scheidet also aus.

So nun zu neuen Erkenntnissen:
Ich habe einfach aus Frust und Verzweiflung noch ein bisschen an den Delays zwischen den einzelnen Befehlen und Skripten gespielt und das Ergebniss ist .... *trommelwirbel* .... es läuft
Das Problem ist damit zwar nicht zu 100% behoben, aber für mich soweit akzeptabel gelöst.

Falls das Problem von den Experten und Entwicklern weiterhin untersucht und gelöst werden will stehe ich natürlich gerne zur Verfügung.

Die aktuellen Skripte und Dateien habe ich der vollständigkeit halber nocheinmal angehängt.
Dateianhänge
single-shoot.txt
Bashskript
(1.04 KiB) 393-mal heruntergeladen
single-shoot.lua
(239 Bytes) 383-mal heruntergeladen
intervall.lua
(3.2 KiB) 365-mal heruntergeladen
download.lua
(76 Bytes) 377-mal heruntergeladen
delete.lua
(89 Bytes) 364-mal heruntergeladen
capture-log.txt
stark verkürztes Logfile
(19.65 KiB) 382-mal heruntergeladen
mos87
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 6
Registriert: 28.03.2013, 14:05
Kamera(s): Canon Powershot A1100 IS

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon mos87 » 03.04.2013, 19:16

Es ist zum ko****!!!!!!!!!!

Die Kamera lief jetzt über 2 Tage problemlos durch. Jetzt habe ich das System ab und an anderer Stelle wieder aufgebaut und es ist das gleiche Problem wie zuvor.
Gleiche Skripte gleiche configuration.
mos87
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 6
Registriert: 28.03.2013, 14:05
Kamera(s): Canon Powershot A1100 IS

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon srsa.4c » 03.04.2013, 20:24

mos87 hat geschrieben:Die Kamera lief jetzt über 2 Tage problemlos durch. Jetzt habe ich das System ab und an anderer Stelle wieder aufgebaut und es ist das gleiche Problem wie zuvor.
Gleiche Skripte gleiche configuration.

Hallo,

Könntest du mal bitte ein Romlog machen (Verschiedene Einstellungen -> Debugging-Einstellungen -> ROM-Crash-Log speichern)? Wenn die Kamera erneut abstürzt, mach bitte noch ein, und lade sie hoch.
Ich habe einige Ideeen bezüglich der Ursache.

MfG
srsa.4c
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 15.01.2012, 16:31
Kamera(s): a410, ...

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon Werner_O » 03.04.2013, 20:49

Eine Ãœberlegung dazu von mir:

Raspberry Pi scheint ja mit WiFi sprich WLAN zu arbeiten, und bei einem schlichten Ortswechsel bei ansonsten gleichem Szenario ist der vermutlich größte resultierende Unterschied die verschiedene Auslastung der verfügbaren WLAN-Kanäle.

Insbesondere in Ballungsräumen (etwa die Innenstadt von Köln) sind ja manche Kanäle völlig überlaufen und man sollte sich gezielt Kanäle mit möglichst wenig zusätzlichem Traffic durch andere Netzwerke rauspicken.

Das nur als rein theoretischer Denkanstoß, Deinem Problem möglicherweise näher auf die Spur kommen zu können.

Viel Glück und liebe Grüße
Werner_O
Benutzeravatar
Werner_O
CHDK-Legende
CHDK-Legende
 
Beiträge: 1027
Registriert: 22.10.2010, 13:12
Wohnort: Köln
Kamera(s): SX20 1.02d
SX240 1.01a
S100 1.01a
S3 1.00a

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon mos87 » 03.04.2013, 21:17

@Werner_O: Interressante Idee aber ich wohne sehr ländlich und bin auf meinen Kanälen sogar alleine.

@srsa.4c: Danke für den Hinweis mit dem Log-file, ich hab schon nach soetwas gesucht es aber irgendwie übersehen.

ROMLOG.txt
(3.31 KiB) 375-mal heruntergeladen


Wenn ich das auf die schnelle richtig deute führt die Funktion "FolderCreate0" zum Absturz.
mos87
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 6
Registriert: 28.03.2013, 14:05
Kamera(s): Canon Powershot A1100 IS

Re: CHDKPTP Intervall - Kamera geht regelmäßig aus

Beitragvon srsa.4c » 04.04.2013, 00:11

mos87 hat geschrieben:Wenn ich das auf die schnelle richtig deute führt die Funktion "FolderCreate0" zum Absturz.
FolderCreate0 is ein Canon-Task, es ist nicht direkt von CHDK beeinflußt. Ich habe etwas anderes erwartet, aber nach einer kleinen Nachforschung habe ich ähnliche Abstürze gefunden.
Siehe (im englischen Forum):
http://chdk.setepontos.com/index.php?topic=8613 (Druckansicht) (suche nach "FolderCreate0")
http://chdk.setepontos.com/index.php?topic=8801 (Druckansicht)

Versuch mal Scripte von SticK auszuprobieren (suche nach "dcimdl" und "myshoot" in den obigen Threads). Natürlich kannst du sie nach deinem Geschmack modifizieren.

Könntest du bitte die Version im Anhang probieren? Die Änderungen werden deine Probleme höchst wahrscheinlich nicht lösen, aber sie sind notwendig für diese Kamera, und ich brauche Beweis, daß es funktioniert.

MfG
Syntax: [ Download ] [ Verstecken ]
Benutze Diff Syntax Highlighting
Index: platform/a1100/platform_camera.h
===================================================================
--- platform/a1100/platform_camera.h    (revision 2662)
+++ platform/a1100/platform_camera.h    (working copy)
@@ -81,6 +81,7 @@
 
     #undef CAM_MENU_BORDERWIDTH
     #define CAM_MENU_BORDERWIDTH            10
+    #define CAM_STARTUP_CRASH_FILE_OPEN_FIX 1
 
    #define REMOTE_SYNC_STATUS_LED  0xC02200CC      // specifies an LED that turns on while camera waits for USB remote to sync
 //----------------------------------------------------------
Index: platform/a1100/sub/100c/stubs_entry.S
===================================================================
--- platform/a1100/sub/100c/stubs_entry.S   (revision 2662)
+++ platform/a1100/sub/100c/stubs_entry.S   (working copy)
@@ -15,8 +15,6 @@
 
 // Stubs below should be checked. Stub not matched 100%, or difference found to current 'stubs_entry_2.S'
 //    Name                                     Address      Rule  %  Comp to stubs_entry_2.S
-//NSTUB(ExpCtrlTool_StopContiAE               ,0xffc1f9c4) //104        *** != 0xffc1faac
-//NSTUB(SetAE_ShutterSpeed                    ,0xffe425b8) //102        *** != 0xffe3d994
 //NSTUB(kbd_pwr_off                           ,0xffc30b9c) //  2 64%    *** != 0xffc30bac
 NSTUB(kbd_pwr_on                              ,0xffc30b5c) //  2 82%
 
@@ -42,7 +40,7 @@
 DEF(focus_len_table                         ,0xfffe2a8c) // Found @0xfffe2a8c
 DEF(zoom_busy                               ,0x00005560) // Found @0xffcf4788
 DEF(focus_busy                              ,0x00005478) // Found @0xffcefa8c
-//DEF(recreview_hold                          ,0x000030e0) // Found @0xffc65938, ** != ** stubs_min = 0xffc00414 (0xFFC00414)
+DEF(recreview_hold                          ,0x000030e0) // Found @0xffc65938
 
 // Values below go in 'lib.c':
 //void *vid_get_bitmap_fb()        { return (void*)0x403f1000; }             // Found @0xffc2c594
@@ -105,6 +103,7 @@
 NSTUB(ExitFromCompensationEVF                 ,0xffc15034) //104
 NSTUB(ExitTask                                ,0xffc0b23c) //101
 NSTUB(ExpCtrlTool_StartContiAE                ,0xffc1f880) //104
+NSTUB(ExpCtrlTool_StopContiAE                 ,0xffc1f9c4) //104
 NSTUB(Fclose_Fut                              ,0xffc13308) //101
 NSTUB(Feof_Fut                                ,0xffc134f4) //  1
 NSTUB(Fflush_Fut                              ,0xffc13530) //  1
@@ -160,6 +159,7 @@
 NSTUB(Remove                                  ,0xffc13928) //  1
 NSTUB(RenameFile_Fut                          ,0xffc13138) //  1
 NSTUB(Restart                                 ,0xffc18594) //106
+NSTUB(SetAE_ShutterSpeed                      ,0xffe425b8) //102
 NSTUB(SetAutoShutdownTime                     ,0xffc5cd5c) //103
 NSTUB(SetCurrentCaptureModeType               ,0xffc632cc) //101
 NSTUB(SetFileAttributes                       ,0xffc13c0c) //  1
Index: platform/a1100/sub/100c/stubs_entry_2.S
===================================================================
--- platform/a1100/sub/100c/stubs_entry_2.S (revision 2662)
+++ platform/a1100/sub/100c/stubs_entry_2.S (working copy)
@@ -2,8 +2,6 @@
 #define NULL_SUB 0xFFC00950
 
 // Override stubs_entry.S
-NHSTUB(ExpCtrlTool_StopContiAE,     0xFFC1FAAC)
-NHSTUB(SetAE_ShutterSpeed,          0xFFE3D994)
 NHSTUB(kbd_pwr_off,                 0xFFC30BAC)
 
 // These don't exist
Index: platform/a1100/sub/100c/stubs_min.S
===================================================================
--- platform/a1100/sub/100c/stubs_min.S (revision 2662)
+++ platform/a1100/sub/100c/stubs_min.S (working copy)
@@ -1,4 +1,3 @@
 #include "stubs_asm.h"
 
-DEF(recreview_hold,                     0xFFC00414)     // not found
 DEF(enabled_refresh_physical_screen,    0x7610+0x30)    //RefreshPhysicalScreen---->fixed
Erstellt in 0.015 Sekunden, mit GeSHi 1.0.8.9
Dateianhänge
a1100-100c-1.2.0-full.zip
(645.55 KiB) 355-mal heruntergeladen
srsa.4c
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 49
Registriert: 15.01.2012, 16:31
Kamera(s): a410, ...


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 19 Gäste