Page 2 sur 7

Re: Questions sur l'Arduchdk

MessagePosté: Lun 01 Février 2016, 23:29
de mich2e
Désolé mais je prends un peu en cours et ne souhaite pas trop reprendre tous les messages précédents; Gilbert étant sur le coup, nul doute que tout cela est vérifié. Mais à toutes fins utiles, la commande set_zoom nécessite en général un petit délai après exécution. c'est une commande "mécanique" qui prend en général plus de temps que la ligne de script.
un sleep 500 qu'il sera opportun de réduire quand ça marchera peut - peut etre - aider - EDIT - je vois que Gilbert avait déjà détécté ;-)

du coup autre astuce que j'utilise souvent quand une commande résiste: mettre juste avant ou juste après la commande playsound 4 ou playsound 6 qui permet de faire un beep. cela permet de tracer qqes soucis, mème si on n'a pas l’œil rivé à l'écran. mais ce n'est qu'une idée.

Re: Questions sur l'Arduchdk

MessagePosté: Lun 01 Février 2016, 23:34
de Deltakap
On vient juste d'essayer cette option avec un sleep 1000, mais ça coince toujours.... bizarre tout ça.

Je suis certain qu'il y a des scripts pour S95 (avec le zoom qui fonctionne) sur le forum, mais avec la recherche en rideau, c'est la misère à retrouver, snif :)

Re: Questions sur l'Arduchdk

MessagePosté: Lun 01 Février 2016, 23:44
de Wouah
Moi j'ai un Ixus 220 HS, mais j'ai d'autres script pour S95 ou autres models qui fonctionnent bien sur mon APN.

Re: Questions sur l'Arduchdk

MessagePosté: Lun 01 Février 2016, 23:46
de Deltakap
Des scripts avec le zoom qui fonctionne sur le S95 sans planter ?

Re: Questions sur l'Arduchdk

MessagePosté: Lun 01 Février 2016, 23:53
de mich2e
je n'ai pas de script chdk avec un arduino.
peut etre quelques cut/paste du script de base de Linnar peut régler.
http://vp-systems.eu/download/cr.bas.
Ne pas hésiter non plus à tester les fonctions récalcitrantes avec un court script sans commande, avant de l'intégrer dans le script complet.
par exemple si vraiment c'est le zoom qui grince, tester d'abord untruc du genre
@title testzoom
d=3
if d>9 then d=9
if d<0 then d=0
print "zoom=", d
set_zoom d
sleep 1000
a=0
d=0
end


(... et là on regrette le SDM car on pourrait afficher en gros la valeur du zoom en équivelent 35 mm ;-)
enfin dernière simplification la fonction de zoom peut aussi etre remplacée par un click "zoom_in" ou click "zoom_out". http://chdk.wikia.com/wiki/CHDK_scripti ... n_Commands
les appareils plus récents qui ont une correction logicielle de la distortion par exemple prennent mieux en compte cette commande.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 8:46
de Wouah
Merci Michel, toutes les idées sont intéressantes...mais comme tu as vu au début du sujet, je ne suis pas spécialiste en programmation, c'est la curiosité de voir un système nouveau pour moi, qui m'a fait en arriver là...

Donc je peux essayer des scripts mais créer ou en modifier c'est une autre histoire..


Deltakap a écrit:Des scripts avec le zoom qui fonctionne sur le S95 sans planter ?



Non pas de zoom sur celui ci, mais c'est mon deuxième ixus 220hs, et j'ai utilisé sur l'ancien un script zoom (qui ne fonctionne pas sur celui d'aujourd'hui!!)....il plantait aussi mais beaucoup moins vite et je pouvais utiliser la fonction quand même en autokap....ça restait aléatoire quand même,
Les autres des scripts qui fonctionnent: ceux qui détectent (la lumière par exemple), différents intervallomètres, vidéo..

Je vais installer chdk mais pour S95 sur l'ixus ( chiche suis cap d'essayer :mrgreen: ) ou refaire l'instal pour l'ixus...j'ai peut-être une version de chdk qui n'est pas faite pour mon apn.

Merci quand même de s'être penché sur mon cas.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 9:53
de plesage
chapeau bas les mecs, je ne pense pas être le seul à ne rien comprendre mais j'admire là, la vélocité de l'échange, Gilbert est impressionant et Emmanuel, tu peux être fier de "notre" forum que tu animes avec brio.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 10:17
de Wouah
Nouvel essai: :D

J'ai essayé le script dont Michel parlait (celui de Linnar), étonnant, ça zoom sans plantage et sa déclenche....mais

