Closed metal3d closed 7 years ago
A few tips:
If still not working: What is the device of your mounted camera?
Best, Andras
My K-500 been recognised by GTK version without any problem, but I could not set shutter speed, nor ISO. Only aperture was possible to set. However focusing and taking photo works (shooter speed is always around 10 sec), but still its unclear how to save this photo onto computer.
@amikot
What exposure mode do you use? You should use M mode if you want to change both aperture and shutter speed. (ISO setting might not work even in M mode).
Can you see the image in the thumbnails or in the preview after taking the photo?
Of course I'm using M mode. Yes, I can take picture and I see thumbnail on right side - of course if somehow I will get right exposure (I need to make it in dark room as ISO is not possible to adjust and shutter speed is always around 10 sec).
Problem is not in this that program don't let me to change ISO and shutter speed. I can adjust values in program, but it looks that these settings are not applied to camera - camera display show always the same: Shutter Speed 9999s and ISO is always 100
Added: I made some more tests and now I can confirm what does work:
and what doesn't work:
When setting aperture, camera screen is not flashing as when doing other adjustments. When setting tone, file format, mode, resolution, quality and all these that doesn't work, camera screen flashes once.
Here is Status+HEX - IMHO a bit strange:
pktriggercord-cli --status_hex
pktriggercord-cli: K-500 Connected...
0x0000 | 00 00 00 02 00 00 00 00 02 00 02 00 80 80 00 01
0x0010 | 00 00 00 00 00 00 00 03 00 00 00 1d 00 00 00 03
0x0020 | 00 00 00 0f 00 00 00 02 00 00 00 00 00 00 00 00
0x0030 | 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 2d
0x0040 | 00 00 00 0a 00 00 00 00 00 00 00 0a 00 00 00 00
0x0050 | 00 00 00 03 00 00 00 0a 00 00 00 00 00 00 00 00
0x0060 | 00 00 00 00 00 00 00 00 00 00 19 00 00 00 00 64
0x0070 | 00 00 0c 80 00 00 00 00 00 00 00 07 00 00 00 07
0x0080 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
0x0090 | 00 00 00 01 00 00 00 04 00 00 00 05 00 00 00 05
0x00a0 | 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00
0x00b0 | 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00
0x00c0 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
0x00d0 | 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01
0x00e0 | 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
0x00f0 | 00 00 00 01 00 00 00 00 00 00 13 88 00 00 00 04
0x0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0110 | 00 00 00 00 00 00 00 2d 00 00 00 0a 00 00 00 00
0x0120 | 00 00 00 0a 00 00 00 00 00 00 00 0a 00 00 00 00
0x0130 | 00 00 00 00 00 00 00 64 00 00 00 00 00 00 00 20
0x0140 | 00 00 00 00 00 00 00 2d 00 00 00 0a 00 00 01 40
0x0150 | 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 50
0x0160 | 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 02 50
0x0170 | 00 00 03 38 00 00 02 e9 00 00 00 00 00 00 00 00
0x0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190 | 00 00 00 87 00 00 00 00 00 00 00 00 00 00 00 de
0x01a0 | 00 00 10 9a 00 00 00 64 ff ff ff f6 ff ff ff d8
0x01b0 | 00 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 3f
0x01c0 | 00 00 00 00
current iso : 100
current shutter speed : 0/0
camera max shutter speed : 1/6000
current aperture : 4.5
lens max aperture : 32.0
lens min aperture : 4.5
set shutter speed : 0/0
set aperture : 4.5
fixed iso : 6400
auto iso : 100-3200
jpeg quality : 3
jpeg resolution : 16M
jpeg image tone : Bright
jpeg saturation : 4
jpeg contrast : 5
jpeg sharpness : 5
jpeg hue : 4
zoom : 42.50 mm
focus : 0
color space : sRGB
image format : RAW
raw format : DNG
light meter flags : 32
ec : 0.00
custom ev steps : 1/3
custom sensitivity steps : 0
exposure mode : 6
scene mode : NONE
user mode flag : 2
ae metering mode : Multi
af mode : AF.S
af point select : Auto-5
selected af point : 0
focused af point : 0
drive mode : Single
auto bracket mode : off
auto bracket picture count : 0
auto bracket picture counter : 0
auto bracket ev : 0.30
shake reduction : on
white balance mode : Auto
white balance adjust : 0
flash mode : Manual
flash exposure compensation : 0.00
manual mode ev : 8.00
lens : smc PENTAX-DA L 18-55mm F3.5-5.6
battery : 8.24V 7.44V 0.00V 0.00V
buffer mask : 0000000000000011
Ok the problem was that I need to launch it via sudo... The preview is very slow BTW, but it seems to work.
I'm now only sad that libgphoto2 doesn't support my K-500 to work with Darktable... but that's another project ;)
I let you close the issue if @amikot problem is resolved too
BTW - I also have problems to setup some options, as @amikot
@amikot Thanks for the intensive testing.
About the issues:
-Green and AE lock does not really work on some models.
-ISO changing is not working in M mode (I've tried several ways using my K-x but it was never working)
-Only K-x and K-70 models support --setting.
Current shutter speed 0/0 looks really strange in your debug info. Could you attach the same output twice (in M mode). Once after you set shutter to 1/100 and once after you set to 1/1000. I'll try to locate the field in the hex.
@asalamon74: Thanks for answer, and your will to do anything for users of Pentax cameras :)
Green and AE Lock is not essential, but ISO and shutter speed would be really good to be able to set.
I just tested this again and just realized that ISO range is wrong for my camera. It should be 100-51200 but its 100-6400 - maybe it is the reason why its not working (Its not working in all modes, not only in M). Other thing that is not working is Exposure Correction - changing it does not change anything on camera - so exactly the same as ISO and shutter speed.
Below are listings of debug after setting shutter to 1/100 and 1/1000.
shutter->1/100
[C] pslr_set_shutter(1 64)
[C] ipslr_handle_command_x18(0x16, 2)
[C] ipslr_cmd_00_09(0x1)
[C] _ipslr_write_args(cmd_2 = 0x0, {0x1})
[S] >>> [F0 4F 00 00 04 00 00 00]
[S] >>> [00 00 00 01]
[C] command(fd=b, 0, 9, 4)
[S] >>> [F0 24 00 09 04 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
[C] _ipslr_write_args(cmd_2 = 0x0, {0x1, 0x64})
[S] >>> [F0 4F 00 00 08 00 00 00]
[S] >>> [00 00 00 01 00 00 00 64]
[C] command(fd=b, 18, 16, 8)
[S] >>> [F0 24 18 16 08 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
[C] ipslr_cmd_00_09(0x2)
[C] _ipslr_write_args(cmd_2 = 0x0, {0x2})
[S] >>> [F0 4F 00 00 04 00 00 00]
[S] >>> [00 00 00 02]
[C] command(fd=b, 0, 9, 4)
[S] >>> [F0 24 00 09 04 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
shutter->1/1000
[C] pslr_set_shutter(1 3e8)
[C] ipslr_handle_command_x18(0x16, 2)
[C] ipslr_cmd_00_09(0x1)
[C] _ipslr_write_args(cmd_2 = 0x0, {0x1})
[S] >>> [F0 4F 00 00 04 00 00 00]
[S] >>> [00 00 00 01]
[C] command(fd=b, 0, 9, 4)
[S] >>> [F0 24 00 09 04 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
[C] _ipslr_write_args(cmd_2 = 0x0, {0x1, 0x3E8})
[S] >>> [F0 4F 00 00 08 00 00 00]
[S] >>> [00 00 00 01 00 00 03 E8]
[C] command(fd=b, 18, 16, 8)
[S] >>> [F0 24 18 16 08 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
[C] ipslr_cmd_00_09(0x2)
[C] _ipslr_write_args(cmd_2 = 0x0, {0x2})
[S] >>> [F0 4F 00 00 04 00 00 00]
[S] >>> [00 00 00 02]
[C] command(fd=b, 0, 9, 4)
[S] >>> [F0 24 00 09 04 00 00 00]
[C] get_status(0xb)
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 01]
[R] => ERROR: 0x01
[S] >>> [F0 26 00 00 00 00 00 00]
[S] <<< [00 00 00 00 00 00 00 00]
[R] => ERROR: 0x00
@amikot Which version do you use? I've already fixed an ISO range bug similar to yours.
@asalamon74: It is version compiled from github few days ago.
:~$ pktriggercord-cli --version
pktriggercord-cli 0.84.05
@amikot I've fixed the ISO range bug, now it should show you the range 100-51200. To tell you the truth, I don't really think it will make ISO changing possible.
To debug you sent me looks OK, it seems to me the camera just ignores the command. Could you please manually set the camera to 1/100 (in M mode) and attach the output of pktriggercord-cli --status_hex --debug . And the same for 1/1000.
After doing first of tests that you asked for, changing shutter speed started to work, but aperture stopped, but with next try, everything except ISO was working.
I made some more tests and found out that: If I will plug cable into the camera first, and launch pktriggercord and than I will switch the camera on (as I was doing always), I will get 0 shutter speed error, and shutter speed will be locked locked. But If I will switch the camera on first and than I plug it to the computer, than everything will work as should.
For now problem is solved (except ISO and EV), so I abandoned posting debug results.
I noticed few minor things that seems to be wrong:
BTW. I saw on their page that Gphoto2 uses pktriggercord routines, but it still not working for me. When trying to take photo witg gphoto2 - getting error that its not supported by camera. That's small off topic.
@amikot
@asalamon74 I still didn't get this version where you fixed ISO range. So Its probably fixed - maybe no need to do any other tests. Strange GUI I saw only once - when was doing tests last time - Selectors of resolution, quality and image tone - these were very wide, and all labels were tripled. So there was for example as quality instead of . I cant provide screenshot of this - I don't know how to reproduce this error (?).
Slider itself is not bad - there is problem, that you sending command directly to camera just after slider change. Did you considered possibility to add "Apply" button somewhere to settings window that would send all changes to camera ? Than you could not send commands to camera directly after any change. As camera connection is a bit slow - that solution would reduce not necessary "talks" with camera.
I don't know to much about gphoto2, I just wish to use my pentax camera in tethering more with Darktable, and Darktable uses gphoto2 for that.
@amikot
I've created a tips and tricks file which lists your connection order trick.
Strange GUI: Probably something went wrong during camera-specific initialization. It is quite difficult to debug it if it's not possible to reproduce it. I've cleaned up the GTK code a bit.
The program continuously reads status info from the camera and updates the controls. Users can send changes to the camera using the exact same controls. That is the root of the problem. Using an apply button would not help here. If you change the ISO but don't send the ISO-change request to the camera, the GUI component will be updated in the next cycle before you can press the apply button.
@asalamon74 Its really good idea to make tips and tricks list. Strange GUI never happened again, so it was minor thing. I understand how it works, but I just don't understand why you prefer to updates continuously instead of "on demand". Finally it doesn't matter - because gui version is more like feature test program. Cli version is more useful. Can be used as script command - for example in timelapse script - where number of photos would excess size of SD card.
@amikot I close this issue because the K-500 specific problems are (more or less) fixed.
To tell you the truth also also like the command line interface better than the GUI.
Hello, I tried on Fedora 26 (compiled myself) and my pentax k-500 is not found.
That could surprise me that can work while gphoto2 (librairie) cannot use it.
Any chance to find why ?
Output:
Regards :)