asalamon74 / pktriggercord

Remote control for Pentax DSLR cameras
http://pktriggercord.melda.info
GNU Lesser General Public License v3.0
103 stars 38 forks source link

K-500 doesn't work unlike said in page #27

Closed metal3d closed 7 years ago

metal3d commented 7 years ago

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:

./pktriggercord-cli --model=K-500 --debug
Debug messaging is now enabled.
./pktriggercord-cli 0.84.04 
model K-500
device (null)
[C] plsr_init()
driveNum:2
    Checking drive:  sg0 ATA     
 WDC WD10EZEX-22R

    Checking drive:  sg1 ATA     
 WDC WD10EADS-11M

    camera not found
diff: 0.000288
sleep 1 sec
[C] plsr_init()
driveNum:2
    Checking drive:  sg0 ATA     
 WDC WD10EZEX-22R

    Checking drive:  sg1 ATA     
 WDC WD10EADS-11M

    camera not found
diff: 1.000641
sleep 1 sec

Regards :)

asalamon74 commented 7 years ago

A few tips:

If still not working: What is the device of your mounted camera?

Best, Andras

amikot commented 7 years ago

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.

asalamon74 commented 7 years ago

@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?

amikot commented 7 years ago

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:

  1. selecting mode (when camera is in any of User modes)
  2. setting image format
  3. setting aperture,
  4. focusing,
  5. taking picture,
  6. setting image tone,
  7. image quality, megapixels (all of these while JPG format selected)
  8. getting status (some values looks strange see listing below).

and what doesn't work:

  1. Green button
  2. AE Lock button
  3. Setting ISO
  4. Setting Exposure correction
  5. Setting shutter speed
  6. getting settings (message that option --settings not supported)

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
metal3d commented 7 years ago

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

metal3d commented 7 years ago

BTW - I also have problems to setup some options, as @amikot

asalamon74 commented 7 years ago

@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.

amikot commented 7 years ago

@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
asalamon74 commented 7 years ago

@amikot Which version do you use? I've already fixed an ISO range bug similar to yours.

amikot commented 7 years ago

@asalamon74: It is version compiled from github few days ago.

:~$ pktriggercord-cli --version
pktriggercord-cli 0.84.05
asalamon74 commented 7 years ago

@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.

amikot commented 7 years ago

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:

  1. ISO range is not the same in all modes. Only in M I can see full range for my camera - in other modes its limited to 6400. It is happening even on User modes 1 and 2 - when M is selected manually on program side. So best option for now Is to use M - selected on camera.
  2. GUI changes look depending of mode and sometimes looks really strange.
  3. Settings window doesn't remember picture download folder and filename (so every time when starting I need to set it again).
  4. Sliders ad mechanism for setting shutter speed and other options is not good. It would be better to use selectors (like for resolution and quality) or even text fields (I saw you already used that in one of manually selected modes - when was User Mode). Sliders are having big lag and even small move is applied to camera, and sometimes changing values to other than wish to.

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.

asalamon74 commented 7 years ago

@amikot

amikot commented 7 years ago

@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.

asalamon74 commented 7 years ago

@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.

amikot commented 7 years ago

@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.

asalamon74 commented 7 years ago

@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.