le manche de droite > si je pousse 1 fois vers la droite> ça zoom d'1 cran et dès que le point est fait (1s) il déclenche automatiquement...(des fois il déclenche 2 fois sans que j'actionne le manche). si je retouche ce même manche vers la droite il re-zoom encore d'1 cran, et re déclenche après avoir fait le point etc....jusqu'au max soit environ une douzaine de zoom pour être à fond. (donc impossible de déclencher à volonter)
le manche de gauche ne fait que dézoomer, si je maintiens, ça dézoome par étape mais sans déclencher à chaque fois, si je relâche le manche à chaque étape, le zoom reste à sa place jusqu'a ce que j'actionne à nouveau mais pas de déclenchement...

Le truc maintenant serait de zoomer en mettant le manche de droite vers la droite mais sans le déclenchement automatique et déclencher à volonté avec le manche de gauche.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 11:41
de mich2e
Wouah a écrit:Merci Michel, toutes les idées sont intéressantes...mais comme tu as vu au début du sujet, je ne suis pas spécialiste en programmation, c'est la curiosité de voir un système nouveau pour moi, qui m'a fait en arriver là...

je ne suis pas non plus un spécialiste mais je pense que j'arrive maintenant à créer / modifier. car comme toi je ne connaissais rien et j'avais envie de comprendre, pour adapter à mes souhaits. L'idée est donc de t'encourager à construire de petits scripts qui te permettront de tailler le script à ton besoin. car tout repose sur le fait que
* les scripts de base sont standards
* les télécommandes de base sont standard
* les appareils aussi,
mais que quand on les met ensemble, le standard devient un peu sur mesure. et un peu plus bazar. car quand même le script de Linnar est un script à priori fait pour son camremote, système de télécommande un peu différent que tu utilises.
l'idée est donc de comprendre comment on peut adapter chaque script pour lui mettre la petite variation qui va bien sur TON bazar.
la bonne nouvelle c'est que le truc réagit, la mauvaise c'est que nous n'avons pas TA télécommande pour faire les tests. la mauvaise aussi c'est que ta télécommande semble envoyer plusieurs impulsions différentes avec un seul mouvement.
En gros le script de linnar fonctionne de la facon suivante: il attend une impulsion sur la prise usb (la commande c=get_usbpower dans la boucle permanent while...wend) et en fonction de la valeur recue il envoie à telle telle ou telle action, selon les command if c = 0 then....
donc à mon avis la première chose à faire est de reprendre ce script et de l'adapter pour juste lire les valeurs de c qui t'intéressent (ce que Gilbert avait fait dans un des scripts) cela donne quelque chose comme ca. on simplifie radicalement
Code: Tout sélectionner
@title test radio wouah - CHDK

:cr_normal
print "CR: USB/CHDK"
while 1
do
  c = get_usb_power
until c>0
print " la télécommande fait c =" c
sleep 2000
rem if c>67 then gosub "pwroff"
rem if c>58 then gosub "stop_video"
rem if c>53 then gosub "tvdn"
rem if c>48 then gosub "tvup"
rem if c>40 then gosub "avdn"
rem if c>35 then gosub "avup"
rem if c>28 then gosub "rec_video"
rem if c>21 then gosub "zout"
rem if c>13 then gosub "zin"
rem if c>8 then gosub "focusoff"
rem if c>5 then gosub "focus"
rem if c>0 then gosub "shoot"
wend
end


toutes les lignes sont inactives (le rem met la ligne en remarque, donc sans commande réelle), sauf celle qui va envoyer à l'écran la valeur reçue, quand il en reçoit une, plus une petite pause !
peux tu mettre en route le barnum, lancer ce script - que tu auras sauvegardé avec un editeur simple comme notepad++ en test.txt - , et appuyer sur les manettes avec les fonctions que tu voudrais avoir. à chaque appui, tu notes l'action(sur les manettes, telle que tu le souhaiterais, donc à priori pas celles que tu utilises pour le controle de la nacelle) et le résultat qui s'affiche à l'écran de l'apn. pour nous donner une liste qui ressemblera à ça:
manette "shoot" (par exemple manette gauche haut), valeur c =
manette "zoom + " ex man droite vers la droite, valeur c =
etc...
il y en a peut etre là dedans que tu voudras garder pour le controle de la nacelle ??? auxquels cas tu les ajoutes
ex manette "haut" ( droite haut ????) valeur c = ...
etc
il serait surementn plus simple de mettre une des manettes pour la nacelle et 'lautre pour l'apn mais tu fais comme tu veux, c'est ca l'intéret ;-)

