Error: Something is wrong.: Syntax error in template "smartymarkupplugin:smartymarkupplugin:3681648899" on line 6 "
  • Mit
    curl -k -H "X-Api-Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -F "select=false" -F "print=false" -F "file=@[output_filepath]" "http://IPADDRESS:PORT/api/files/local" {STRIP "; postProcessing"} 
    kann direkt aus Simplify3D auf den OctoPrint Server gedruckt werden. Dabei sind natürlich der API Key statt den "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" einzufügen, ebenso die URL, unter der OctoPrint erreichbar ist. Wenn man bei "select" und / oder "print" statt "false" den Wert "true" angibt, druckt Octoprint automatisch los. Nicht ändern sollte man die Variable hinter "file" 8-)
  • " unknown tag 'STRIP'
    Error: Something is wrong.: Syntax error in template "smartymarkupplugin:smartymarkupplugin:2237119413" on line 101 "G1 F{travelspeed} ;" - Unexpected "/" Hardware | trueten.de

    trueten.de

    "Die Tragödie meines Lebens begann an dem Tag, als ich geboren wurde, inmitten der Armut, in der meine Wiege stand." Francisco "Pancho" Villa

    Mini-HowTo: Green Cell® UPS USV mit Nagios überwachen

    Der Status einer günstigen unterbrechungsfreien Stromversorgung (USV), in dem Fall eine (Green Cell® UPS USV Unterbrechungsfreie Stromversorgung 600VA (360W)soll mittels Nagios abgefragt werden. Das UPS Modell ist mit dem Network UPS Tools (NUT) Treiber blazer_usb kompatibel. Die USV versorgt einen Clientrechner client.lan, Nagios ist auf einem Server server.lan installiert. Unter debian bzw. seinen Ablegern lässt sich die nötige Software auf dem Clientrechner wie gehabt installieren:
    sudo apt install nut

    Irgendwelche Abhängigkeiten sollten natürlich aufgelöst werden. Danach editieren wir die Datei /etc/nut/ups.conf und fügen am Ende folgende Definition für die GreenCell UPS ein:
    [GreenCell]
            driver = "blazer_usb"
            port = "auto"
            desc = "GreenCell USV 600VA"
    Die Datei /etc/nut/nut.conf editiert man dann entsprechend dem Verwendungszweck (Standalone/Netzserver/-client)
    # Network UPS Tools: example nut.conf
    #
    ##############################################################################
    # General section
    ##############################################################################
    # The MODE determines which part of the NUT is to be started, and which
    # configuration files must be modified.
    #
    # This file try to standardize the various files being found in the field, like
    # /etc/default/nut on Debian based systems, /etc/sysconfig/ups on RedHat based
    # systems, ... Distribution's init script should source this file to see which
    # component(s) has to be started.
    #
    # The values of MODE can be:
    # - none: NUT is not configured, or use the Integrated Power Management, or use
    #   some external system to startup NUT components. So nothing is to be started.
    # - standalone: This mode address a local only configuration, with 1 UPS 
    #   protecting the local system. This implies to start the 3 NUT layers (driver,
    #   upsd and upsmon) and the matching configuration files. This mode can also
    #   address UPS redundancy.
    # - netserver: same as for the standalone configuration, but also need
    #   some more network access controls (firewall, tcp-wrappers) and possibly a
    #   specific LISTEN directive in upsd.conf.
    #   Since this MODE is opened to the network, a special care should be applied
    #   to security concerns.
    # - netclient: this mode only requires upsmon.
    #
    # IMPORTANT NOTE:
    #  This file is intended to be sourced by shell scripts.
    #  You MUST NOT use spaces around the equal sign!
    
    MODE=standalone

    Auf dem Server wird Nagios am besten aus den Quellen installiert, viele Plugins und auch das Programmpaket selber liegt meistens in recht hm... veralteten Versionen vor. Ich verweise hier mal auf ein recht aktuelles HowTo. ^^

    Sobald Nagios läuft, stricken wir uns einen Befehl zum Ansprechen der UPS zusammen und editieren dazu die Datei /usr/local/nagios/etc/objects/commands.cfg
    # UPS Check
    #
    #
    define command {
    
        command_name check_ups
        command_line    $USER1$/check_ups -H $HOSTADDRESS$ -u GreenCell
    }

    Wie man unschwer erkennen kann, bezieht sich der Befehl in der vorletzten Zeile auf das in der Datei /etc/nut/ups.conf definierte Gerät. Dieser Befehl kann nun in beliebigen Serverkonfigurationen, die Nagios überwacht, angewendet werden. Wir richten nun aber erst einmal die Nagios Konfiguration des Clients ein, der durch die USV versorgt wird und editieren dazu eine neue Datei, in dem Fall nennen wir sie einfach /usr/local/nagios/etc/servers/client.lan.cfg
    (...)
    define service {
    use                     local-service
    host_name               client.lan
    service_description     GreenCell UPS
    check_command           check_ups!-H client.lan -u GreenCell

    Ab diesem Zeitpunkt sollte der Status der UPS abgefragt werden können. Welche Werte genau abgefragt werden können ist natürlich von der jeweiligen UPS abhängig und welche Werte von Belang sind. Wie bei den meisten anderen Nagios Plugins können auch bei check_ups die möglichen Parameter durch einen Aufruf auf den Kommandozeile abgefragt werden. Hier man ein wenig Copy & Paste:
    nagiosuser@server.lan:/usr/local/nagios/libexec# ./check_ups -h
    check_ups v2.3.3 (nagios-plugins 2.3.3)
    Copyright (c) 2000 Tom Shields
    Copyright (c) 2004 Alain Richard <alain.richard@equation.fr>
    Copyright (c) 2004 Arnaud Quette <arnaud.quette@mgeups.com>
    Copyright (c) 2000-2014 Nagios Plugin Development Team
        <devel@nagios-plugins.org>
    
    This plugin tests the UPS service on the specified host. Network UPS Tools
    from www.networkupstools.org must be running for this plugin to work.
    
    Usage:
    check_ups -H host -u ups [-p port] [-v variable] [-w warn_value] [-c crit_value] [-e] [-to to_sec] [-T]
    
    Options:
     -h, --help
        Print detailed help screen
     -V, --version
        Print version information
     --extra-opts=[section][@file]
        Read options from an ini file. See
        https://www.nagios-plugins.org/doc/extra-opts.html
        for usage and examples.
     -H, --hostname=ADDRESS
        Host name, IP Address, or unix socket (must be an absolute path)
     -p, --port=INTEGER
        Port number (default: 3493)
     -u, --ups=STRING
        Name of UPS
     -T, --temperature
        Output of temperatures in Celsius
     -e, --extended-units
        Allow nonstandard units in performance data (used for voltage and temperatures)
     -v, --variable=STRING
        Valid values for STRING are LINE, TEMP, BATTLEFT, BATTPCT or LOADPCT
     -w, --warning=DOUBLE
        Response time to result in warning status (seconds)
     -c, --critical=DOUBLE
        Response time to result in critical status (seconds)
     -t, --timeout=INTEGER:
        Seconds before connection times out (default: 10)
        Optional ":" can be a state integer (0,1,2,3) or a state STRING
    
    This plugin attempts to determine the status of a UPS (Uninterruptible Power
    Supply) on a local or remote host. If the UPS is online or calibrating, the
    plugin will return an OK state. If the battery is on it will return a WARNING
    state. If the UPS is off or has a low battery the plugin will return a CRITICAL
    state.
    
    Notes:
     You may also specify a variable to check (such as temperature, utility voltage,
     battery load, etc.) as well as warning and critical thresholds for the value
     of that variable.  If the remote host has multiple UPS that are being monitored
     you will have to use the --ups option to specify which UPS to check.
    
     This plugin requires that the UPSD daemon distributed with Russell Kroll's
     Network UPS Tools be installed on the remote host. If you do not have the
     package installed on your system, you can download it from
     http://www.networkupstools.org
    
    Send email to help@nagios-plugins.org if you have questions regarding use
    of this software. To submit patches or suggest improvements, send email to
    devel@nagios-plugins.org
    

    Eine am Server abgesetzte Anfrage ergibt in unserem Fall:
    nagiosuser@server.lan:/usr/local/nagios/libexec# ./check_ups -H prusapi.lan -u GreenCell
    UPS OK - Status=Online Utility=230,0V Batt=100,0% Load=4,0% |voltage=230,000000;;;0,000000 battery=100,000000%;;;0,000000;100,000000 load=4,000000%;;;0,000000;100,000000

    Nagios verwertet diesen Schnipsel so:



    Einige Links in diesem Beitrag sind Vorschläge / Einkaufsquellen und sog. Affiliatelinks. Wenn Du etwas über diesen Link kaufst, erhalten wir eine kleine Provision. Der Preis für Dich bleibt derselbe. Vielen Dank für Deine Unterstützung.

    Some of the links are suggestions for parts to replicate the thing and affiliate. If you buy something, I get a small commission. The price you pay is the same. Thank you very much.

    ESP8266 flashen

    Foto: Make Magazin DE - Eigenes Werk, CC BY-SA 4.0, Link
    Neulich musste ich eine Reihe ESP8266-01S mit einer bestimmten Firmware flashen. Das geht am schnellsten auf der Konsole:
    sudo esptool.py --port /dev/ttyUSB0 erase_flash
    
    sudo esptool.py --port /dev/ttyUSB0 write_flash -fs 1MB -fm dout 0x0000 nodemcu_integer_0.9.6-dev_20150704.bin

    Simplify 3d Profil für AnyCubic i3 MEGA mit Titan Extruder

    Da es immer etwas frickelig ist, die richtigen Einstellungen für den Drucker herauszufinden - zumal wenn er "spezielle" Umbauten wie einen Titan Clone aus Shenzen hat - stelle ich hier mal mein Slicer Profil zur Verfügung. Das Profil ist für Simplify 3d in der aktuellen Version. Den Umbau auf einen Titan Extruder und die für Marlin notwendigen Änderungen an der Firmware habe ich ja hier schon erläutert. Inzwischen habe ich natürlich einiges kalibriert, so zum Beispiel die Fahrwege der 3 Achsen, womit die Maße der gedruckten Teile jetzt auf 0.02 mm stimmen. Bei mir lautet diese in der configuration.h so:
    #define DEFAULT_AXIS_STEPS_PER_UNIT   { 80.80, 80.40, 396.432, 453.02}
    

    Als Firmware empfehle ich momentan die von David Ramiro gepflegte Version, zu der es neuerdings auch eine mit BL-Touch Sensor Unterstützung gibt, die von David Ramiro und Marco Niedda zur Verfügung gestellt wird. Ich verwende diese, da ich mein Druckbett mit einem BL-Touch Sensor ausrichte..

    In Zusammenhang mit dem Titan Extruder sollte bei der sehr empfehlenswerten, da dadurch bedeutend leisere Betriebsgeräusche entstehen, Umrüstung auf TMC 2208 Steppertreiber folgendes in der configuration.h geändert werden:
    #define INVERT_E0_DIR true
    

    Die Kalibrierung incl. Geschwindigkeitsoptimierung habe ich entsprechend Michael Laws Anleitung für den Ender 3 durchgeführt, ich empfehle, seine G-Code Dateien einfach auszudrucken, dann spart man sich doch einiges an Fummelei mit dem Slicer.


    HINWEIS:
    Alle gemachten Angaben sind ohne Gewähr auf Funktion und Richtigkeit. Für eventuell entstehende Schäden übernehmen wir keinerlei Haftung. Sämtliche Veränderungen geschehen auf Eure Verantwortung und Gefahr.

    Irgendwie muss ich das alles finanzieren, daher sind die allermeisten Links Affiliate. D.h.: Solltet Ihr über diese Links zu einem Onlinehändler geraten und dort etwas bestellen, bekomme ich eine kleine Provision, für Euch ändert das am Preis natürlich nichts. Für die Inspirationen geht ein herzliches Dankeschön an die genannten Personen!

    Diverser Tüddelkram zu Marlin

    Noch ein kleiner Merkzettel für mich und wer es sonst noch brauchen kann, wie man jeden 3D Drucker den AnyCube i3 MEGA ein bisschen tieferlegt genauer einstellt.

    • Neben der richtigen Temperatur ist auch das Kalibrieren der Maße, die der Drucker fabriziert, wichtig. Wie man die Kalibrierergebnisse in Richtung dauerhafter Korrektur des Bettlevelings verarbeitet, verraten die Plastikjunies.

    • Zum Anschauen: Ein G29 Plotter, der die Ergebnisse einer Bettkalibrierung grafisch aufbereitet.

    • Ebenfalls wichtig ist das "PID Tuning", um konstante Temperaturen im Extruder bzw. Hotbed zu bekommen. Hier gibt es eine ausführliche Anleitung bei 3d Drucktipps. In dem Zusammenhang ist auch der Tipp von Panduin super.

    • Grundlagenarbeit: Es muss nicht gleich in 1st Layer Porn ausarten, trotzdem: Die Verbindung der 1. Drucklage zum Druckbett ist für die Haftung des Druckes entscheidend. Hier gibt es Tipps für die Einstellung mit dem Slicer Simplify3D.

    • Troubleshooting: Die Übersicht über diverse Fehler beim Drucken ist bei Simplify3D in Englisch sehr hilfreich.

    • Mit
      curl -k -H "X-Api-Key: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" -F "select=false" -F "print=false" -F "file=@[output_filepath]" "http://IPADDRESS:PORT/api/files/local" {STRIP "; postProcessing"} 
      kann direkt aus Simplify3D auf den OctoPrint Server gedruckt werden. Dabei sind natürlich der API Key statt den "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" einzufügen, ebenso die URL, unter der OctoPrint erreichbar ist. Wenn man bei "select" und / oder "print" statt "false" den Wert "true" angibt, druckt Octoprint automatisch los. Nicht ändern sollte man die Variable hinter "file" 8-)

    • Flusskontrolle: "Viele quälen sich unnötig lange durch unzählige Versuche, die richtige Einstellung für die Fördermenge (den so genannten “Flow”) ohne Extruder kalibrieren im Slicer einzustellen und stoßen dann trotzdem immer wieder auf das Problem der “over-extrusion” oder “under-extrusion”." Hier gibt es eine Schritt für Schritt Anleitung, mit deren Hilfe sich auch dieses (mögliche) Problem lösen lässt.

    • Zum auswendig Lernen: Der komplette Befehlssatz unter Marlin.

    • TBC...

    Zu meinem YouTube Kanal, mit aktuellen Drucken.

    AnyCubic i3 MEGA unter Marlin mit dem BLTouch leveln

    The better the Leveling the better the Print:
    Mal eben eine neue Ladeschale und Halterung für das Telefon ausgedruckt
    Träger: Bowden X-Carriage for AnyCubic i3 MEGA by Audisis
    Am leuchten ist der BLTouch
    Mal ein kleiner Merkzettel für mich und wer es sonst noch brauchen kann, wie man den AnyCube i3 MEGA unter Marlin mit dem BLTouch oder einem der günstigeren Kopien mittels G- und M- Befehlen die Druckdüse in einen definierten Abstand zum Druckbett bringt, auf deutsch: levelt. Eingaben sind Rot, Kommentare hinter dem Semikolon nicht eingeben. Ich habe die Ausgaben auf das Wesentliche gekürzt. Vorab: Das Z-Probe Offset bedeutet die Differenz zwischen Auslösepunkt des BL Touch und der Düsenspitze.
    Send: M851 ; Z Probe Offset anzeigen lassen
    Recv: echo:Probe Z Offset: -2.02
    Recv: ok
    [...]
    Send: M851 Z0 ; Z Probe Offset auf Null setzen
    Recv: ok
    [...]
    Send: G28 ; Nullpunkt anfahren
    [...]
    Recv: echo:busy: processing
    Recv: X:-5.00 Y:0.00 Z:0.00 E:0.00 Count X:-400 Y:0 Z:0
    Recv: ok
    [...]
    Send: G1 Z1 X110 Y110 F2000 ; In die Mitte des Druckbettes fahren
    Recv: ok
    [...]
    Send: G92 Z0 ;
    Recv: X:110.00 Y:110.00 Z:0.00 E:0.00 Count X:8800 Y:8800 Z:0
    Recv: ok
    [...]
    Send: G30 X110 Y110
    [...]
    Recv: Bed X: 110.00 Y: 110.00 Z: 2.08
    Recv: X:77.00 Y:105.00 Z:10.00 E:0.00 Count X:6160 Y:8400 Z:4000
    Recv: ok
    [...]
    Recv: ok
    [...]
    Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt. BTW: Ich empfehle als Metaller natürlich, eine Fühlerlehre, kann man auch für andere Sachen verwenden.
    Recv: ok
    [...]
    Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt.
    Recv: ok
    [...]
    Send: G1Z-0.1 ; Bis 0.05mm / ein Kassenbon zwischen Düsenspitze und Bett passt.
    [...]
    Send: G92 Z0 ; Neuer Nullpunkt an diese Stelle setzen
    Recv: X:110.00 Y:110.00 Z:0.00 E:0.00 Count X:8800 Y:8800 Z:0
    Recv: ok
    [...]
    Send: G30 X110 Y110 ; Offset ausgeben. Wert bei der 1. Z-Anzeige (hier in GRÜN angezeigt) merken
    [...]
    Recv: echo:busy: processing
    Recv: Bed X: 110.00 Y: 110.00 Z: 2.08 ; Diesen Z-Wert merken!
    Recv: X:77.00 Y:105.00 Z:10.00 E:0.00 Count X:6160 Y:8400 Z:4000
    Recv: ok
    [...]
    Send: M851 Z-2.08 ; Neues Offset eingeben mit dem eben gemerkten Z-Weŕt
    Recv: ok
    [...]
    Send: M500 ; Den Wert ins EEPROM speichern
    Recv: echo:Settings Stored (731 bytes; crc 34074)
    Recv: ok

    Am besten mal den Drucker neu starten um 100% sicher zu gehen, daß er sich die neuen Offset Werte gemerkt hat. Anschließend mache ich 2-3 Kalibrierzyklen mit G28 / G29 und speichere die Werte im EEPROM mit M500:
    Recv: Bilinear Leveling Grid:
    Recv: 0 1 2 3 4
    Recv: 0 +0.010 -0.020 -0.033 -0.020 +0.027
    Recv: 1 +0.058 +0.023 +0.015 +0.040 +0.090
    Recv: 2 +0.082 +0.040 +0.027 +0.058 +0.108
    Recv: 3 +0.082 +0.053 +0.027 +0.065 +0.095
    Recv: 4 +0.058 +0.010 -0.020 +0.003 +0.045
    Recv:
    Recv: X:164.00 Y:193.00 Z:12.06 E:0.00 Count X:13120 Y:15440 Z:4832
    Send: M140 S0
    Recv: ok
    Send: M500
    Recv: echo:Settings Stored (731 bytes; crc 9049)
    Recv: ok

    Der 2. Zyklus macht nochmal deutlich, daß mehrfache Kalibrierung nicht schadet:
    Recv: Bilinear Leveling Grid:
    Recv: 0 1 2 3 4
    Recv: 0 +0.020 -0.017 -0.030 -0.025 +0.038
    Recv: 1 +0.063 +0.038 +0.007 +0.055 +0.092
    Recv: 2 +0.098 +0.043 +0.043 +0.063 +0.118
    Recv: 3 +0.092 +0.055 +0.030 +0.075 +0.098
    Recv: 4 +0.063 +0.013 -0.017 +0.013 +0.043
    Recv:
    Recv: X:164.00 Y:193.00 Z:12.06 E:0.00 Count X:13120 Y:15440 Z:4832
    Send: M140 S0
    Recv: ok
    [...]
    Send: M500
    Recv: echo:Settings Stored (731 bytes; crc 34326)
    Recv: ok
    [...]

    Das sollte dann aber auch reichen, denn "wer viel misst, misst Mist". ;-) Ich übermittle dem Drucker dann vor jedem Druck die neuen Einstellungen, die er  dann entsprechend mit dem Druckauftrag verrechnet. Da ich immer über octoprint drucke, sieht das bei mir so aus:
    G21 ; Wir verwenden Millimeter
    G90 ; Absolute Positionierung...
    M82 ; ... auch für den Steppermotor am Extruder
    M107 ; Lüfter aus
    G28 X0 Y0 ; Referenzpunkte XY anfahren
    G28 Z0 ; Referenzfahrt auch für Z
    G1 Z15.0 F{travelspeed} Z Achse 15 mm anheben
    G92 E0 ; Extruder auf 0 setzen
    G1 F200 E3 ; Extruder soll eine 3mm lange Wurst auspressen
    G1 E0 ; und stoppen...
    G1 F{travelspeed} ;
    G28; Nullpunkte / Home anfahren
    G29; Auto Bed Levelling (ABL) anwerfen
    M500; Werte in Firmware / EEPROM speichern
    M420 S1; BLTouch aktivieren

    Es geht natürlich auch ohne octoprint, falls man direkt vom Slicer aus druckt. Auf jeden Fall sollte man sich für eine Methode entscheiden, nicht, daß nachher 2x gelevelt wird...

    HINWEIS:
    Alle gemachten Angaben sind ohne Gewähr auf Funktion und Richtigkeit. Für eventuell entstehende Schäden übernehmen wir keinerlei Haftung. Sämtliche Veränderungen geschehen auf Eure Verantwortung und Gefahr.

    Irgendwie muss ich das alles finanzieren, daher sind die allermeisten Links Affiliate. D.h.: Solltet Ihr über diese Links zu einem Onlinehändler geraten und dort etwas bestellen, bekomme ich eine kleine Provision, für Euch ändert das am Preis natürlich nichts. Für die Inspirationen geht ein herzliches Dankeschön an die genannten Personen, insbesondere an die OctoPrint Community!

    Keep on Coding Printing!

    Inoffizielles TWRP Update für OnePlus One bei verschlüsseltem Dateisystem

    Ich hatte vor einiger Zeit schon einmal von einer Lösungsmöglichkeit berichtet, wie man mit dem TWRP Recovery vom Team Win Recovery Project unter CyanogenMod auf dem OnePlus One verschlüsselte Partitionen entschlüsseln kann. Ein TWRP Bug hatte das verhindert.

    Seit dem Update auf CyanogenMod 13.x bestand das Problem erneut, auch bei dem von mir wegen seiner Fixes an der Kamera und dem Display eingesetzten Variante von Sultan.

    Zwischenzeitlich hatte ich deshalb einen 14 tägigen Ausflug zu Dirty Unicorn gewagt. Dort klappte das Entschlüsseln und auch sonst hat DU durchaus etwas, weil es so ziemlich sämtliche Verbesserungen, die alternative Betriebssysteme so mit sich bringen, unter einer Haube vereint.

    Nur eine Woche nach dem Umstieg hat jedoch der offizielle Projektentwickler für das bacon Device die weitere Arbeit an diesem Zweig beendet. Tja, das OPO hat halt auch schon 2 Jahre auf dem Buckel. Zwar gibt es auch hier inoffizielle Weiterentwicklungen wie zum Beispiel von Иван Блинов (blinoff82), allerdings hatte das Vorgehen nicht unbedingt dazu beigetragen, mein Vertrauen in Dirty Unicorn zu stärken.

    Umso erfreuter war ich deshalb, dass sich ein Entwickler des TWRP Problems angenommen hatte und noch vor der Veröffentlichung des nächsten offiziellen Releases einen Patch und ein Binary veröffentlicht hat. Dieses kann man hier herunter laden, installiert wird es wie immer:

    adb reboot bootloader

     

    Das OnePlus ist jetzt im fastboot mode. Das TWRP Image sollte bereits herunter geladen sein und im selben Verzeichnis wie adb und fastboot liegen und in twrp.img umbenannt worden sein. Jetzt nur noch:

     

    fastboot flash recovery twrp.img

    eingeben und mit

    fastboot reboot

    das Gerät neu starten.

    Eine notwendige Anmerkung: Das Anwenden dieses Tipps erfolgt vollständig auf eigene Gefahr!

    9524 hits
    Last modified on 2016-05-11 16:39

    Makrotest

    Für ansprechende Fotos von Pornopeter (RIP) und Don Juan usw. braucht man ein Makroobjektiv:
    "Makros sollten dazu gebaut sein, auch im Maßstab um 1:1 bezogen auf KB-Format eine entsprechende optische Leistung zu bringen. Konstruktiv ist es aber schwierig eine hohe Leistung über den gesamten Einstellbereich von Unendlich bis in den absoluten Makrobereich sicherzustellen. Weil viele Untersuchungen dies nicht zeigen, wurde hier nun ein Test durchgeführt speziell bei diesem Maßstab."
    Ein empfehlenswerter und ausführlicher Makrotest bei Nature Nature Plus

    Canon's Firmware Updateseite

    Bevor ich es vergesse: Hier gibt es Firmwareupdates für Canon's Spiegelreflexkameras. Einige Kameramodelle aus der Powershot Serie lassen sich bekanntlich und auf eigene Gefahr mit einem Firmwarehack aufbohren. Ältere Spiegelreflexe, wie die 300D kann man mit dem bekannten "Russenhack" aufmöbeln.