Tamron Lens Control

Disclaimer

Geen affiliatie tamron-lens-control is een onafhankelijk, door de community gedreven project en is niet gelieerd aan, onderschreven door of gesponsord door Tamron Co., Ltd. "Tamron" is een handelsmerk van de respectievelijke eigenaar en wordt hier uitsluitend gebruikt om compatibele producten te identificeren.

Geen garantie tamron-lens-control is gelicenseerd onder GNU GPL v3 of later en wordt geleverd zonder enige vorm van garantie. Hoewel de maker hoopt dat het nuttig is, accepteert u bij het gebruik van deze software dat uw lens onbruikbaar kan worden ("brick"), weg kan springen, door de kamer kan schieten als een verschrikte mus, of de aarde en het zonnestelsel kan verlaten. Zie de LICENSE voor meer details.

Installatie

Bouw en installeer vanuit deze repository met een recente Rust toolchain:

cargo install --path .

Sluit de lens rechtstreeks aan via USB en bevestig vervolgens of tlc de lens kan detecteren:

tlc devices
tlc info

Wanneer er meerdere lenzen zijn aangesloten, kunt u er één selecteren via het serienummer of de poort die wordt weergegeven door tlc devices:

tlc --device SERIENUMMER info
tlc --device /dev/ttyUSB0 info

Gebruik

Elk commando maakt verbinding met de lens, voert één actie uit en verbreekt vervolgens de verbinding. Let op dat een lens mogelijk slechts een deel van deze functies ondersteunt.

Voorbeelden van commando's

Focusring-instellingen bekijken

tlc ring get

De richting van de focusring omkeren

tlc ring set direction reverse

Toewijzingen van de 'Focus Set'-knop en 'Custom Switch' bekijken

tlc button get

De Focus Preset toewijzen aan de Focus Set-knop

tlc button set focus function focus-preset

Autofocus-nauwkeurigheid fijn afstellen

tlc focus-calibration set 2

Voor beschikbare instellingen, geaccepteerde waarden en lensspecifieke vereisten kunt u tlc --help uitvoeren of --help toevoegen na elk commando.

Gebruik -v vóór het commando om elke bewerking die naar de lens wordt verzonden weer te geven, en -vv om daarnaast alle ruwe verzonden en ontvangen bytes in hexadecimaal te printen.

Back-ups

Maak een back-up van alle huidige instellingen voordat u uitgebreide wijzigingen aanbrengt:

tlc settings save mijn-lens.tlc
tlc settings load mijn-lens.tlc

Back-upbestanden kunnen alleen worden hersteld naar hetzelfde lensmodel.

Linux Driver Setup

Als de lens wel verschijnt in lsusb maar niet in tlc devices, moet Linux mogelijk worden verteld om de cp210x USB-seriële driver te gebruiken.

Eenmalige setup

Gebruik deze commando's om de driver-setup onmiddellijk te testen:

sudo modprobe cp210x
echo 2cd1 0002 | sudo tee /sys/bus/usb-serial/drivers/cp210x/new_id
echo 2cd1 0005 | sudo tee /sys/bus/usb-serial/drivers/cp210x/new_id

Sluit de lens opnieuw aan en controleer de seriële poort:

tlc devices

Als /dev/ttyUSB0 bestaat maar niet geopend kan worden, verleen dan tijdelijke toegang aan uw huidige gebruiker:

sudo setfacl -m u:"$USER":rw /dev/ttyUSB0

Permanente setup

Maak één udev-regel aan die de Tamron USB-ID's registreert en de actieve desktopgebruiker toegang verleent telkens wanneer een compatibele lens wordt aangesloten:

sudoedit /etc/udev/rules.d/70-tamron-lens.rules

Voeg de volgende regels toe:

ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", DRIVER=="", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0002", RUN+="/bin/sh -c '/sbin/modprobe cp210x && echo 2cd1 0002 > /sys/bus/usb-serial/drivers/cp210x/new_id'"
ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", DRIVER=="", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0005", RUN+="/bin/sh -c '/sbin/modprobe cp210x && echo 2cd1 0005 > /sys/bus/usb-serial/drivers/cp210x/new_id'"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0002", TAG+="uaccess"
SUBSYSTEM=="tty", ATTRS{idVendor}=="2cd1", ATTRS{idProduct}=="0005", TAG+="uaccess"

Laad de regels opnieuw, ontkoppel de lens en sluit deze vervolgens weer aan:

sudo udevadm control --reload-rules
# herverbinden
tlc devices && tlc info
getfacl /dev/ttyUSB0

Voor SSH of een headless systeem is uaccess mogelijk niet van toepassing. Controleer in dat geval de device group:

stat -c '%G' /dev/ttyUSB0

Als dit dialout rapporteert, voeg dan uw gebruiker toe aan die groep en log volledig uit:

sudo usermod -aG dialout "$USER"

Let op: lidmaatschap van deze groep verleent toegang tot elk apparaat dat eigendom is van dialout, niet alleen tot de lens.

Veiligheid en Reikwijdte

  • Houd de lens verbonden totdat een commando is voltooid.
  • Controleer een instelling met het bijbehorende get-commando voordat u deze wijzigt.
  • Gebruik settings save voordat u een andere back-up laadt of een reset uitvoert.
  • Firmware-updates voor de lens en online firmware-controles worden momenteel nog niet ondersteund (zie TODO.md).