A partir de cela on adaptera le script pour mettre les bonnes valeurs de c, qui permettront de renvoyer aux bonnes actions du script. par exemple si on constate que le shoot que tu veux faire en manette gauche haut ???) provoque une valeur c = 45, alors on modifiera le script de Linnar pour que ce soit la valeur 45 qui renvoie à la commande :shoot ....et qui finit par return pour aller attendre la prochaine impulsion.
N'hésite pas si question ou pb. sauf sur l'arduino, là c'est Gilbert ;-)

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 12:54
de Wouah
Merci Michel je fais de mon mieux pour comprendre en suivant les conseils....mais il y a des "?" que je tente de résoudre

Bon après avoir chargé ton script...voilà ce que ça donne:

Manche de gauche:

1 impulsion vers le haut retour immédiat du manche: c=29 si je refais la même action c=29 (effet souhaité= 1 déclenchement par action)
1 action vers le haut maintenue: c=29, c=30, c=28, c=29, (effet souhaité= déclenchement en "raffale")

1 impulsion vers le bas retour immédiat du manche: : rien
1 action vers le bas maintenue: rien

Manche de droite vers la droite
Effet souhaité 1 impulsion 1 zoom (environ 5 zoom pour aller au max) si le manche est maintenu le zoom va au max ou s'arrete à la focale souhaitée

1 impulsion vers la droite retour immédiat c=5 c=12
1 impulsion vers la droite retour immédiat c=20, c=4, c=12
1 impulsion vers la droite retour immédiat c=19, c=5, c=11
1 impulsion vers la droite retour immédiat c=19, c=4, c=12
1 impulsion vers la droite retour immédiat c=17, c=5, c=12

manche de droite vers la gauche
Effet souhaité 1 impulsion 1 dézoom si le manche est maintenu le zoom revient à 0 ou s'arrete à la focale souhaitée.
1 impulsion vers la gauche retour immédiat c=20, c=10, c=12
1 impulsion vers la gauche retour immédiat c=19, c=11, c=12
1 impulsion vers la gauche retour immédiat c=20, c=13, c=12
1 impulsion vers la gauche retour immédiat c=20, c=11, c=11

