Bonjour,

Je reviens vers vous parce que j'ai commencé à explorer et coder un programme pour contrôler mon APN, mais j'ai ce soucis pour contrôler le focus.

Comme j'ai dit précédemment j'essaye de contrôler le pas mécanique du focus en mode live view. Avec EOS Utility on peut faire ça en utilisant les boutons '<<<' ou '<<' ou '<' OU les mêmes dans l'autre sens '>>>' etc.

Dans l'exemple donné par le SDK ce sont les mêmes fonctionnalités qui sont présentées. En clair on ne peut contrôler le focus que par pas (6 valeurs possibles: near3, near2, near1 OU far3, far2, far1).

L'exemple du SDK code ces fonctions par:
Code:
StoreAsync(new DriveLensCommand(_model, driveLens));
Ce qui revient, en épurant toutes les class de l'exemple fourni, a du:
Code:
EdsSendCommand(EdsCameraRef , kEdsCameraCommand_DriveLensEvf , enum EdsEvfDriveLens);
Et il est spécifié que "In EDSDKTypes.h, you can designate commands defined by enum EdsCameraCommand."
Dans l'header fourni on a donc ça:
Code:
typedef enum
{
    kEdsEvfDriveLens_Near1    = 0x00000001,
    kEdsEvfDriveLens_Near2    = 0x00000002,
    kEdsEvfDriveLens_Near3    = 0x00000003,
    kEdsEvfDriveLens_Far1    = 0x00008001,
    kEdsEvfDriveLens_Far2    = 0x00008002,
    kEdsEvfDriveLens_Far3    = 0x00008003,
} EdsEvfDriveLens ;
Je ne comprends pas très bien quelle est l'information contenue dans le paramètre "enum EdsEvfDriveLens"
Et j'ai testé un logiciel (smartshooter) qui offre exactement les mêmes possibilités, c'est à dire 6 pas pour la MAP. A se demander si faire autre chose grâce au SDK est possible...

Pour rappel ce que j'essaye de faire c'est d'obtenir une valeur absolue de la position du moteur du focus à un instant t, pour pouvoir lui dire à un instant t+1 "va à la position initiale + 5°". Pour le moment j'ai uniquement accès à une commande de déplacement relatif (mais je sais pas de combien, etc.).
Ce qui serait donc génial c'est d'avoir une sorte de getPositionLens et setPositionLens.

Quelqu'un pour me donner un coup de main svp?