summaryrefslogtreecommitdiff
path: root/camlibs
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2021-04-11 16:58:06 +0200
committerMarcus Meissner <marcus@jet.franken.de>2021-04-11 16:58:06 +0200
commit077d2f280a75f2c170b16eec118b4dfb876b8191 (patch)
treec509c57bdaaece5378cdc9cfaed6f40015fe56f5 /camlibs
parent5015acd5c86081380749caee9fd88175ac186ed3 (diff)
downloadlibgphoto2-077d2f280a75f2c170b16eec118b4dfb876b8191.tar.gz
debug output all data groups for the sigma fp
Diffstat (limited to 'camlibs')
-rw-r--r--camlibs/ptp2/cameras/sigma-fp.txt279
-rw-r--r--camlibs/ptp2/library.c36
-rw-r--r--camlibs/ptp2/ptp.c153
-rw-r--r--camlibs/ptp2/ptp.h9
4 files changed, 476 insertions, 1 deletions
diff --git a/camlibs/ptp2/cameras/sigma-fp.txt b/camlibs/ptp2/cameras/sigma-fp.txt
index 175809bec..57ccb1cbf 100644
--- a/camlibs/ptp2/cameras/sigma-fp.txt
+++ b/camlibs/ptp2/cameras/sigma-fp.txt
@@ -63,6 +63,7 @@ Supported operations:
0x9035 (Unknown PTP_OC)
0x9036 (Unknown PTP_OC)
0x9037 (Unknown PTP_OC)
+
0x9401 (Unknown PTP_OC)
0x9402 (Unknown PTP_OC)
0x9403 (Unknown PTP_OC)
@@ -243,3 +244,281 @@ some 0x902c polling
0x902b no args getcamviewframe
+
+----------------- all data groups -------------------------
+
+9030 ConfigAPI
+
+0.129540 ptp (2): entry 0: tag=0x0001, type=0x0002, elements=9, value=0x0000003c
+0.129544 ptp (2): ascii: SIGMA fp
+0.129548 ptp (2): entry 1: tag=0x0002, type=0x0002, elements=9, value=0x00000045
+0.129552 ptp (2): ascii: 91403727
+0.129556 ptp (2): entry 2: tag=0x0003, type=0x0002, elements=4, value=0x00343856
+0.129559 ptp (2): ascii: V84
+0.129563 ptp (2): entry 3: tag=0x0005, type=0x000b, elements=1, value=0x3f9eb852
+0.129570 ptp (2): float: 1.240000
+
+0000 4a 00 00 00 04 00 00 00-01 00 02 00 09 00 00 00 J...............
+0010 3c 00 00 00 02 00 02 00-09 00 00 00 45 00 00 00 <...........E...
+0020 03 00 02 00 04 00 00 00-56 38 34 00 05 00 0b 00 ........V84.....
+0030 01 00 00 00 52 b8 9e 3f-00 00 00 00 53 49 47 4d ....R..?....SIGM
+0040 41 20 66 70 00 39 31 34-30 33 37 32 37 00 b3 A fp.91403727..
+
+0x9030 (GetCamCanSetInfo5)
+
+0.131720 ptp (2): entry 0: tag=0x0001, type=0x0001, elements=5, value=0x00000420
+0.131724 ptp (2): entry 1: tag=0x0002, type=0x0001, elements=3, value=0x00010203
+0.131728 ptp (2): entry 2: tag=0x0003, type=0x0001, elements=4, value=0x00630001
+0.131733 ptp (2): entry 3: tag=0x0004, type=0x0008, elements=3, value=0x00000425
+0.131737 ptp (2): entry 4: tag=0x000a, type=0x0001, elements=0, value=0x00000000
+0.131741 ptp (2): entry 5: tag=0x000b, type=0x0001, elements=5, value=0x0000042b
+0.131745 ptp (2): entry 6: tag=0x000c, type=0x0001, elements=2, value=0x00000c0e
+0.131749 ptp (2): entry 7: tag=0x0014, type=0x0001, elements=3, value=0x00030201
+0.131753 ptp (2): entry 8: tag=0x0015, type=0x0001, elements=7, value=0x00000430
+0.131757 ptp (2): entry 9: tag=0x0064, type=0x0001, elements=2, value=0x00000101
+0.131762 ptp (2): entry 10: tag=0x006e, type=0x0001, elements=0, value=0x00000000
+0.131766 ptp (2): entry 11: tag=0x006f, type=0x0001, elements=1, value=0x00000002
+0.131770 ptp (2): entry 12: tag=0x0070, type=0x0001, elements=0, value=0x00000000
+0.131774 ptp (2): entry 13: tag=0x0071, type=0x0006, elements=0, value=0x00000000
+0.131778 ptp (2): entry 14: tag=0x0072, type=0x0001, elements=0, value=0x00000000
+0.131783 ptp (2): entry 15: tag=0x0096, type=0x0001, elements=0, value=0x00000000
+0.131793 ptp (2): entry 16: tag=0x0097, type=0x0001, elements=0, value=0x00000000
+0.131797 ptp (2): entry 17: tag=0x0098, type=0x0001, elements=0, value=0x00000000
+0.131801 ptp (2): entry 18: tag=0x00a0, type=0x0001, elements=0, value=0x00000000
+0.131805 ptp (2): entry 19: tag=0x00a1, type=0x0005, elements=0, value=0x00000000
+0.131809 ptp (2): entry 20: tag=0x00a2, type=0x0001, elements=0, value=0x00000000
+0.131813 ptp (2): entry 21: tag=0x00c8, type=0x0001, elements=7, value=0x00000437
+0.131817 ptp (2): entry 22: tag=0x00c9, type=0x0001, elements=1, value=0x00000001
+0.131822 ptp (2): entry 23: tag=0x00d1, type=0x0001, elements=3, value=0x00010101
+0.131826 ptp (2): entry 24: tag=0x00d2, type=0x0008, elements=0, value=0x00000000
+0.131830 ptp (2): entry 25: tag=0x00d3, type=0x0008, elements=0, value=0x00000000
+0.131834 ptp (2): entry 26: tag=0x00d4, type=0x0008, elements=0, value=0x00000000
+0.131838 ptp (2): entry 27: tag=0x00d5, type=0x0001, elements=0, value=0x00000000
+0.131842 ptp (2): entry 28: tag=0x00d6, type=0x0005, elements=0, value=0x00000000
+0.131846 ptp (2): entry 29: tag=0x00d7, type=0x0008, elements=4, value=0x0000043e
+0.131850 ptp (2): entry 30: tag=0x00d8, type=0x0008, elements=4, value=0x00000446
+0.131854 ptp (2): entry 31: tag=0x00d9, type=0x0008, elements=3, value=0x0000044e
+0.131858 ptp (2): entry 32: tag=0x00da, type=0x0001, elements=0, value=0x00000000
+0.131863 ptp (2): entry 33: tag=0x00db, type=0x0001, elements=0, value=0x00000000
+0.131867 ptp (2): entry 34: tag=0x00dc, type=0x0003, elements=0, value=0x00000000
+0.131871 ptp (2): entry 35: tag=0x00fa, type=0x0001, elements=3, value=0x00010203
+0.131875 ptp (2): entry 36: tag=0x00fb, type=0x0001, elements=1, value=0x00000001
+0.131879 ptp (2): entry 37: tag=0x00fc, type=0x0001, elements=0, value=0x00000000
+0.131883 ptp (2): entry 38: tag=0x00fd, type=0x0008, elements=0, value=0x00000000
+0.131888 ptp (2): entry 39: tag=0x012c, type=0x0001, elements=2, value=0x00000102
+0.131892 ptp (2): entry 40: tag=0x012d, type=0x0001, elements=12, value=0x00000454
+0.131896 ptp (2): entry 41: tag=0x012e, type=0x0003, elements=0, value=0x00000000
+0.131900 ptp (2): entry 42: tag=0x012f, type=0x0001, elements=1, value=0x00000001
+0.131904 ptp (2): entry 43: tag=0x0130, type=0x0006, elements=3, value=0x000210f0
+0.131909 ptp (2): entry 44: tag=0x0131, type=0x0001, elements=2, value=0x00000503
+0.131913 ptp (2): entry 45: tag=0x0132, type=0x0001, elements=2, value=0x00000201
+0.131917 ptp (2): entry 46: tag=0x0133, type=0x0001, elements=2, value=0x00000210
+0.131921 ptp (2): entry 47: tag=0x0140, type=0x0001, elements=13, value=0x00000460
+0.131925 ptp (2): entry 48: tag=0x0141, type=0x000a, elements=3, value=0x0000046d
+0.131929 ptp (2): entry 49: tag=0x0142, type=0x000a, elements=3, value=0x00000485
+0.131933 ptp (2): entry 50: tag=0x0143, type=0x000a, elements=3, value=0x0000049d
+0.131937 ptp (2): entry 51: tag=0x0144, type=0x0001, elements=0, value=0x00000000
+0.131941 ptp (2): entry 52: tag=0x0145, type=0x0001, elements=0, value=0x00000000
+0.131945 ptp (2): entry 53: tag=0x0147, type=0x0001, elements=5, value=0x000004b5
+0.131953 ptp (2): entry 54: tag=0x0154, type=0x000a, elements=3, value=0x000004ba
+0.131958 ptp (2): entry 55: tag=0x0155, type=0x0001, elements=2, value=0x00000503
+0.131962 ptp (2): entry 56: tag=0x0156, type=0x0005, elements=2, value=0x000004d2
+0.131966 ptp (2): entry 57: tag=0x015e, type=0x0006, elements=5, value=0x000004e2
+0.131970 ptp (2): entry 58: tag=0x01f4, type=0x0006, elements=3, value=0x00ff0001
+0.131974 ptp (2): entry 59: tag=0x01f5, type=0x0006, elements=0, value=0x00000000
+0.131978 ptp (2): entry 60: tag=0x01f6, type=0x0006, elements=0, value=0x00000000
+0.131982 ptp (2): entry 61: tag=0x01f7, type=0x0001, elements=2, value=0x00000100
+0.131986 ptp (2): entry 62: tag=0x01f8, type=0x0006, elements=2, value=0x0000ff00
+0.131990 ptp (2): entry 63: tag=0x01f9, type=0x0006, elements=1, value=0x000000ff
+0.131995 ptp (2): entry 64: tag=0x01fa, type=0x0001, elements=1, value=0x00000000
+0.131999 ptp (2): entry 65: tag=0x0258, type=0x0001, elements=3, value=0x00030401
+0.132003 ptp (2): entry 66: tag=0x0259, type=0x0001, elements=1, value=0x00000001
+0.132007 ptp (2): entry 67: tag=0x025a, type=0x0001, elements=3, value=0x00000102
+0.132011 ptp (2): entry 68: tag=0x0262, type=0x0001, elements=2, value=0x00000201
+0.132015 ptp (2): entry 69: tag=0x0263, type=0x0001, elements=0, value=0x00000000
+0.132019 ptp (2): entry 70: tag=0x0264, type=0x0003, elements=2, value=0x040002aa
+0.132023 ptp (2): entry 71: tag=0x0265, type=0x0003, elements=4, value=0x000004e7
+0.132027 ptp (2): entry 72: tag=0x0266, type=0x0001, elements=1, value=0x00000004
+0.132031 ptp (2): entry 73: tag=0x0267, type=0x0003, elements=8, value=0x000004ef
+0.132036 ptp (2): entry 74: tag=0x0268, type=0x0001, elements=4, value=0x00000000
+0.132040 ptp (2): entry 75: tag=0x028a, type=0x0001, elements=2, value=0x00000100
+0.132044 ptp (2): entry 76: tag=0x028b, type=0x0001, elements=0, value=0x00000000
+0.132048 ptp (2): entry 77: tag=0x0290, type=0x0001, elements=2, value=0x00000102
+0.132052 ptp (2): entry 78: tag=0x0291, type=0x0001, elements=2, value=0x00000102
+0.132056 ptp (2): entry 79: tag=0x02bc, type=0x0001, elements=1, value=0x00000001
+0.132060 ptp (2): entry 80: tag=0x02bd, type=0x0001, elements=0, value=0x00000000
+0.132064 ptp (2): entry 81: tag=0x02be, type=0x0001, elements=5, value=0x000004ff
+0.132068 ptp (2): entry 82: tag=0x0320, type=0x0003, elements=12, value=0x00000504
+0.132073 ptp (2): entry 83: tag=0x0321, type=0x0001, elements=3, value=0x00010500
+0.132077 ptp (2): entry 84: tag=0x0322, type=0x0001, elements=3, value=0x00010500
+0.132081 ptp (2): entry 85: tag=0x0323, type=0x0001, elements=3, value=0x00010500
+0.132085 ptp (2): entry 86: tag=0x032a, type=0x0001, elements=2, value=0x00000100
+
+0000 18 05 00 00 57 00 00 00-01 00 01 00 05 00 00 00 ....W...........
+0010 20 04 00 00 02 00 01 00-03 00 00 00 03 02 01 00 ...............
+0020 03 00 01 00 04 00 00 00-01 00 63 00 04 00 08 00 ..........c.....
+0030 03 00 00 00 25 04 00 00-0a 00 01 00 00 00 00 00 ....%...........
+0040 00 00 00 00 0b 00 01 00-05 00 00 00 2b 04 00 00 ............+...
+0050 0c 00 01 00 02 00 00 00-0e 0c 00 00 14 00 01 00 ................
+0060 03 00 00 00 01 02 03 00-15 00 01 00 07 00 00 00 ................
+0070 30 04 00 00 64 00 01 00-02 00 00 00 01 01 00 00 0...d...........
+0080 6e 00 01 00 00 00 00 00-00 00 00 00 6f 00 01 00 n...........o...
+0090 01 00 00 00 02 00 00 00-70 00 01 00 00 00 00 00 ........p.......
+00a0 00 00 00 00 71 00 06 00-00 00 00 00 00 00 00 00 ....q...........
+00b0 72 00 01 00 00 00 00 00-00 00 00 00 96 00 01 00 r...............
+00c0 00 00 00 00 00 00 00 00-97 00 01 00 00 00 00 00 ................
+00d0 00 00 00 00 98 00 01 00-00 00 00 00 00 00 00 00 ................
+00e0 a0 00 01 00 00 00 00 00-00 00 00 00 a1 00 05 00 ................
+00f0 00 00 00 00 00 00 00 00-a2 00 01 00 00 00 00 00 ................
+0100 00 00 00 00 c8 00 01 00-07 00 00 00 37 04 00 00 ............7...
+0110 c9 00 01 00 01 00 00 00-01 00 00 00 d1 00 01 00 ................
+0120 03 00 00 00 01 01 01 00-d2 00 08 00 00 00 00 00 ................
+0130 00 00 00 00 d3 00 08 00-00 00 00 00 00 00 00 00 ................
+0140 d4 00 08 00 00 00 00 00-00 00 00 00 d5 00 01 00 ................
+0150 00 00 00 00 00 00 00 00-d6 00 05 00 00 00 00 00 ................
+0160 00 00 00 00 d7 00 08 00-04 00 00 00 3e 04 00 00 ............>...
+0170 d8 00 08 00 04 00 00 00-46 04 00 00 d9 00 08 00 ........F.......
+0180 03 00 00 00 4e 04 00 00-da 00 01 00 00 00 00 00 ....N...........
+0190 00 00 00 00 db 00 01 00-00 00 00 00 00 00 00 00 ................
+01a0 dc 00 03 00 00 00 00 00-00 00 00 00 fa 00 01 00 ................
+01b0 03 00 00 00 03 02 01 00-fb 00 01 00 01 00 00 00 ................
+01c0 01 00 00 00 fc 00 01 00-00 00 00 00 00 00 00 00 ................
+01d0 fd 00 08 00 00 00 00 00-00 00 00 00 2c 01 01 00 ............,...
+01e0 02 00 00 00 02 01 00 00-2d 01 01 00 0c 00 00 00 ........-.......
+01f0 54 04 00 00 2e 01 03 00-00 00 00 00 00 00 00 00 T...............
+0200 2f 01 01 00 01 00 00 00-01 00 00 00 30 01 06 00 /...........0...
+0210 03 00 00 00 f0 10 02 00-31 01 01 00 02 00 00 00 ........1.......
+0220 03 05 00 00 32 01 01 00-02 00 00 00 01 02 00 00 ....2...........
+0230 33 01 01 00 02 00 00 00-10 02 00 00 40 01 01 00 3...........@...
+0240 0d 00 00 00 60 04 00 00-41 01 0a 00 03 00 00 00 ....`...A.......
+0250 6d 04 00 00 42 01 0a 00-03 00 00 00 85 04 00 00 m...B...........
+0260 43 01 0a 00 03 00 00 00-9d 04 00 00 44 01 01 00 C...........D...
+0270 00 00 00 00 00 00 00 00-45 01 01 00 00 00 00 00 ........E.......
+0280 00 00 00 00 47 01 01 00-05 00 00 00 b5 04 00 00 ....G...........
+0290 54 01 0a 00 03 00 00 00-ba 04 00 00 55 01 01 00 T...........U...
+02a0 02 00 00 00 03 05 00 00-56 01 05 00 02 00 00 00 ........V.......
+02b0 d2 04 00 00 5e 01 06 00-05 00 00 00 e2 04 00 00 ....^...........
+02c0 f4 01 06 00 03 00 00 00-01 00 ff 00 f5 01 06 00 ................
+02d0 00 00 00 00 00 00 00 00-f6 01 06 00 00 00 00 00 ................
+02e0 00 00 00 00 f7 01 01 00-02 00 00 00 00 01 00 00 ................
+02f0 f8 01 06 00 02 00 00 00-00 ff 00 00 f9 01 06 00 ................
+0300 01 00 00 00 ff 00 00 00-fa 01 01 00 01 00 00 00 ................
+0310 00 00 00 00 58 02 01 00-03 00 00 00 01 04 03 00 ....X...........
+0320 59 02 01 00 01 00 00 00-01 00 00 00 5a 02 01 00 Y...........Z...
+0330 03 00 00 00 02 01 00 00-62 02 01 00 02 00 00 00 ........b.......
+0340 01 02 00 00 63 02 01 00-00 00 00 00 00 00 00 00 ....c...........
+0350 64 02 03 00 02 00 00 00-aa 02 00 04 65 02 03 00 d...........e...
+0360 04 00 00 00 e7 04 00 00-66 02 01 00 01 00 00 00 ........f.......
+0370 04 00 00 00 67 02 03 00-08 00 00 00 ef 04 00 00 ....g...........
+0380 68 02 01 00 04 00 00 00-00 00 00 00 8a 02 01 00 h...............
+0390 02 00 00 00 00 01 00 00-8b 02 01 00 00 00 00 00 ................
+03a0 00 00 00 00 90 02 01 00-02 00 00 00 02 01 00 00 ................
+03b0 91 02 01 00 02 00 00 00-02 01 00 00 bc 02 01 00 ................
+03c0 01 00 00 00 01 00 00 00-bd 02 01 00 00 00 00 00 ................
+03d0 00 00 00 00 be 02 01 00-05 00 00 00 ff 04 00 00 ................
+03e0 20 03 03 00 0c 00 00 00-04 05 00 00 21 03 01 00 ...........!...
+03f0 03 00 00 00 00 05 01 00-22 03 01 00 03 00 00 00 ........".......
+0400 00 05 01 00 23 03 01 00-03 00 00 00 00 05 01 00 ....#...........
+0410 2a 03 01 00 02 00 00 00-00 01 00 00 00 00 00 00 *...............
+0420 05 03 04 02 01 01 00 10-0e 01 00 30 20 12 10 02 ...........0 ...
+0430 07 06 05 04 03 02 01 07-06 05 04 03 02 01 00 05 ................
+0440 00 0d 00 01 55 00 00 05-00 0b 00 01 55 00 00 fb ....U.......U...
+0450 00 05 55 00 02 09 0c 0b-0a 08 07 06 05 04 03 01 ..U.............
+0460 08 07 06 0a 09 05 04 03-02 01 0b 0c 0d f6 ff ff ................
+0470 ff 0a 00 00 00 0a 00 00-00 0a 00 00 00 02 00 00 ................
+0480 00 0a 00 00 00 f6 ff ff-ff 0a 00 00 00 0a 00 00 ................
+0490 00 0a 00 00 00 02 00 00-00 0a 00 00 00 f6 ff ff ................
+04a0 ff 0a 00 00 00 0a 00 00-00 0a 00 00 00 02 00 00 ................
+04b0 00 0a 00 00 00 01 02 03-04 05 ce ff ff ff 0a 00 ................
+04c0 00 00 32 00 00 00 0a 00-00 00 02 00 00 00 0a 00 ..2.............
+04d0 00 00 32 00 00 00 0a 00-00 00 02 00 00 00 0a 00 ..2.............
+04e0 00 00 03 02 01 00 ff 55-00 55 02 60 00 a0 03 00 .......U.U.`....
+04f0 02 40 03 6d 01 53 02 db-00 65 01 49 00 77 00 04 .@.m.S...e.I.w..
+0500 03 02 01 00 6c 07 02 00-01 00 00 00 00 00 00 00 ....l...........
+0510 02 08 0d 00 1f 00 17 00-3b 00 3b 00 3e ........;.;.>
+
+9012 (GetDataGroup1)
+
+0000 13 ff 7f 00 00 00 01 f8-00 00 01 09 b5 01 01 d0 ................
+0010 02 01 00 00 1e - .....
+
+9013 (GetDataGroup2)
+
+0000 0e 3f fc 01 02 01 00 00-01 00 00 00 01 01 02 52 .?.............R
+
+9014 (GetDataGroup3)
+
+0000 10 ff a3 00 00 00 01 03-01 00 40 00 30 02 05 05 ..........@.0...
+0010 00 33 - .3
+
+9023 (GetDataGroup4)
+
+0000 11 f0 3f 00 03 01 03 ff-0e 00 01 01 02 01 fe 02 ..?.............
+0010 02 05 60 - ..`
+
+9027 (GetDataGroup5)
+
+0000 0c 2b 00 1e 00 02 00 00-02 88 13 03 01 f8 .+............
+
+9029 (GetDataGroup6)
+
+0000 04 00 00 00 00 04 - ......
+
+9031 (GetCamDataGroupFocus)
+
+0.136156 ptp (2): entry 0: tag=0x0001, type=0x0001, elements=1, value=0x00000003
+0.136161 ptp (2): entry 1: tag=0x0002, type=0x0001, elements=1, value=0x00000000
+0.136165 ptp (2): entry 2: tag=0x0003, type=0x0001, elements=1, value=0x00000000
+0.136169 ptp (2): entry 3: tag=0x0004, type=0x0001, elements=1, value=0x00000000
+0.136173 ptp (2): entry 4: tag=0x000a, type=0x0001, elements=1, value=0x00000001
+0.136177 ptp (2): entry 5: tag=0x000b, type=0x0001, elements=1, value=0x00000000
+0.136181 ptp (2): entry 6: tag=0x000c, type=0x0001, elements=1, value=0x00000000
+0.136185 ptp (2): entry 7: tag=0x000d, type=0x0007, elements=4, value=0x02000154
+0.136189 ptp (2): entry 8: tag=0x000e, type=0x0007, elements=8, value=0x00000090
+0.136193 ptp (2): entry 9: tag=0x0033, type=0x0001, elements=1, value=0x00000000
+0.136197 ptp (2): entry 10: tag=0x0034, type=0x0001, elements=1, value=0x00000000
+
+0000 94 00 00 00 0b 00 00 00-01 00 01 00 01 00 00 00 ................
+0010 03 00 00 00 02 00 01 00-01 00 00 00 00 00 00 00 ................
+0020 03 00 01 00 01 00 00 00-00 00 00 00 04 00 01 00 ................
+0030 01 00 00 00 00 00 00 00-0a 00 01 00 01 00 00 00 ................
+0040 01 00 00 00 0b 00 01 00-01 00 00 00 00 00 00 00 ................
+0050 0c 00 01 00 01 00 00 00-00 00 00 00 0d 00 07 00 ................
+0060 04 00 00 00 54 01 00 02-0e 00 07 00 08 00 00 00 ....T...........
+0070 90 00 00 00 33 00 01 00-01 00 00 00 00 00 00 00 ....3...........
+0080 34 00 01 00 01 00 00 00-00 00 00 00 00 00 00 00 4...............
+0090 00 00 00 00 00 00 00 00-63 ........c
+
+9033 (GetCamDataGroupMovie) response...
+
+0.136395 ptp (2): entry 0: tag=0x0001, type=0x0001, elements=1, value=0x00000001
+0.136399 ptp (2): entry 1: tag=0x0003, type=0x0001, elements=1, value=0x00000001
+0.136403 ptp (2): entry 2: tag=0x0004, type=0x0001, elements=1, value=0x00000001
+0.136407 ptp (2): entry 3: tag=0x0005, type=0x0008, elements=1, value=0x00000000
+0.136411 ptp (2): entry 4: tag=0x0006, type=0x0001, elements=1, value=0x00000001
+0.136415 ptp (2): entry 5: tag=0x0007, type=0x0005, elements=1, value=0x000000cc
+0.136419 ptp (2): entry 6: tag=0x000a, type=0x0001, elements=1, value=0x00000001
+0.136423 ptp (2): entry 7: tag=0x000b, type=0x0001, elements=1, value=0x00000001
+0.136427 ptp (2): entry 8: tag=0x000c, type=0x0006, elements=2, value=0x00000000
+0.136431 ptp (2): entry 9: tag=0x000d, type=0x0001, elements=1, value=0x00000000
+0.136435 ptp (2): entry 10: tag=0x0032, type=0x0001, elements=1, value=0x00000002
+0.136439 ptp (2): entry 11: tag=0x0033, type=0x0001, elements=1, value=0x0000000c
+0.136443 ptp (2): entry 12: tag=0x0034, type=0x0001, elements=1, value=0x00000002
+0.136452 ptp (2): entry 13: tag=0x003c, type=0x0001, elements=1, value=0x00000002
+0.136456 ptp (2): entry 14: tag=0x003d, type=0x0005, elements=1, value=0x000000d4
+0.136460 ptp (2): entry 15: tag=0x003e, type=0x0001, elements=1, value=0x00000000
+
+0000 d8 00 00 00 10 00 00 00-01 00 01 00 01 00 00 00 ................
+0010 01 00 00 00 03 00 01 00-01 00 00 00 01 00 00 00 ................
+0020 04 00 01 00 01 00 00 00-01 00 00 00 05 00 08 00 ................
+0030 01 00 00 00 00 00 00 00-06 00 01 00 01 00 00 00 ................
+0040 01 00 00 00 07 00 05 00-01 00 00 00 cc 00 00 00 ................
+0050 0a 00 01 00 01 00 00 00-01 00 00 00 0b 00 01 00 ................
+0060 01 00 00 00 01 00 00 00-0c 00 06 00 02 00 00 00 ................
+0070 00 00 00 00 0d 00 01 00-01 00 00 00 00 00 00 00 ................
+0080 32 00 01 00 01 00 00 00-02 00 00 00 33 00 01 00 2...........3...
+0090 01 00 00 00 0c 00 00 00-34 00 01 00 01 00 00 00 ........4.......
+00a0 02 00 00 00 3c 00 01 00-01 00 00 00 02 00 00 00 ....<...........
+00b0 3d 00 05 00 01 00 00 00-d4 00 00 00 3e 00 01 00 =...........>...
+00c0 01 00 00 00 00 00 00 00-00 00 00 00 70 00 00 00 ............p...
+00d0 10 0e 00 00 5e 09 00 00-64 00 00 00 c6 ....^...d....
diff --git a/camlibs/ptp2/library.c b/camlibs/ptp2/library.c
index 2441df83a..174ae9982 100644
--- a/camlibs/ptp2/library.c
+++ b/camlibs/ptp2/library.c
@@ -9823,6 +9823,42 @@ camera_init (Camera *camera, GPContext *context)
C_PTP (ptp_sigma_fp_9035 (params, &xdata, &xsize));
GP_LOG_DATA ((char*)xdata, xsize, "9035 output");
free (xdata);
+
+ C_PTP (ptp_sigma_fp_getcamcansetinfo5 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getcamcansetinfo5 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup1 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup1 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup2 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup2 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup3 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup3 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup4 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup4 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup5 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup5 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getdatagroup6 (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroup6 output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getcamdatagroupfocus (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroupfocus output");
+ free (xdata);
+
+ C_PTP (ptp_sigma_fp_getcamdatagroupmovie (params, &xdata, &xsize));
+ GP_LOG_DATA ((char*)xdata, xsize, "getdatagroupmovie output");
+ free (xdata);
}
break;
case PTP_VENDOR_GP_LEICA:
diff --git a/camlibs/ptp2/ptp.c b/camlibs/ptp2/ptp.c
index 39fd794a3..38ac29b0b 100644
--- a/camlibs/ptp2/ptp.c
+++ b/camlibs/ptp2/ptp.c
@@ -977,13 +977,164 @@ ptp_sigma_fp_liveview_image (PTPParams* params, unsigned char **data, unsigned i
return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
}
+static uint16_t
+ptp_sigma_fp_parse_ifdlist (PTPParams* params, unsigned char *data, unsigned int size)
+{
+ uint32_t datalen, entrycount, offset;
+ unsigned int i;
+
+ if (size < 5) {
+ ptp_debug (params, "size %d is less than 5", size);
+ return PTP_RC_GeneralError;
+ }
+ datalen = dtoh32a(data);
+ if (datalen != size-4-1) {
+ ptp_debug (params, "size %d is not specified size %d", size-4-1, datalen);
+ return PTP_RC_GeneralError;
+ }
+
+ entrycount = dtoh32a(data+4);
+ offset = 8;
+ if (8 + 12*entrycount > size) {
+ ptp_debug (params, "count %d entries do not fit size %d", entrycount, size);
+ return PTP_RC_GeneralError;
+ }
+ for (i = 0; i<entrycount; i++) {
+ uint16_t tag = dtoh16a(data+offset+i*12), type = dtoh16a(data+offset+i*12+2);
+ uint32_t count = dtoh32a(data+offset+i*12+4), value = dtoh32a(data+offset+i*12+8);
+ /* word tag, word type, dword elements, value */
+ ptp_debug (params, "entry %d: tag=0x%04x, type=0x%04x, elements=%d, value=0x%08x", i, tag, type, count, value);
+ switch (dtoh16a(data+offset+i*12+2)) {
+ case 0x2: /* ASCII */
+ if (count > 4) {
+ ptp_debug (params, "ascii: %s", &data[dtoh32a(data+offset+i*12+8)]);
+ } else {
+ ptp_debug (params, "ascii: %s", data+offset+i*12+8);
+ }
+ break;
+ case 0xb: /* 32bit ieee float */
+ ptp_debug (params, "float: %f", *(float*)(data+offset+i*12+8));
+ break;
+ }
+ }
+ return PTP_RC_OK;
+#if 0
+0000 5b 00 00 00 02 00 35 90-02 00 00 00
+
+4a 00 00 00 [.....5.....J...
+0010 04 00 00 00 01 00 02 00-09 00 00 00 3c 00 00 00 ............<...
+0020 02 00 02 00 09 00 00 00-45 00 00 00 03 00 02 00 ........E.......
+0030 04 00 00 00 56 38 34 00-05 00 0b 00 01 00 00 00 ....V84.........
+0040 52 b8 9e 3f 00 00 00 00-53 49 47 4d 41 20 66 70 R..?....SIGMA fp
+0050 00 39 31 34 30 33 37 32-37 00 b3 .91403727..
+
+#endif
+}
+
uint16_t
ptp_sigma_fp_9035 (PTPParams* params, unsigned char **data, unsigned int *size)
{
PTPContainer ptp;
+ uint16_t ret;
PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetCameraInfo);
- return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+ if (ret != PTP_RC_OK) return ret;
+ ptp_sigma_fp_parse_ifdlist (params, *data, *size);
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sigma_fp_getcamcansetinfo5 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetCamCanSetInfo5);
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+ if (ret != PTP_RC_OK) return ret;
+ ptp_sigma_fp_parse_ifdlist (params, *data, *size);
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sigma_fp_getcamdatagroupfocus (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetCamDataGroupFocus);
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+ if (ret != PTP_RC_OK) return ret;
+ ptp_sigma_fp_parse_ifdlist (params, *data, *size);
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sigma_fp_getcamdatagroupmovie (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetCamDataGroupMovie);
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+ if (ret != PTP_RC_OK) return ret;
+ ptp_sigma_fp_parse_ifdlist (params, *data, *size);
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup1 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup1);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup2 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup2);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup3 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup3);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup4 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup4);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup5 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup5);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_sigma_fp_getdatagroup6 (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_SIGMA_FP_GetDataGroup6);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
}
uint16_t
diff --git a/camlibs/ptp2/ptp.h b/camlibs/ptp2/ptp.h
index ecfe14a76..6ecafd7a5 100644
--- a/camlibs/ptp2/ptp.h
+++ b/camlibs/ptp2/ptp.h
@@ -4793,6 +4793,15 @@ uint16_t ptp_panasonic_9415 (PTPParams* params, PanasonicLiveViewSize *liveviews
uint16_t ptp_sigma_fp_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size);
uint16_t ptp_sigma_fp_9035 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getcamcansetinfo5 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup1 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup2 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup3 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup4 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup5 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getdatagroup6 (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getcamdatagroupfocus (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_sigma_fp_getcamdatagroupmovie (PTPParams* params, unsigned char **data, unsigned int *size);
uint16_t ptp_sigma_fp_getbigpartialpictfile (PTPParams* params, uint32_t p1, uint32_t offset, uint32_t insize, unsigned char **data, unsigned int *size);
uint16_t ptp_sigma_fp_snap (PTPParams* params, uint32_t mode, uint32_t amount);
uint16_t ptp_sigma_fp_clearimagedbsingle (PTPParams* params, uint32_t id);