Je n'ai rien d'autre

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 13:36
de mich2e
Ecoute, j'y vois déjà beaucoup plus clair, mais ce n'est pas forcément bon signe ;-) petite question les manettes de ta radio ne vont pas dans les 4 directions ? seulement haut/bas à gauche et G/D à Droite ?
la bonne nouvelle c'est que les manettes droite / gauche envoie bien des signaux assez différents.
la mauvaise, c'est que la même manette, par exemple droite, envoie les mêmes signaux que l'on pousse à D ou à G. ca va pas simplifier !
Sauf à ce que Gilbert puisse nous dire si cela peut venir de la config de l'arduino. Je n'y connais rien, mais en substance l'arduino doit pouvoir rendre "clair et lisible" le signal reçu par le récepteur.
donc on devrait pouvoir avoir le déclenchement à gauche et à droite on va voir essayer de ruser. on pourrait imaginer que la valeur 28 à 30 déclenche (elle n'existe que dans la manG haut) et que la 4-5 fasse un zoom_in (on ne la retrouve que à Droite Droite - si je puis dire - et la 10 un zoom out (avec un risque qu'il ny a eu qu'une fois cette valeur et qu'elle est proche des autres. pour l'instant le burst on oublie, on y reviendra si on peut isoler une valeur unique pour un geste particulier (on verra avec 30 ?? )
cela donnerait:
si 28 ou 29, shoot
si 30 pour l'instant rien mais c'est pour pas oublier,
si 4 ou 5 zoom in
si 11 ou 12 zoom out
si 10 pour pas oublier zoom à 0. mais je suis pas sur que très utile on y reviendra.
je te prépare un truc dans ce sens.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 13:57
de mich2e
Voilà une simplification du script de base pour 1. limiter aux seules valeurs que l'on a à priori isolées, 2. aux seules fonctions qui nous sont utiles....pour le moment.
tu devrais pouvoir donc essayer cela

Code: Tout sélectionner
@title CR simplifie wouah-CHDK
rem by
rem 02 02 2016

:attente_radio
print " demarrage, attente radio "
while 1
do
  c = get_usb_power
until c>0
if c = 28 or c = 29 then gosub "shoot"
if c = 30 then print "on n'oublie pas ;-)" 
if c = 11 or c = 12 then gosub "zout"
if c = 4 or c = 5 then gosub "zin"
wend
end

:shoot
print c;":shoot"
c=0
shoot
sleep 1000
cls
return

:zin
print c;":zoom en avant"
c=0
click "zoom_in"
sleep 1000
return

:zout
print c;" zoom arriere "
c=0
click "zoom_out"
sleep 1000
return
 


petit point de pédagogie: il existe un très bon outil fait par Dave Mitchell qui permet de tester le microbasic chdk sur le pc http://www.zenoshrdlu.com/kapstuff/zubdb.html
Evidemment il ne peut pas simuler la radio. alors il faut executer le script dans le simulateur en saisissant manuellement les valeurs de c dans la deuxième fenetre. ce n'est pas très glamour. mais bien plus facile que de modifier 10 fois pour une lettre oubliée ou que sais-je.
on essaie ?

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 14:27
de Wouah
mich2e a écrit: petite question les manettes de ta radio ne vont pas dans les 4 directions ? seulement haut/bas à gauche et G/D à Droite ?


Non, des 2 cotés j'ai D/G et H/B mais j' ai des ressorts que sur celles indiquées plus haut. Donc à gauche (vertical) à droite (horizontal) ...mais j'ai fais aussi l'essai en montant tout du même coté et ça fonctionne aussi,

Je viens de faire un autre essai avec ton dernier script...

-ça déclenche avec la manette de gauche
-manette de droite: Quand je fais une impulsion à droite (ou à gauche il fait la même chose)...il zoom+, zoom-, zoom+, zoom-, et attend la prochaine commande

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 14:45
de mich2e
-ça déclenche avec la manette de gauche

donc ca ca va ?
manette de droite: Quand je fais une impulsion à droite (ou à gauche il fait la même chose)...il zoom+, zoom-, zoom+, zoom-, et attend la prochaine commande

donc ca ca va pas !
en meme temps c'est un peu normal, j'ai pas fait ce qu'il fallait ! j'ai pris les valeurs communes aux deux mouvements, et pas celle spécifique ! C'etait pour voir qui suivait !
donc le manche vers la droite fait un c à 4 ou 5 donc il devrait bien zoomer in
mais la seule spécifique à gauche semble etre le 10, ou le 13
donc tu vas modifier le script en remplacant
if c = 11 or c = 12 then gosub "zout"
par
if c = 10 then gosub "zout"
cela devrait neutraliser les 11 et 12 qui sortent de tous les cotés.
...edit...
... et vérifier en faisant les tests que JAMAIS la valeur c=10 vient quand tu fais manche droite à droite

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 17:05
de Wouah
Manette de gauche: rien de changé,

Manette de droite:

impulsion à droite = zoom+, zoom+ (il y a 5 d'indiqué à chaque fois qu'il zoom

impulsion à gauche....idem mais il y a d'indiqué 4 à chaque fois qu'il zoom

une fois au zoom max, impossible de faire un seul zoom-, mais toujours possible de déclencher.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 18:13
de André
plesage a écrit:chapeau bas les mecs, je ne pense pas être le seul à ne rien comprendre mais j'admire là, la vélocité de l'échange, Gilbert est impressionant et Emmanuel, tu peux être fier de "notre" forum que tu animes avec brio.

+1
Y a même des moments où je me demandais si j'étais bien sur le forum francophone, parce que pour moi, tout ça, c'est du chinois...
... ce qui me rend encore plus admiratif :shock:
Impressionnant, effectivement !

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 18:31
de fly87
et voilà, pareil pour moi, on s'absente un mois et on comprend plus rien... :lol:

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 18:50
de Alankap
fly87
et voilà, pareil pour moi, on s'absente un mois et on comprend plus rien... :lol:


. . . que je te rassure je ne me suis pas absenté et pourtant je ne comprend rien . . .une autre langue surement. . . :mrgreen:

En tout cas cela m'impressionne !

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 20:18
de mich2e
Manette de droite:

impulsion à droite = zoom+, zoom+ (il y a 5 d'indiqué à chaque fois qu'il zoom

veux tu dire qu'il zoome plusieurs fois avec une seule impulsion ?

impulsion à gauche....idem mais il y a d'indiqué 4 à chaque fois qu'il zoom


Bizarre, voilà que la gauche se met à faire des 4 aussi ! dans tes relevés c'"était vers la droite, avec les 5 non ? donc on va tenter de les séparer !
peut on dire que tous les 4 sont pour le manche vers la gauche et tous les 5 vers la droite ? si oui c'est bon signe
on remplace (de facon à ne detecter que les 4 pour dezoomer)
if c = 4 or c = 5 then gosub "zin" par
if c = 4 then gosub "zout"
et on remplace (pour ne capter que les 5 à droite pour zoomer).
if c= 10 then gosub "zout" par
if c = 5 then gosub "zin"

si il y a plusieurs actions avec une seule impulsion, on va essayer de mettre un peu de largetto.
on remplace tous les sleep 1000 par des sleep 2000, cela ralentira les boucles d'action.

Ce qu'il faut vérifier c'est que des mouvements différents ( à G / à D) ne génèrent pas la même action (le même chiffre/impulsion) car si c'est le cas, je repasserai la main à Gilbert, ca dépasse mon cas, il faut faire le tri dans ce qui est envoyé via l'arduino.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 22:11
de Wouah
Bon j'ai fais les modifs et après les nouveau test:

manette gauche déclenchement = (OK)

manette droite la modif des 1000 en 2000 donne un délais plus long entre les 2 zoom

1 impulsion à droite = zoom+, zoom+ 5,5
1 impulsion à droite= zoom+, zoom+ 5,5
1 impulsion à droite= zoom+, zoom - 5,4
1 impulsion à droite = zoom+ 5
1 impulsion à droite = zoom+,zoom+ 5,5

1 impulsion à gauche= zoom -, zoom - 4,4
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom - 4,4
1 impulsion à gauche= zoom -, zoom + 4,5

Si les impulsions à droite sont satisfaisantes (malgré le doublé du zoom) les impulsions à gauche donne un résultat aléatoire il y a plus de + que de -

au finalp le zoom arrive toujours a sa focale max sans possibilité de le faire revenir à "0".

Me v'là bien!

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 22:51
de mich2e
oserais-je avouer mon embarras ? je ne saisis pas pourquoi des mouvements différents donnent des impulsions identiques. et surtout pourquoi il envoie 2 impulsions en meme temps

* On pourra toujours ramener le zoom à 0 à la fin par exemple avec une commande qui fait si zoom au max, alors zoom mini. il faut juste pour cela déterminer le nombre de position de ton zoom et la position max. on peut faire cela avec un script simple.
* mais ce n'est pas très satisfaisant. il vaudrait mieux que l'on puisse déterminer avec certitude quel levier a été activé.
est ce que j'ai bien compris en traduisant que l'allongement de la pause de 1000 à 2000 a eu pour effet de remplacer 3 coups de zoom par mouvement de levier à 2 ?
je prépare une modif dans ce sens

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 23:19
de mich2e
voici la nouvelle version à tester.
j'ai neutralisé le shoot, ca ne sert plus à grand chose pour l'instant,
remis un affichage pour toutes les valeurs qui ne donnent pas lieu à action, changé la commande de zoom pour qqe chose de plus soft, rallongé le délai pour voir si effet. j'ai aussi ajouté un paramètre à la commande get_usb qui semble avoir évolué dnas les dernières versions.
Code: Tout sélectionner
@title CR simplifie wouah-CHDK
rem by
rem 02 02 2016

:attente_radio
print " demarrage, attente radio "
while 1
do
  c = get_usb_power 0
until c>0
if c = 28 or c = 29 then gosub "shoot"
if c = 30 then print "on n'oublie pas ;-)"
if c = 5 then gosub "zin"
if c = 4 then gosub "zout"
if c > 0 and c <> 4 and c <> 5 and c<> 28 and c<>29  then print " autre valeur = ", c
if c > 0 then c = 0
wend
end

:shoot
print c;":shoot"
rem shoot
sleep 5000
c=0
cls
return

:zin
c=0
print c;":zoom en avant"
rem click "zoom_in"
set_zoom_rel 1
sleep 5000
cls
return

:zout
c=0
print c;" zoom arriere "
rem click "zoom_out"
set_zoom_rel -1
sleep 5000
cls
return


je prépare un script pour connaitre le max du zoom.

Re: Questions sur l'Arduchdk

MessagePosté: Mar 02 Février 2016, 23:34
de mich2e
petit script pour tester le zoom
Code: Tout sélectionner
@title zoom
set_zoom 0
for i = 1 to 14
set_zoom i
sleep 500
print " zoom step :", i
i = i +1
next i
print "on essaie plus"
set_zoom 30
sleep 500
print " zoom step : 30"
print "on essaie plus"
set_zoom 60
sleep 500
print " zoom step : 60"
end


il n'y a pas besoin de brancher l'usb, juste de lancer le script: l'appareil va zoomer une quinzaine de fois, puis ensuite à des valeurs plus élevées pour vérifier s'il a 16 ou 128 pas de zoom. jette un oeil sur les valeur indiquées à l'écran quand il change effectivment de focale.
;-) la future version de SDM devrait indiquer pour chaque appareil le nombre de pas de zoom et la valeur correspondante en equiv.35 mm

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 9:02
de Wouah
Bonjour Michel,

test script 1
Plantage complet après 2 ou 3 zoom valeurs indiquées: 8, 11,18 puis plantage complet zoom ouvert. (ça faisait longtemps que l'on avait pas vu ce plantage!)


Script test zoom le dernier donc
Plantage complet dès le 1er zoom sans affichage de valeur.

Pour infos le passage des "sleep" de 1000 à 2000 allongeait seulement le délais entre les 2 zooms (il y avait seulement 2 zoom, non 3)

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 9:57
de mich2e
Ecoute ! je perds un peu mon latin, car autant, je ne peux pas tester le premier, faute de radio, autant le 2nd passe sans souci ici, sur le s100. et je ne pense pas que ce soit des valeurs de zoom différentes qui expliquent cela. Mais à distance et à l'aveugle, ...ca ne saute pas aux yeux !
lors du crash, as tu un message sur la première ligne de l'écran, genre parse error xx ?
bon on va tester autre chose.
avec ce teste la commande de shoot, simule et efface l'écran,
si l'impulsion reçue est 5, il zoom en avant, t'affiche la valeur du zoom, et la compare avec la précédente. si elle ne change plus c'est qu'on est au max. donc on devrait pouvoir au moins connaitre la valeur max. A ce moment il devrait remettre à 0 le zoom.
essaie donc de faire plusieurs zooms in pour voir jusqu'au ca va.
si l'impulsion recue est 4 il de-zoome et ne mesure rien.
dasn tous les autres cas il t'affiche la valeur envoyée par la commande mais ne fait rien d'autre.
en espérant qu'il n'y a pas de typo ! croisons les doigts.
edit je ne vois pas le fichier joint donc je copie
Code: Tout sélectionner
@title CR simplifie wouah-CHDK
rem by
rem 02 02 2016

:attente_radio
print " demarrage, attente radio "
while 1
do
  c = get_usb_power 0
until c>0
if c = 28 or c = 29 then gosub "shoot"
rem if c = 30 then print "on n'oublie pas ;-)"
if c = 5 then gosub "zin"
if c = 4 then gosub "zout"
if c > 0 and c <> 4 and c <> 5 and c<> 28 and c<>29  then
   print "pas d'action"
   print " car autre valeur = ", c
   print " "
endif
if c > 0 then c = 0
wend
end

:shoot
print c;":shoot"
rem shoot
sleep 5000
c=0
cls
return

:zin
c=0
print c;":zoom en avant"
click "zoom_in"
sleep 1000
z = get_zoom
sleep 500
print "la valeur du zoom est" ,z
sleep 1000
if z = l then
   print "on est au max donc on revient"
   set_zoom 0
   sleep 500
   z = get_zoom
   sleep 2000
endif
l = z
return

:zout
c=0
print c;" zoom arriere "
rem click "zoom_out"
set_zoom_rel -1
sleep 5000
return

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 10:29
de Wouah
Résultats:

dès que je bouge voilà ce que ça indique après 1er zoom

0 zoom avant
la valeur du zoom est 2
pas d'action car la valeur=12

nouvelle impulsion

ça zoom
pas d'action car la valeur est 20

Plantage immédiat

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 10:42
de mich2e
Mince j'avais oublié les plantages précédents, j'ai une mémoire de poisson rouge. Et y en a pas un pour me rappeler ;-)
peux tu mettre tous les sleep qui suivent immédiatement une commande click zoom à 3000 ?
https://www.dropbox.com/s/jl5p2i8wimkf827/test3.txt?dl=0

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 10:57
de Wouah
Allumage de l'apn >il zoom 1 fois sans toucher à la radio (radio ouverte ou pas)

ensuite

1 impulsion = zoom+
1 impulsion = zoom+
1 impulsion = zoom+
1 impulsion = zoom - plantage immédiat

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 10:58
de Wouah
J'ai essayé aussi avec mon autre radio qui à un potard à la place du manche...c'est exactement la même chose :(

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 11:14
de mich2e
Allumage de l'apn >il zoom 1 fois sans toucher à la radio (radio ouverte ou pas)

Ecoute, je suis en limite de compétence. car si l'appareil zoome avant que la radio soit allumée, c'est qu'il y a un signal sur l'usb avant que la radio ne le donne. Les valeurs affichées ne sont peut etre pas celle de la radio (ou alors tu as des modelistes dans la rue !)

ensuite
1 impulsion = zoom+
1 impulsion = zoom+
1 impulsion = zoom+
1 impulsion = zoom - plantage immédiat

la dernière impulsion était elle dans le meme sens ? c'est à dire sauf erreur vers la D (impulsion "5").

Ecoute je simplifie encore le script pour n'avoir que le "5". Mais après je jette l'éponge. car autant je peux essayer de traquer des problèmes de scripts, autant les histoires de signaux recus sur l'usb, je décroche. Gilbert te racontera mieux que moi :?:
https://www.dropbox.com/s/jl5p2i8wimkf827/test3.txt?dl=0

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 11:49
de Wouah
Dernier script:

Il zoom mais parfois il le fait tout seul, et impossible de dézoomer
toujours 1 zoom+ en appuyant sur le déclencheur pour lancer le script (radio allumée ou éteinte)

ensuite il y a d'indiqué à l'écran:

attente de la radio
ou
U basic 15 parses err

je n'arrive pas à zoomer à fond

1 impulsion = zoom+
1 impulsion = zoom+
1 impulsion+ rien
1 zoom+ tout seul
1 impulsion rien

Zoom final 30% environ sans possibilité de revenir!

Est-ce le programme arduino, le script chdk, l'apn qui a décidé de ne pas bosser comme il faut????

En tout cas, un grand MERCI à vous deux, pour vos compétences, et votre disponibilité...ce projet était dans un carton, mais je me doutais que ce n'était pas gagné....encore MERCI et bon vol :wink:

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:06
de Deltakap
Un peu pas trop disponible hier, me revoilou ;)

Je n'ai pas encore tout lu, mais il semble que
- le click "zoom_in"/click "zoom_out" règle le problème de zoom qui plantait. (enfin, règle en partie, parce que script arduino actuel envoie une valeur de zoom et pas un zoom+/zoom-)
- Michel a essayé d'adapter le script chdk du camremote (et là, il a du mérite, parce que le script actuel de l'arduino rend la chose quasi impossible au moins pour la partie zoom :(

Le principe retenu par l'auteur des scripts arduino et chdk est:
- un canal de la radiocommande va lancer un shoot.. pour ça, l'arduino détecte si la manette correspondant à ce canal est poussée d'un coté (et un seul). L'arduino envoie alors une impulsion de 300ms que le script chdk du camremote pourrait détecter en ajustant ses valeurs. Mais.....
- Pour le zoom, c'est une autre affaire :(
Le principe retenu est d'envoyer un code, une séquence complète, composé d'une impulsion de "start" de 200ms, suivie de x puls de 50ms (x étant la valeur du zoom) puis un bit de stop de 120ms.
Bref, le script du camremote pourrait bien sur détecter ces puls de 200, 50 et 120ms.... mais il faut un mini traitement pour en extraire la valeur du zoom. (et, sans set_zoom qui fonctionne... ça perd cruellement de son intérêt)

Pour utiliser le script du camremote en ayant juste les valeurs à ajuster, il faudrait (à minima) changer le script de l'arduino (actuellement, pour le zoom, les deux scripts ne peuvent pas se comprendre directement)

Je reviens, parce qu'il va y avoir des choix à faire ;)

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:14
de Wouah
Youpi!!!

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:24
de Deltakap
(la suite...)

Michel, la seule chose que tu peux faire, c'est détecter un puls de 300ms pour le shoot et un puls de 200ms pour actionner le zoom
Dans le script original, pour le shoot, c'est fait par le: if a>24
Pour le zoom, c'est fait par un if a>15 (et donc inférieur à 24) -> il faudrait lui associer un zoom+

Au niveau pratique, ça va être un peu bizarre, puisque une action quelconque sur la manette de zoom, va augmenter le zoom (impossible de le faire redescendre avec la manette, seul un compteur dans le script chdk peut ramener le zoom à zéro, sauf que encore une fois, sans set_zoom qui fonctionne... c'est chaud :(

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:28
de mich2e
Il est normal dans le denier script de ne pas dezoomer puisque toutes les autres fonctions que zoom_in ont été désactivées. c'était pour essayer de trouver l'erreur. il semble d'ailleurs que les sleep permettent d'éviter les mouvements multiples. dont nous comprenons, grace à l'intervention de Gilbert d'ou elles viennent.
en revanche il n'est pas normal qu'il y ait une erreur de syntaxe (un double "and" qui traine en ligne 15), je tire les oreilles immédiatement au rédacteur.

pour ta question, je répondrais pas grand chose puisque Gilbert entre temps a éclairé les pb des détections d'impulsion problématiques. je vais la lire et en déduire le peu que je peux comprendre.

A gilbert, je ne suis pas sur que la commande set_zoom ne marche pas.

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:37
de mich2e
Zut j'ai raté la fin du message de Gilbert.
pour le retour au début du zoom, c'est le sens que j'ai donné au script sur la détection de c = 5,
car si j'en crois les résultats affichés lors des tests de détection, on a bien ?

1 impulsion vers la droite retour immédiat c=5 c=12
1 impulsion vers la droite retour immédiat c=20, c=4, c=12
1 impulsion vers la droite retour immédiat c=19, c=5, c=11
1 impulsion vers la droite retour immédiat c=19, c=4, c=12
1 impulsion vers la droite retour immédiat c=17, c=5, c=12

manche de droite vers la gauche
Effet souhaité 1 impulsion 1 dézoom si le manche est maintenu le zoom revient à 0 ou s'arrete à la focale souhaitée.
1 impulsion vers la gauche retour immédiat c=20, c=10, c=12
1 impulsion vers la gauche retour immédiat c=19, c=11, c=12
1 impulsion vers la gauche retour immédiat c=20, c=13, c=12
1 impulsion vers la gauche retour immédiat c=20, c=11, c=11


il semble que l'on retrouve tes 200, puis 50 ou 100 selon la manette, puis les 120. soit environ la valeur c affichée * 10
donc le seul différenciateur est le 5 à D et le 10 à G, mais qui s'est avéré faux par la suite. puisque les résultats rapportés ont été
1 impulsion à droite = zoom+, zoom+ 5,5
1 impulsion à droite= zoom+, zoom+ 5,5
1 impulsion à droite= zoom+, zoom - 5,4
1 impulsion à droite = zoom+ 5
1 impulsion à droite = zoom+,zoom+ 5,5

1 impulsion à gauche= zoom -, zoom - 4,4
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom + 4,5
1 impulsion à gauche= zoom -, zoom - 4,4
1 impulsion à gauche= zoom -, zoom + 4,5


Il faut donc améliorer la fiabilité de la détection.

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 12:46
de mich2e
Gilbert,
on oublie le shoot pour l'instant, il marche et ne devrait pas compliquer trop.
pour le zoom, quelle est la durée entre l'impulsion de départ (les 200) et celle fixant la valeur du zoom ?
serait il envisageable de demander au script de détecter la première - sans rien faire d'autre que - d'envoyer alors vers une seconde boucle de détection, et là sélectionner zoom+ zomm- en fonction de la seconde impulsion seulement, et trainer un peu pour que la troisième ne vienne perturber cela ?

je pense à un script sur cette base
https://www.dropbox.com/s/nssz35ngso6npvu/testTEL_5.txt?dl=0
qui pour l'instant ne fait qu'afficher.
en faisant varier la variable t, on peut peut etre ajuster de facon à ne détecter en d que la deuxième commande, spécifique ?

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 13:23
de Deltakap
Pour le zoom, le principe du script arduino est d'envoyer une première impulsion (start de 200ms) puis un certain nombre d'impulsions qui correspondent à la valeur du zoom (par exemple 4 impulsions correspondent à zoom=4), et enfin une impulsion de stop (de 120ms) pour dire que la séquence est finie (et qu'il n'y aura pas d'autres puls de 50ms... donc si on a compté 4 impulsions, on fait un set_zoom 4 (bon, en fait un set_zoom 3, puisque 1 impulsion détectée correspond à un set_zoom 0, mais bon)

Ce système de zoom permet d'utiliser un potar sur l'émetteur et d'avoir une proportionnalité entre la position du potar et la valeur du zoom. (c'est pas du zoom+/zoom- comme dans le script du camremote)
Et tout irait bien si le set_zoom ne plantait pas !

Pour l'instant, je ne vois que 2 solutions:
- soit on trouve pourquoi le set_zoom plante et on peut garder le système de potar du script d'origine
- soit on ne trouve pas et il faut modifier le script arduino (c'est pas méchant) pour faire du zoom+/zoom- avec le script chdk du camremote

Eventuellement, il pourrait y avoir une autre soluce (pour garder le réglage proportionnel par potar) si le get_zoom fonctionne, mais on n'a pas encore testé ce get_zoom.

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 13:27
de mich2e
excuse moi, comme dirait l'autre, si j'ai pas compris la réponse c'est que la question n'était pas claire ;-)
comment le chdk détecte la valeur qui lui est envoyée ? et comment sait il qu'on lui en met 2,3,4 ou 5 des positions de zoom ?

Re: Questions sur l'Arduchdk

MessagePosté: Mer 03 Février 2016, 13:38
de Deltakap
Le script chdk d'origine compte les impulsions entre start et stop et fait un set_zoom avec cette valeur (-1)