ich habe ein Problem mit der A620 und CHDK. Ich steuere die Kamera ausschließlich remote mit dem Tool CHDKPTP (R57) unter Windows XP. Dies funktioniert soweit auch weitestgehend reibungslos.
Ich benötige für die Weiterverarbeitung in einem meiner Skripte eine Auflistung aller, auf der Kamera gespeicherten Bilder inklusive Unterordner, also eine Art "ls". Dies realisiere ich mit dem folgenden Lua Code:
- Code: Alles auswählen
luar
imgRootDir = 'A/DCIM';
imageList = '\n';
for i,folder in ipairs(os.listdir(imgRootDir,false)) do
for j,image in ipairs(os.listdir(imgRootDir..'/'..folder,false)) do
imageList = imageList..imgRootDir..'/'..folder..'/'..image..'\n';
end
end
return imageList
Der normale "ls" Befehl funktioniert bei mir hingegen nicht rekursiv und bringt die Kamera teilweise sogar zum Absturz, daher der Eigenbau. Soweit funktioniert das auch. Habe ich beispielsweise 50 Bilder auf der SD Karte, bekomme ich die Namen der Bilder inklusive Pfad angezeigt. Das Problem entsteht, wenn ich mehr als 250 Bilder auf der Kamera gespeichert habe. Dann bekomme ich die Fehlermeldung "Not enough memory".
Nun habe ich gelesen, dass der RAM der älteren Kameras wie der A620 ziemlich begrenzt ist und dass man das Problem mit einer selbst kompelierten CHDK Version lösen kann, in die man nur die Dinge übernimmt, die für den Betrieb unbedingt notwendig sind. Ich habe mir also das Komplettpaket der CHDK-Shell (V3.40) heruntergeladen und entpackt. Nach dem Start und dem Download des aktuellen Source Codes wählte ich in der Liste der Kameras meine A620 mit Firmware 1.0.0F aus. Anschließend habe ich unter Compile Options alles bis auf die folgenden Pakete abgewählt: Debugging, Qbasic, Lua (alle 4 Pakete) und PTP. Den Lua Interpreter benötige ich genauso wie das PTP Interface. Bei den anderen zwei war ich mir nicht ganz sicher. Nach dem Klick auf Compile Selected wurde nach ca. 45 Sekunden im Ordner /de/trunk/trunk925/bin die Datei a620-100f-1.1.0-r925-full.zip erfolgreich erstellt. Diese ist tatsächlich einige KB kleiner als die Standarddatei für meine Kamera. Nach dem Installieren auf die SD Karte via CardTricks startet die Kamera zwar wie gewohnt aber ich bekomme den gleichen "No Memory" Fehler wie zuvor. Die neue CHDK Version wurde definitiv geladen, das habe ich mit dem folgenden Befehl überprüft:
- Code: Alles auswählen
chdkptp.exe -c -e"luar return get_buildinfo()"
Ist immernoch zu wenig RAM verfügbar? Das ist seltsam, da doch zumindest etwas weniger Arbeitsspeicher verbraucht werden sollte. Auch wenns nicht viel ist, so sollten doch z.B. jetzt 260 Bilder ausgegeben werden, bevor der "Not enough Memory" Fehler auftritt. Kann man an einer anderen Stelle evtl. noch mehr Komponenten abwählen oder muss ich auf der Kamera noch etwas einstellen? Oder liegts vielleicht an etwas ganz anderem? Bei der Canon A480 tritt dieses Problem nicht auf.
Ich bin für jede Hilfe dankbar
Viele Grüße