Compare commits
852 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
78bbe8c2d6 | ||
|
5313b70ece | ||
|
d937dc5690 | ||
|
86467de60b | ||
|
31dc9f6a7f | ||
|
bb351d794a | ||
|
0db087a108 | ||
|
61d9b7b2e5 | ||
|
ee53fbde12 | ||
|
c06f7cafc5 | ||
|
83c98a29c8 | ||
|
84c08cd43d | ||
|
cb7cea564a | ||
|
c1773d05df | ||
|
4c16f483d4 | ||
|
5df3887e67 | ||
|
95fb6baa94 | ||
|
1e49fc6c19 | ||
|
0216fb4128 | ||
|
ced9d4e720 | ||
|
25b256a4ba | ||
|
c3c0ad9a5e | ||
|
3e82a457ba | ||
|
ad406b1df2 | ||
|
c79808e7d8 | ||
|
2896ed6147 | ||
|
9ba2c475bb | ||
|
7f77847fb7 | ||
|
f4fe082288 | ||
|
7c4052e4c0 | ||
|
65a2a6c181 | ||
|
91ba753b98 | ||
|
09c956c36c | ||
|
4aa8327f54 | ||
|
51c4e8737e | ||
|
2c9cd5238e | ||
|
7e4645f8a9 | ||
|
165efd7c79 | ||
|
58aeae6564 | ||
|
10cae0133a | ||
|
c0cd410543 | ||
|
b6baca02f2 | ||
|
85c8853540 | ||
|
6c70c0bf74 | ||
|
52d75f1d53 | ||
|
9fc7f92dcd | ||
|
e1485e2103 | ||
|
762841c73a | ||
|
c045198991 | ||
|
4b6e7d941e | ||
|
e633439f0a | ||
|
db572a6b90 | ||
|
0114576bef | ||
|
36e1d27d92 | ||
|
fea3ac4fa9 | ||
|
d94f9905e7 | ||
|
9e8c759f0d | ||
|
427c473fc8 | ||
|
ea11b4b548 | ||
|
e016a17813 | ||
|
732dace369 | ||
|
6003a8b405 | ||
|
1df9a28756 | ||
|
cd313f2eb0 | ||
|
ab5833fd8c | ||
|
035f51c3b3 | ||
|
968bbcb392 | ||
|
084aaabfbd | ||
|
a499136449 | ||
|
5198aeebaa | ||
|
abd16236ca | ||
|
78fe5c813d | ||
|
283f0b141c | ||
|
7e0e4b83e7 | ||
|
997b6102d4 | ||
|
817057875b | ||
|
db4f1908ed | ||
|
25e5a0bead | ||
|
0447c2335f | ||
|
07ff32ab6a | ||
|
f95ccccb30 | ||
|
c665f7f79a | ||
|
44ef0ca30a | ||
|
dd2cf6ba58 | ||
|
65d0aa3222 | ||
|
9f9007b61a | ||
|
8d780caef9 | ||
|
4f4dc5f341 | ||
|
0b47b494ff | ||
|
f1b6ec9e04 | ||
|
7114e4b807 | ||
|
21dda18086 | ||
|
ccfee8b6b7 | ||
|
4422c447bc | ||
|
80cce6923f | ||
|
4fa8bec7d4 | ||
|
fed2654794 | ||
|
a546febe53 | ||
|
ecdc817a11 | ||
|
072afff27d | ||
|
8a4c290b8a | ||
|
da399e2a3f | ||
|
bccc6db751 | ||
|
c56ba55714 | ||
|
d9615a95d3 | ||
|
67078d69c5 | ||
|
817f131e12 | ||
|
1744826e8f | ||
|
5c782dcb6d | ||
|
9eb52c1f44 | ||
|
97eb323bf3 | ||
|
68e06e4335 | ||
|
7071864eb7 | ||
|
5b09047b31 | ||
|
2a8a2e7713 | ||
|
74a0a1eb85 | ||
|
5dad76a682 | ||
|
9cd39b982f | ||
|
81a9d0b201 | ||
|
3b9a43c470 | ||
|
123b8d9bf9 | ||
|
950ee00920 | ||
|
d158907f49 | ||
|
18feaac38f | ||
|
711089b451 | ||
|
6e9e889cfb | ||
|
789a6f4a0e | ||
|
413ae7cacf | ||
|
c4ef3a5500 | ||
|
af65c2674b | ||
|
96be821148 | ||
|
ceac624def | ||
|
8a80e39d0a | ||
|
7ad35028cb | ||
|
72de43877c | ||
|
fff6c84032 | ||
|
f8d47e6f3a | ||
|
050e7d6771 | ||
|
7747a0c3fc | ||
|
d0fbd5b1cd | ||
|
8af42ee597 | ||
|
08b3ccb401 | ||
|
f903bfd609 | ||
|
d1104099c3 | ||
|
8bc2401bb3 | ||
|
1adb715b51 | ||
|
6ecbe85ae4 | ||
|
da23dce1c9 | ||
|
a3f6c1fd9f | ||
|
0f546e55fb | ||
|
80b6bc599b | ||
|
df7cb0a26c | ||
|
7f1926ef29 | ||
|
d76903f1cd | ||
|
a30b4e285b | ||
|
2a613dcbe0 | ||
|
32adc34451 | ||
|
e92994064c | ||
|
ed2398fedc | ||
|
5e105b424a | ||
|
75631fa7d7 | ||
|
3d29e62ccf | ||
|
0ac8d7bc16 | ||
|
2482ff5bf6 | ||
|
53780f5a33 | ||
|
8ae150b516 | ||
|
1499a9fc11 | ||
|
0d40f5ac27 | ||
|
97be6807ab | ||
|
9f83e83cb6 | ||
|
4afa3fd311 | ||
|
a7be1c47cd | ||
|
a04da7dafa | ||
|
5ecd4be222 | ||
|
c66a54247f | ||
|
571f897329 | ||
|
603e5f029e | ||
|
92e973f563 | ||
|
438fa5ede5 | ||
|
00b16113ca | ||
|
24e381dbb0 | ||
|
18a33d866d | ||
|
b1f8ad33de | ||
|
9fc8454b15 | ||
|
902d144f67 | ||
|
0a22e71659 | ||
|
559fad55b3 | ||
|
8679e89cb6 | ||
|
b1b34b3ece | ||
|
7e3faa0134 | ||
|
1893ef382a | ||
|
a0386f3e11 | ||
|
803d2e93b5 | ||
|
f530f94472 | ||
|
9455ed8a0f | ||
|
50509d539e | ||
|
dd839a3cfd | ||
|
593abc1b3d | ||
|
47471ed2ea | ||
|
baa7243792 | ||
|
615fe74965 | ||
|
29a9895969 | ||
|
140b4aec18 | ||
|
559b1e4d80 | ||
|
c6525cca31 | ||
|
5bcf9ecf1f | ||
|
35d91c25b9 | ||
|
425af10e1f | ||
|
7baf7ba744 | ||
|
4e6d0e5d99 | ||
|
96e4fdc8fc | ||
|
76c7336007 | ||
|
9541dfcd35 | ||
|
ba1874435a | ||
|
7bd34d5cef | ||
|
4a250f5ab5 | ||
|
d041f22d7e | ||
|
acbd3eff4c | ||
|
841de6ea77 | ||
|
190d066ddf | ||
|
af72213f50 | ||
|
37b98e0d33 | ||
|
acabe04a92 | ||
|
2260f5c582 | ||
|
1cda60d137 | ||
|
de6dc0d712 | ||
|
404d74b0b7 | ||
|
a2f24aa62f | ||
|
4f124fe074 | ||
|
388f8466d5 | ||
|
220b1e352e | ||
|
95f79d406a | ||
|
ec8aba3184 | ||
|
68d6b0f4a2 | ||
|
cb9c4fae74 | ||
|
9775903fb1 | ||
|
aff716189e | ||
|
636471b1cf | ||
|
fc9507aa3e | ||
|
19ad46f2d2 | ||
|
8387a20ce6 | ||
|
15a933c2fc | ||
|
cdae311e99 | ||
|
b23905657e | ||
|
07297dd2f1 | ||
|
8b0016fa07 | ||
|
9293a80c56 | ||
|
19c604702f | ||
|
579e7d3a0d | ||
|
01db7a8251 | ||
|
03fd24070b | ||
|
2184c3ce9e | ||
|
a7d97427f5 | ||
|
7a23c28965 | ||
|
fb37635a72 | ||
|
0881a70922 | ||
|
ab6a9b03a3 | ||
|
f4195c3d54 | ||
|
8d21586f7d | ||
|
80a8ebbac5 | ||
|
78d3e27430 | ||
|
82719ed1f0 | ||
|
c55db46760 | ||
|
f54eef8ad1 | ||
|
bc7e4919e2 | ||
|
05e5552e46 | ||
|
178e362900 | ||
|
4c4df74432 | ||
|
9b346ff33a | ||
|
36c5491c93 | ||
|
e32a323e57 | ||
|
7e07b7772e | ||
|
0d0bb1d2ad | ||
|
380e19fa94 | ||
|
535778ef76 | ||
|
c23b0309a9 | ||
|
80c1e84941 | ||
|
a9966b19f9 | ||
|
8251d1066d | ||
|
f3a14f8254 | ||
|
ad0774f466 | ||
|
74ce809acf | ||
|
c81f51fdee | ||
|
65e7a4b288 | ||
|
37255b0e1b | ||
|
9c8a1420bc | ||
|
3c1a1d3356 | ||
|
deb146f786 | ||
|
20fc6a75b6 | ||
|
7ef64208be | ||
|
0267f4e4b3 | ||
|
8446083bf4 | ||
|
b3acbfe8aa | ||
|
c279d97261 | ||
|
d988fce95a | ||
|
0c0c299c84 | ||
|
6dab54117d | ||
|
966511edf1 | ||
|
5fb5a876b8 | ||
|
4613d78d8c | ||
|
dd81c782b4 | ||
|
0d5cd2df76 | ||
|
3383d43360 | ||
|
b3f6c82f8d | ||
|
2d8a66eb47 | ||
|
1a080d438f | ||
|
c18a23b059 | ||
|
05dc3e99ef | ||
|
9a13909de2 | ||
|
089c1b1b0c | ||
|
7e588d5e24 | ||
|
4be2d6ae49 | ||
|
28e089c412 | ||
|
af2327cd92 | ||
|
e28e34eafa | ||
|
06e8e28b71 | ||
|
bdfe88ef32 | ||
|
9cbd066550 | ||
|
da49e0a707 | ||
|
43e356e617 | ||
|
52fdc13014 | ||
|
fff99af775 | ||
|
a38d16fcf0 | ||
|
48eadfafda | ||
|
5a80e5ea33 | ||
|
069246614e | ||
|
8c80969d18 | ||
|
44976e33cf | ||
|
5b51b999c0 | ||
|
46903bb10f | ||
|
efec41a809 | ||
|
e59683acff | ||
|
c809b99bdf | ||
|
78b62fb2df | ||
|
95b234a25a | ||
|
9716c20bca | ||
|
c3982efb76 | ||
|
b2f6120fa5 | ||
|
f8c56986a9 | ||
|
bab2e23e39 | ||
|
5017d5c901 | ||
|
3ac3c7c8ee | ||
|
b71818062e | ||
|
95f028426a | ||
|
719c0b32ae | ||
|
ff11fc0940 | ||
|
bea6183613 | ||
|
8968f19819 | ||
|
31edf1c30f | ||
|
45b6adf976 | ||
|
84da2abf90 | ||
|
c5c795feb0 | ||
|
550d4d7cfd | ||
|
092b98ca42 | ||
|
799561962f | ||
|
5e9ce133bb | ||
|
c5d15c9000 | ||
|
d36a288336 | ||
|
2e66f4677e | ||
|
de24292cca | ||
|
a9f0e49a5a | ||
|
8537e82963 | ||
|
ed42efc5cb | ||
|
d1ebc6cad5 | ||
|
8811036be0 | ||
|
c4233137e0 | ||
|
f25685153b | ||
|
415cf31a36 | ||
|
042293fb3b | ||
|
0038e8c026 | ||
|
5ab553e04f | ||
|
0f041e59f7 | ||
|
195da375f1 | ||
|
239c855c18 | ||
|
06ff521d43 | ||
|
e616d72e40 | ||
|
588781028f | ||
|
4f08db1826 | ||
|
fee2e140c2 | ||
|
abd2a3eb67 | ||
|
d4771f5090 | ||
|
6ed0e209fd | ||
|
0c4f9ca494 | ||
|
1f945d2bae | ||
|
a9643816d5 | ||
|
98589a5753 | ||
|
f9fa5f8823 | ||
|
15464160f6 | ||
|
3b8f2d7706 | ||
|
8b07e18c23 | ||
|
8400966a5c | ||
|
2462c1b37a | ||
|
d1e856a749 | ||
|
633a9c6a6d | ||
|
f1720ba090 | ||
|
a75d064a2a | ||
|
c37bbfb0bd | ||
|
56a92df24f | ||
|
957b460671 | ||
|
21c72ce3b7 | ||
|
0061061130 | ||
|
b9a8eea7be | ||
|
3bef119492 | ||
|
e0d61a9c48 | ||
|
5f63df740d | ||
|
2d1989fc2b | ||
|
fd551de04b | ||
|
5deefc3af4 | ||
|
cdbe614072 | ||
|
ccf7e7cb08 | ||
|
272ba40b68 | ||
|
ceb98aa2d2 | ||
|
e1c6ad86ec | ||
|
620b834b6c | ||
|
a6f7112f82 | ||
|
b3e41de62c | ||
|
edb18a90b8 | ||
|
e91a2663e2 | ||
|
dacad9483e | ||
|
3f80c8bbff | ||
|
189a2bd6b7 | ||
|
e325706c9d | ||
|
3abb4dc153 | ||
|
dfc0b5eaab | ||
|
8f50f8d214 | ||
|
b4639a72f8 | ||
|
cda6024a3e | ||
|
6b561733c0 | ||
|
5a6eabcc5f | ||
|
0025a555ba | ||
|
3c4f8b986b | ||
|
ecb8cd640a | ||
|
f4007aa78c | ||
|
8f255ec291 | ||
|
d453f98b6d | ||
|
af8e188ae1 | ||
|
dfea14aba3 | ||
|
fd2e6c4708 | ||
|
f08dda33b5 | ||
|
3038aaace0 | ||
|
9dcf3acf2a | ||
|
849e8c80dd | ||
|
ff2598120a | ||
|
e85321130e | ||
|
dc0a259007 | ||
|
ea5d40ff20 | ||
|
d261bad291 | ||
|
4d29d18035 | ||
|
6075cd61eb | ||
|
7322ade75b | ||
|
1d81ea4ac6 | ||
|
ce7071db2c | ||
|
b48cc6d98e | ||
|
3490f0ca44 | ||
|
1f51ab8fa2 | ||
|
3cc158231a | ||
|
c2173f9f8e | ||
|
ad64476ee6 | ||
|
3c687d43ca | ||
|
be15d6a6d9 | ||
|
dfb2be71a6 | ||
|
4ac353c8c1 | ||
|
764ccba041 | ||
|
1bc0e47cd1 | ||
|
8b8e9bd5fd | ||
|
e3de24dca1 | ||
|
34b079f9ad | ||
|
d69263a2c7 | ||
|
70e1e9e32f | ||
|
f7df7db10b | ||
|
a5b337b50f | ||
|
f744fa06d5 | ||
|
c9bfdbb4d6 | ||
|
469ffe5075 | ||
|
95d733b2b4 | ||
|
22bd0fab3a | ||
|
96a1b2a62d | ||
|
b93026bdcf | ||
|
3b22fa3abc | ||
|
2896e00acf | ||
|
71e3286014 | ||
|
dc4a21d635 | ||
|
d1cd7fadc5 | ||
|
da9417852a | ||
|
f525c2063e | ||
|
8f096612a3 | ||
|
6a0ce86594 | ||
|
559a812c65 | ||
|
c24e2806b3 | ||
|
c35d338248 | ||
|
455bfc72b2 | ||
|
852d8d8faf | ||
|
d09f037aee | ||
|
b2bd90192d | ||
|
6953758101 | ||
|
262f64715d | ||
|
b6d4037357 | ||
|
30ed3ed5e2 | ||
|
5b5ded25c9 | ||
|
23d77d0de3 | ||
|
e6d2d3ebe4 | ||
|
8d54b7844d | ||
|
2a3580191b | ||
|
3644a7e530 | ||
|
3bda52bc79 | ||
|
ae5fb7814e | ||
|
7bc74f4d1b | ||
|
6d0fa3a3ca | ||
|
84145cd35c | ||
|
11795c54e5 | ||
|
3796c19040 | ||
|
85acd7b915 | ||
|
ab52fd5280 | ||
|
73cca48f57 | ||
|
c6aa8d93ca | ||
|
0fb3610744 | ||
|
fd8616f475 | ||
|
055c6a23d0 | ||
|
a22eed8c1d | ||
|
01abf3d346 | ||
|
05d46111b7 | ||
|
44bff1992a | ||
|
6d943538fb | ||
|
9ef3279577 | ||
|
17141b64dd | ||
|
2c5fd62a06 | ||
|
750437fd71 | ||
|
34f3e08b20 | ||
|
e899f7cc1c | ||
|
5a1fbfd55b | ||
|
6690f24095 | ||
|
f1beee93c1 | ||
|
5d5dc0b7aa | ||
|
63e9dda1b2 | ||
|
c5bf93dfbd | ||
|
4b8b7f707c | ||
|
13bdcf24bd | ||
|
56212380e4 | ||
|
f9d14478cc | ||
|
b35d55309d | ||
|
68705e111d | ||
|
82e5dd1ffb | ||
|
4b161693b1 | ||
|
9a6005d212 | ||
|
fe4379a34b | ||
|
4c51ef2f30 | ||
|
9068b0dd53 | ||
|
3549e8b958 | ||
|
4552743c4b | ||
|
58464510f6 | ||
|
a389d84452 | ||
|
5322fc38f4 | ||
|
cec8f165a3 | ||
|
23bebe835f | ||
|
ba0ddddfeb | ||
|
8b5c886b78 | ||
|
6988ae803b | ||
|
74b71dc161 | ||
|
cabaeb4794 | ||
|
52fbb3668d | ||
|
3d8b950b2f | ||
|
aa089a5859 | ||
|
1f7621debd | ||
|
7dabf5cc9d | ||
|
54eae3e2d0 | ||
|
0b71d05813 | ||
|
f98fe1b4ec | ||
|
4011880148 | ||
|
cdc5db724d | ||
|
c894ca4a4f | ||
|
18ffd0372b | ||
|
69168303d6 | ||
|
5eb3174edb | ||
|
aa83d3bf85 | ||
|
60a905d468 | ||
|
7015111260 | ||
|
b898184fe4 | ||
|
0938b68f99 | ||
|
d6ff3470f1 | ||
|
637d08984d | ||
|
bfce242334 | ||
|
d673a151c9 | ||
|
a80a72e78f | ||
|
221d65e6b3 | ||
|
cfecf60b86 | ||
|
1622d4c30d | ||
|
c64fec21d7 | ||
|
47fb693b61 | ||
|
b4ddf5a816 | ||
|
effa0ba2ad | ||
|
c42534d719 | ||
|
d531112075 | ||
|
5105b5ea82 | ||
|
07eb0b36c1 | ||
|
48509547a2 | ||
|
c8fb1de841 | ||
|
a281877285 | ||
|
988a158489 | ||
|
2f087ce1f0 | ||
|
6fd94d6f00 | ||
|
b3bc96f12b | ||
|
cb49eea85e | ||
|
a8796478e6 | ||
|
41c882d0a7 | ||
|
c3698b6e40 | ||
|
ced5322952 | ||
|
7b8ed81018 | ||
|
d41f4cbcbc | ||
|
050d0ce703 | ||
|
456613a030 | ||
|
c82a29968d | ||
|
feabcf294f | ||
|
13833ce2b0 | ||
|
e203c57ff8 | ||
|
56d9ab6e2d | ||
|
e56bf190f6 | ||
|
b601d9baee | ||
|
7985a8ffe7 | ||
|
559d605424 | ||
|
b114dc8159 | ||
|
e46c9371db | ||
|
d42b8ef69c | ||
|
60ea66b1ec | ||
|
d1432e2745 | ||
|
87da36af38 | ||
|
5d5b5cf476 | ||
|
9aefabf76b | ||
|
883aef5341 | ||
|
7746d2b116 | ||
|
0490c3328a | ||
|
5a5aa8dbaf | ||
|
b38637c6d2 | ||
|
ee99edc297 | ||
|
c8dbeeff22 | ||
|
9c8c236475 | ||
|
7dc43ae4f9 | ||
|
cb135f45b5 | ||
|
beab7a155d | ||
|
aca55759ad | ||
|
23775810b2 | ||
|
e2478c644a | ||
|
fbd416324e | ||
|
829d37f620 | ||
|
0edf5fca65 | ||
|
39b656465b | ||
|
cc756a7c1b | ||
|
8fb4b8d396 | ||
|
b89b9a20e4 | ||
|
dc10d73c96 | ||
|
505490697f | ||
|
733a91c68c | ||
|
6ddc5758c5 | ||
|
242dc2b6fb | ||
|
94bf528f8b | ||
|
6ee7539b8e | ||
|
292b8155b1 | ||
|
fb1ffb81ca | ||
|
c79cfd4c00 | ||
|
ee2d437c89 | ||
|
9a7e420c3a | ||
|
eea273b0db | ||
|
03dd23f68c | ||
|
210d35ffc3 | ||
|
da0566b896 | ||
|
9474528972 | ||
|
3978264c50 | ||
|
6e3afaec29 | ||
|
7a556143aa | ||
|
257a6c8bef | ||
|
cfbfcf06a5 | ||
|
d146cd92bc | ||
|
a8c52fe000 | ||
|
80ce9cb547 | ||
|
e46f24b0bb | ||
|
675f5ff97f | ||
|
e91c5d53fd | ||
|
19e5f60566 | ||
|
656c101e80 | ||
|
a67bd6a04e | ||
|
05c5c1f238 | ||
|
c580f6e8dc | ||
|
e539cb9fe0 | ||
|
ca51d2cf94 | ||
|
49fcb60f3b | ||
|
1f0c48275c | ||
|
ebfeb23cdc | ||
|
61333351dc | ||
|
036c391a05 | ||
|
b40723e819 | ||
|
d505b3b647 | ||
|
07570f330b | ||
|
eec3506f93 | ||
|
3e5a56cc5d | ||
|
938dc08654 | ||
|
611468ad90 | ||
|
2d77b6ba79 | ||
|
86a70f8eef | ||
|
49e65f8060 | ||
|
097438da20 | ||
|
05507ac12c | ||
|
44945687ce | ||
|
6fd3dadfea | ||
|
6773d8eb7a | ||
|
c6fd9db827 | ||
|
667c53ae6d | ||
|
203c5ce18b | ||
|
0658a345ea | ||
|
27ab088acd | ||
|
96bc0353ff | ||
|
2a2ea0b370 | ||
|
6172f4c1b8 | ||
|
a3206e5be5 | ||
|
e34e6e1466 | ||
|
87c3c81a93 | ||
|
ceec4f492a | ||
|
50dc95aa71 | ||
|
04722850b8 | ||
|
0e4896f788 | ||
|
812638b7dc | ||
|
031fa74113 | ||
|
6689fc853f | ||
|
ea05d35bf2 | ||
|
e38cc7797f | ||
|
a52c5f510d | ||
|
20b6026789 | ||
|
ea24c5fb38 | ||
|
c8f5528bf7 | ||
|
ed45497d6c | ||
|
29569c5152 | ||
|
5d6d635647 | ||
|
c490e09de0 | ||
|
56c4d50c93 | ||
|
6e638813f2 | ||
|
18258fe7c9 | ||
|
0bcaa0801e | ||
|
b10415515e | ||
|
aa19d65272 | ||
|
1f6acd3c98 | ||
|
7e42cd65b1 | ||
|
34283fda0c | ||
|
52f1075182 | ||
|
2f4ffded7c | ||
|
c6bed032cb | ||
|
f7b85c6b05 | ||
|
3ed2d501c2 | ||
|
104b3841d9 | ||
|
28e539e277 | ||
|
b5a61075df | ||
|
5800e1c6c8 | ||
|
618f2c02e5 | ||
|
0d664b28ad | ||
|
2e97266516 | ||
|
5b8301c601 | ||
|
263658834a | ||
|
a06786c16d | ||
|
91da3a3ca8 | ||
|
a38e6a782a | ||
|
1652d976bf | ||
|
09e14293ed | ||
|
d2a32e0ec1 | ||
|
9eea427d59 | ||
|
098b307260 | ||
|
e2d890eaed | ||
|
827b313378 | ||
|
2f5860bcb0 | ||
|
3ead1a0c07 | ||
|
403ecff01e | ||
|
ac460c5bb5 | ||
|
cf79c71c1d | ||
|
55cd7cddd0 | ||
|
50571a4a40 | ||
|
6b93ceecee | ||
|
24f34aac15 | ||
|
e32138c70a | ||
|
61b0d85292 | ||
|
1c17308a02 | ||
|
f59c918e81 | ||
|
04f32f21ba | ||
|
e832fa66b9 | ||
|
2a1232647a | ||
|
35e069a858 | ||
|
b625dca3df | ||
|
02f39dbf9e | ||
|
4c291588ab | ||
|
ce76b16c07 | ||
|
c7f1cb718e | ||
|
7a9f9139fd | ||
|
b346f7fec9 | ||
|
1811f20a14 | ||
|
210ddba1ba | ||
|
e991d59b45 | ||
|
7789bc8474 | ||
|
7e5b3ee419 | ||
|
2b1288bcd4 | ||
|
0610d43fe5 | ||
|
4021c565d2 | ||
|
2096f93a92 | ||
|
8331b8415d | ||
|
a57edded4b | ||
|
9a465b9f04 | ||
|
14988ffd24 | ||
|
48a9cd0461 | ||
|
5c46c72883 | ||
|
a9353c965a | ||
|
c58dd28f63 | ||
|
77e4411a4c | ||
|
2a56616195 | ||
|
30363e18c6 | ||
|
33e38bba2f | ||
|
59370e3e8d | ||
|
672b9da6f9 | ||
|
6a39aae98f | ||
|
aa7e89a502 | ||
|
41222abfec | ||
|
fbdbb5b6f6 | ||
|
30332a80de | ||
|
13e9a89b59 | ||
|
6feeb49d62 | ||
|
3c670cedb3 | ||
|
8d945fe042 | ||
|
0d1b063942 | ||
|
0efb51ac11 | ||
|
e40a4aaa3f | ||
|
ef890dee0c | ||
|
4614a64dc9 | ||
|
7f6effebbb | ||
|
576558e5a1 | ||
|
a0c3fcea89 | ||
|
b9def3128e | ||
|
67a0356a84 | ||
|
6d961203be | ||
|
26d95ec0ac | ||
|
00aa72166d | ||
|
33d3f15b86 | ||
|
b139fd21c3 | ||
|
614227a85c | ||
|
d2b4cc3022 | ||
|
a7750e8217 | ||
|
94053b8e35 | ||
|
27c8ccaac3 | ||
|
5ef5e8d866 | ||
|
f1003b63b3 | ||
|
900c44179d | ||
|
d4547c5525 | ||
|
c5a4161b9c | ||
|
08fb1a425f | ||
|
01c3c71516 | ||
|
259dc968aa | ||
|
b33fc86a45 | ||
|
25220a27ed | ||
|
659f03ac18 | ||
|
6c25f06005 |
11
.commitlintrc.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['@commitlint/config-conventional'],
|
||||||
|
rules: {
|
||||||
|
'type-enum': [2, 'always', [
|
||||||
|
"feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"
|
||||||
|
]],
|
||||||
|
'scope-empty': [2, 'never'],
|
||||||
|
'subject-full-stop': [0, 'never'],
|
||||||
|
'subject-case': [0, 'never']
|
||||||
|
}
|
||||||
|
};
|
6
.gitignore
vendored
@ -7,6 +7,8 @@ _build/
|
|||||||
_install/
|
_install/
|
||||||
_output/
|
_output/
|
||||||
|
|
||||||
|
/docs/_doxygen/
|
||||||
|
|
||||||
/get-pip.py
|
/get-pip.py
|
||||||
|
|
||||||
/*INFO*
|
/*INFO*
|
||||||
@ -16,11 +18,15 @@ _output/
|
|||||||
|
|
||||||
/plugins/
|
/plugins/
|
||||||
|
|
||||||
|
/3rdparty/ceres/
|
||||||
/3rdparty/opencv/
|
/3rdparty/opencv/
|
||||||
/pkginfo.sh
|
/pkginfo.sh
|
||||||
/*.nsi
|
/*.nsi
|
||||||
/*.exe
|
/*.exe
|
||||||
|
|
||||||
|
/node_modules/
|
||||||
|
/package-lock.json
|
||||||
|
|
||||||
# ros
|
# ros
|
||||||
|
|
||||||
/wrappers/ros/build
|
/wrappers/ros/build
|
||||||
|
7
.gitmodules
vendored
@ -1,7 +0,0 @@
|
|||||||
[submodule "test/gtest"]
|
|
||||||
path = test/gtest
|
|
||||||
url = https://github.com/google/googletest.git
|
|
||||||
[submodule "tools/linter"]
|
|
||||||
path = tools/linter
|
|
||||||
url = https://github.com/slightech/linter.git
|
|
||||||
branch = slightech
|
|
100
CMakeLists.txt
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
project(mynteye VERSION 2.2.2 LANGUAGES C CXX)
|
project(mynteye VERSION 2.5.0 LANGUAGES C CXX)
|
||||||
|
|
||||||
include(cmake/Common.cmake)
|
include(cmake/Common.cmake)
|
||||||
|
|
||||||
@ -22,6 +22,8 @@ if(NOT CMAKE_DEBUG_POSTFIX)
|
|||||||
set(CMAKE_DEBUG_POSTFIX d)
|
set(CMAKE_DEBUG_POSTFIX d)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
LIST(APPEND CMAKE_MODULE_PATH cmake)
|
||||||
|
|
||||||
# options
|
# options
|
||||||
|
|
||||||
include(cmake/Option.cmake)
|
include(cmake/Option.cmake)
|
||||||
@ -55,12 +57,10 @@ macro(target_link_threads NAME)
|
|||||||
target_compile_options(PUBLIC ${NAME} "-pthread")
|
target_compile_options(PUBLIC ${NAME} "-pthread")
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_THREAD_LIBS_INIT)
|
if(CMAKE_THREAD_LIBS_INIT)
|
||||||
target_link_libraries(${NAME} "${CMAKE_THREAD_LIBS_INIT}")
|
target_link_libraries(${NAME} PUBLIC "${CMAKE_THREAD_LIBS_INIT}")
|
||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
LIST(APPEND CMAKE_MODULE_PATH cmake)
|
|
||||||
|
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
# config
|
# config
|
||||||
@ -94,6 +94,18 @@ if(OS_WIN)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# rpath
|
||||||
|
|
||||||
|
set(CMAKE_MACOSX_RPATH 1)
|
||||||
|
set(MYNTEYE_CMAKE_RPATH "")
|
||||||
|
if(WITH_OPENCV)
|
||||||
|
list(APPEND MYNTEYE_CMAKE_RPATH ${OpenCV_LIB_PATH})
|
||||||
|
endif()
|
||||||
|
if(MYNTEYE_CMAKE_RPATH)
|
||||||
|
message(STATUS "RPATH: ${MYNTEYE_CMAKE_RPATH}")
|
||||||
|
set(CMAKE_INSTALL_RPATH "${MYNTEYE_CMAKE_RPATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# targets
|
# targets
|
||||||
|
|
||||||
add_definitions(-DMYNTEYE_EXPORTS)
|
add_definitions(-DMYNTEYE_EXPORTS)
|
||||||
@ -116,27 +128,44 @@ if(WITH_GLOG)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
## camera_models
|
||||||
|
|
||||||
|
if(WITH_CAM_MODELS)
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
include
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/include
|
||||||
|
src/mynteye/api/camera_models
|
||||||
|
src/mynteye
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(camera_models STATIC
|
||||||
|
src/mynteye/api/camera_models/camera.cc
|
||||||
|
src/mynteye/api/camera_models/equidistant_camera.cc
|
||||||
|
src/mynteye/api/camera_models/util/gpl.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||||
|
endif()
|
||||||
|
|
||||||
## libmynteye
|
## libmynteye
|
||||||
|
|
||||||
if(NOT WITH_GLOG AND NOT OS_WIN)
|
if(NOT WITH_GLOG AND NOT OS_WIN)
|
||||||
set(__MINIGLOG_FLAGS "-Wno-unused-parameter -Wno-format -Wno-return-type")
|
set(__MINIGLOG_FLAGS "-Wno-unused-parameter -Wno-format -Wno-return-type -Wno-comment")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${__MINIGLOG_FLAGS}")
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${__MINIGLOG_FLAGS}")
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${__MINIGLOG_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${__MINIGLOG_FLAGS}")
|
||||||
unset(__MINIGLOG_FLAGS)
|
unset(__MINIGLOG_FLAGS)
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT WITH_GLOG)
|
||||||
|
list(APPEND MYNTEYE_PUBLIC_H
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/miniglog.h
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(OS_WIN)
|
if(OS_WIN)
|
||||||
set(UVC_SRC src/mynteye/uvc/win/uvc-wmf.cc)
|
set(UVC_SRC src/mynteye/uvc/win/uvc-wmf.cc)
|
||||||
elseif(OS_MAC)
|
elseif(OS_MAC)
|
||||||
add_compile_options(-x objective-c++)
|
add_compile_options(-x objective-c++ -Wno-unused-command-line-argument -Wno-missing-method-return-type -Wno-sign-compare)
|
||||||
## INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx)
|
|
||||||
## INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx/VVUVCKit)
|
|
||||||
## aux_source_directory(src/mynteye/uvc/macosx/VVUVCKit/ MAC_VVUVCKIT_SRC_LIST)
|
|
||||||
## aux_source_directory(src/mynteye/uvc/macosx/USBBusProber/ MAC_USBBUSPROBER_SRC_LIST)
|
|
||||||
## add_library(usbBusProber SHARED ${MAC_USBBUSPROBER_SRC_LIST})
|
|
||||||
## set_target_properties(usbBusProber PROPERTIES FRAMEWORK TRUE )
|
|
||||||
## add_library(vvuvckit SHARED ${MAC_VVUVCKIT_SRC_LIST})
|
|
||||||
## set_target_properties(vvuvckit PROPERTIES FRAMEWORK TRUE )
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx/USBBusProber.framework/Headers)
|
INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx/USBBusProber.framework/Headers)
|
||||||
INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx/VVUVCKit.framework/Headers)
|
INCLUDE_DIRECTORIES(src/mynteye/uvc/macosx/VVUVCKit.framework/Headers)
|
||||||
@ -146,12 +175,7 @@ elseif(OS_MAC)
|
|||||||
SET(OSX_EXTRA_LIBS ${VVUVCKIT_LIBRARY} ${USB_LIBRARY})
|
SET(OSX_EXTRA_LIBS ${VVUVCKIT_LIBRARY} ${USB_LIBRARY})
|
||||||
|
|
||||||
set(UVC_SRC src/mynteye/uvc/macosx/CameraEngine.cpp src/mynteye/uvc/macosx/AVfoundationCamera.mm src/mynteye/uvc/macosx/uvc-vvuvckit.cc )
|
set(UVC_SRC src/mynteye/uvc/macosx/CameraEngine.cpp src/mynteye/uvc/macosx/AVfoundationCamera.mm src/mynteye/uvc/macosx/uvc-vvuvckit.cc )
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework CoreFoundation -framework AVFoundation -framework IOKit -framework AppKit -framework Cocoa -framework CoreMedia -framework CoreData -framework Foundation -framework CoreVideo ${__MACUVCLOG_FLAGS}")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework CoreFoundation -framework AVFoundation -framework IOKit -framework AppKit -framework Cocoa -framework CoreMedia -framework CoreData -framework Foundation -framework CoreVideo ${__MACUVCLOG_FLAGS}")
|
||||||
|
|
||||||
find_package(libuvc REQUIRED)
|
|
||||||
set(UVC_LIB ${libuvc_LIBRARIES})
|
|
||||||
|
|
||||||
include_directories(${libuvc_INCLUDE_DIRS})
|
|
||||||
elseif(OS_LINUX)
|
elseif(OS_LINUX)
|
||||||
set(UVC_SRC src/mynteye/uvc/linux/uvc-v4l2.cc)
|
set(UVC_SRC src/mynteye/uvc/linux/uvc-v4l2.cc)
|
||||||
else()
|
else()
|
||||||
@ -163,12 +187,19 @@ set(MYNTEYE_SRCS
|
|||||||
src/mynteye/types.cc
|
src/mynteye/types.cc
|
||||||
src/mynteye/util/files.cc
|
src/mynteye/util/files.cc
|
||||||
src/mynteye/util/strings.cc
|
src/mynteye/util/strings.cc
|
||||||
src/mynteye/device/channels.cc
|
src/mynteye/device/channel/bytes.cc
|
||||||
|
src/mynteye/device/channel/channels.cc
|
||||||
|
src/mynteye/device/channel/file_channel.cc
|
||||||
src/mynteye/device/config.cc
|
src/mynteye/device/config.cc
|
||||||
src/mynteye/device/context.cc
|
src/mynteye/device/context.cc
|
||||||
src/mynteye/device/device.cc
|
src/mynteye/device/device.cc
|
||||||
src/mynteye/device/device_s.cc
|
|
||||||
src/mynteye/device/motions.cc
|
src/mynteye/device/motions.cc
|
||||||
|
src/mynteye/device/standard/channels_adapter_s.cc
|
||||||
|
src/mynteye/device/standard/device_s.cc
|
||||||
|
src/mynteye/device/standard/streams_adapter_s.cc
|
||||||
|
src/mynteye/device/standard2/channels_adapter_s2.cc
|
||||||
|
src/mynteye/device/standard2/device_s2.cc
|
||||||
|
src/mynteye/device/standard2/streams_adapter_s2.cc
|
||||||
src/mynteye/device/streams.cc
|
src/mynteye/device/streams.cc
|
||||||
src/mynteye/device/types.cc
|
src/mynteye/device/types.cc
|
||||||
src/mynteye/device/utils.cc
|
src/mynteye/device/utils.cc
|
||||||
@ -179,13 +210,23 @@ if(WITH_API)
|
|||||||
src/mynteye/api/dl.cc
|
src/mynteye/api/dl.cc
|
||||||
src/mynteye/api/processor.cc
|
src/mynteye/api/processor.cc
|
||||||
src/mynteye/api/synthetic.cc
|
src/mynteye/api/synthetic.cc
|
||||||
src/mynteye/api/processor/rectify_processor.cc
|
|
||||||
src/mynteye/api/processor/disparity_processor.cc
|
src/mynteye/api/processor/disparity_processor.cc
|
||||||
src/mynteye/api/processor/disparity_normalized_processor.cc
|
src/mynteye/api/processor/disparity_normalized_processor.cc
|
||||||
src/mynteye/api/processor/depth_processor.cc
|
src/mynteye/api/processor/root_camera_processor.cc
|
||||||
src/mynteye/api/processor/points_processor.cc
|
src/mynteye/api/processor/rectify_processor_ocv.cc
|
||||||
|
src/mynteye/api/correspondence.cc
|
||||||
|
src/mynteye/api/version_checker.cc
|
||||||
|
src/mynteye/api/data_tools.cc
|
||||||
)
|
)
|
||||||
|
if(WITH_CAM_MODELS)
|
||||||
|
list(APPEND MYNTEYE_SRCS
|
||||||
|
src/mynteye/api/processor/depth_processor.cc
|
||||||
|
src/mynteye/api/processor/points_processor.cc
|
||||||
|
src/mynteye/api/processor/rectify_processor.cc
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT WITH_GLOG)
|
if(NOT WITH_GLOG)
|
||||||
list(APPEND MYNTEYE_SRCS src/mynteye/miniglog.cc)
|
list(APPEND MYNTEYE_SRCS src/mynteye/miniglog.cc)
|
||||||
endif()
|
endif()
|
||||||
@ -200,12 +241,16 @@ endif()
|
|||||||
if(WITH_GLOG)
|
if(WITH_GLOG)
|
||||||
list(APPEND MYNTEYE_LINKLIBS glog::glog)
|
list(APPEND MYNTEYE_LINKLIBS glog::glog)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#message(STATUS "MYNTEYE_LINKLIBS: ${MYNTEYE_LINKLIBS}")
|
#message(STATUS "MYNTEYE_LINKLIBS: ${MYNTEYE_LINKLIBS}")
|
||||||
|
|
||||||
add_library(${MYNTEYE_NAME} SHARED ${MYNTEYE_SRCS})
|
add_library(${MYNTEYE_NAME} SHARED ${MYNTEYE_SRCS})
|
||||||
target_link_libraries(${MYNTEYE_NAME} ${MYNTEYE_LINKLIBS})
|
target_link_libraries(${MYNTEYE_NAME} PUBLIC ${MYNTEYE_LINKLIBS})
|
||||||
if(OS_MAC)
|
if(OS_MAC)
|
||||||
target_link_libraries( ${MYNTEYE_NAME} ${OSX_EXTRA_LIBS} )
|
target_link_libraries(${MYNTEYE_NAME} PUBLIC ${OSX_EXTRA_LIBS} )
|
||||||
|
endif()
|
||||||
|
if(WITH_CAM_MODELS)
|
||||||
|
target_link_libraries(${MYNTEYE_NAME} PRIVATE camera_models)
|
||||||
endif()
|
endif()
|
||||||
target_link_threads(${MYNTEYE_NAME})
|
target_link_threads(${MYNTEYE_NAME})
|
||||||
|
|
||||||
@ -245,6 +290,7 @@ install(FILES
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/callbacks.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/callbacks.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/context.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/context.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/device.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/device.h
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/types.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/utils.h
|
${CMAKE_CURRENT_SOURCE_DIR}/include/mynteye/device/utils.h
|
||||||
DESTINATION ${MYNTEYE_CMAKE_INCLUDE_DIR}/device
|
DESTINATION ${MYNTEYE_CMAKE_INCLUDE_DIR}/device
|
||||||
)
|
)
|
||||||
|
36
Jenkinsfile
vendored
@ -16,7 +16,10 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
echo "WORKSPACE: ${env.WORKSPACE}"
|
echo "WORKSPACE: ${env.WORKSPACE}"
|
||||||
echo 'apt-get ..'
|
echo 'apt-get ..'
|
||||||
sh 'apt-get update'
|
sh '''
|
||||||
|
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||||
|
apt-get update
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Init') {
|
stage('Init') {
|
||||||
@ -39,24 +42,21 @@ pipeline {
|
|||||||
sh '. /opt/ros/kinetic/setup.sh; make install SUDO='
|
sh '. /opt/ros/kinetic/setup.sh; make install SUDO='
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Test') {
|
|
||||||
steps {
|
|
||||||
echo 'make test ..'
|
|
||||||
sh '. /opt/ros/kinetic/setup.sh; make test SUDO='
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Samples') {
|
stage('Samples') {
|
||||||
steps {
|
steps {
|
||||||
echo 'make samples ..'
|
echo 'make samples ..'
|
||||||
sh '. /opt/ros/kinetic/setup.sh; make samples SUDO='
|
sh '. /opt/ros/kinetic/setup.sh; make samples SUDO='
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
stage('Tools') {
|
stage('Tools') {
|
||||||
steps {
|
steps {
|
||||||
echo 'make tools ..'
|
echo 'make tools ..'
|
||||||
sh '. /opt/ros/kinetic/setup.sh; make tools SUDO='
|
sh '. /opt/ros/kinetic/setup.sh; make tools SUDO='
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
stage('ROS') {
|
stage('ROS') {
|
||||||
steps {
|
steps {
|
||||||
echo 'make ros ..'
|
echo 'make ros ..'
|
||||||
@ -82,22 +82,36 @@ pipeline {
|
|||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
echo 'This will always run'
|
echo 'This will always run'
|
||||||
|
/*
|
||||||
|
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||||
|
imageUrl: 'http://icon-park.com/imagefiles/loading7_gray.gif',
|
||||||
|
message: '开始构建',
|
||||||
|
jenkinsUrl: "${JENKINS_URL}"
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
success {
|
success {
|
||||||
echo 'This will run only if successful'
|
echo 'This will run only if successful'
|
||||||
|
/*
|
||||||
|
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||||
|
imageUrl: 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-check-icon.png',
|
||||||
|
message: '构建成功',
|
||||||
|
jenkinsUrl: "${JENKINS_URL}"
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
failure {
|
failure {
|
||||||
echo 'This will run only if failed'
|
echo 'This will run only if failed'
|
||||||
mail to: 'mynteye-ci@slightech.com',
|
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||||
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
|
imageUrl: 'http://www.iconsdb.com/icons/preview/soylent-red/x-mark-3-xxl.png',
|
||||||
body: "Something is wrong with ${env.BUILD_URL}"
|
message: '构建失败',
|
||||||
|
jenkinsUrl: "${JENKINS_URL}"
|
||||||
}
|
}
|
||||||
unstable {
|
unstable {
|
||||||
echo 'This will run only if the run was marked as unstable'
|
echo 'This will run only if the run was marked as unstable'
|
||||||
}
|
}
|
||||||
changed {
|
changed {
|
||||||
echo 'This will run only if the state of the Pipeline has changed'
|
echo 'This will run only if the state of the Pipeline has changed'
|
||||||
echo 'For example, if the Pipeline was previously failing but is now successful'
|
echo 'For example, if the Pipeline was previously failing but is now successful11'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
127
Makefile
@ -22,7 +22,14 @@ MKFILE_DIR := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
|
|||||||
# UNIX: /usr/local
|
# UNIX: /usr/local
|
||||||
# Windows: c:/Program Files/${PROJECT_NAME}
|
# Windows: c:/Program Files/${PROJECT_NAME}
|
||||||
|
|
||||||
|
# Options
|
||||||
|
#
|
||||||
|
# SUDO: sudo command
|
||||||
|
#
|
||||||
|
# e.g. make [TARGET] SUDO=
|
||||||
|
|
||||||
SUDO ?= sudo
|
SUDO ?= sudo
|
||||||
|
CMAKE_BUILD_EXTRA_OPTIONS ?=
|
||||||
|
|
||||||
.DEFAULT_GOAL := all
|
.DEFAULT_GOAL := all
|
||||||
|
|
||||||
@ -34,47 +41,34 @@ help:
|
|||||||
@echo " make init init project"
|
@echo " make init init project"
|
||||||
@echo " make build build project"
|
@echo " make build build project"
|
||||||
@echo " make install install project"
|
@echo " make install install project"
|
||||||
@echo " make test build test and run"
|
|
||||||
@echo " make samples build samples"
|
@echo " make samples build samples"
|
||||||
@echo " make tools build tools"
|
@echo " make pkg package sdk(windows)"
|
||||||
@echo " make pkg package sdk"
|
|
||||||
@echo " make ros build ros wrapper"
|
@echo " make ros build ros wrapper"
|
||||||
@echo " make py build python wrapper"
|
|
||||||
@echo " make clean|cleanall clean generated or useless things"
|
@echo " make clean|cleanall clean generated or useless things"
|
||||||
|
|
||||||
.PHONY: help
|
.PHONY: help
|
||||||
|
|
||||||
all: init samples tools ros
|
all: init samples ros
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
|
|
||||||
# doc
|
# doc
|
||||||
|
|
||||||
apidoc:
|
doc: apidoc
|
||||||
|
|
||||||
|
apidoc: cleandoc
|
||||||
@$(call echo,Make $@)
|
@$(call echo,Make $@)
|
||||||
@# @[ -e ./_install/include ] || $(MAKE) install
|
@cd docs; make html
|
||||||
@[ -e /usr/local/include/mynteye ] || $(MAKE) install
|
|
||||||
@$(SH) ./doc/build.sh
|
|
||||||
|
|
||||||
opendoc: apidoc
|
opendoc: apidoc
|
||||||
@$(call echo,Make $@)
|
@$(call echo,Make $@)
|
||||||
@$(shell $(SH) ./doc/langs.sh 1); \
|
@$(SH) ./scripts/open.sh docs/_build/html/index.html
|
||||||
for lang in "$${LANGS[@]}"; do \
|
|
||||||
html=./doc/_output/$$lang/html/index.html; \
|
|
||||||
[ -f "$$html" ] && $(SH) ./scripts/open.sh $$html; \
|
|
||||||
done
|
|
||||||
|
|
||||||
cleandoc:
|
cleandoc:
|
||||||
@$(call rm,./doc/_output/)
|
@$(call rm,./docs/_build/)
|
||||||
|
@$(call rm,./docs/_doxygen/)
|
||||||
|
|
||||||
.PHONY: apidoc opendoc cleandoc
|
.PHONY: doc apidoc opendoc cleandoc
|
||||||
|
|
||||||
# deps
|
|
||||||
|
|
||||||
submodules:
|
|
||||||
@git submodule update --init
|
|
||||||
|
|
||||||
.PHONY: submodules
|
|
||||||
|
|
||||||
# init
|
# init
|
||||||
|
|
||||||
@ -89,36 +83,16 @@ init:
|
|||||||
build:
|
build:
|
||||||
@$(call echo,Make $@)
|
@$(call echo,Make $@)
|
||||||
ifeq ($(HOST_OS),Win)
|
ifeq ($(HOST_OS),Win)
|
||||||
@$(call cmake_build,./_build,..,-DCMAKE_INSTALL_PREFIX=$(MKFILE_DIR)/_install)
|
@$(call cmake_build,./_build,..,-DCMAKE_INSTALL_PREFIX=$(MKFILE_DIR)/_install $(CMAKE_BUILD_EXTRA_OPTIONS))
|
||||||
else
|
else
|
||||||
@$(call cmake_build,./_build,..)
|
@$(call cmake_build,./_build,..,$(CMAKE_BUILD_EXTRA_OPTIONS))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
|
|
||||||
# test
|
|
||||||
|
|
||||||
test: submodules install
|
|
||||||
@$(call echo,Make $@)
|
|
||||||
@$(call echo,Make gtest,33)
|
|
||||||
ifeq ($(HOST_OS),Win)
|
|
||||||
@$(call cmake_build,./test/gtest/_build,..,-Dgtest_force_shared_crt=ON)
|
|
||||||
else
|
|
||||||
@$(call cmake_build,./test/gtest/_build)
|
|
||||||
endif
|
|
||||||
@$(call echo,Make test,33)
|
|
||||||
@$(call cmake_build,./test/_build)
|
|
||||||
ifeq ($(HOST_OS),Win)
|
|
||||||
@.\\\test\\\_output\\\bin\\\mynteye_test.bat
|
|
||||||
else
|
|
||||||
@./test/_output/bin/mynteye_test
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: test
|
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
|
||||||
install: build
|
install: uninstall build
|
||||||
@$(call echo,Make $@)
|
@$(call echo,Make $@)
|
||||||
ifeq ($(HOST_OS),Win)
|
ifeq ($(HOST_OS),Win)
|
||||||
ifneq ($(HOST_NAME),MinGW)
|
ifneq ($(HOST_NAME),MinGW)
|
||||||
@ -155,14 +129,6 @@ samples: install
|
|||||||
|
|
||||||
.PHONY: samples
|
.PHONY: samples
|
||||||
|
|
||||||
# tools
|
|
||||||
|
|
||||||
tools: install
|
|
||||||
@$(call echo,Make $@)
|
|
||||||
@$(call cmake_build,./tools/_build)
|
|
||||||
|
|
||||||
.PHONY: tools
|
|
||||||
|
|
||||||
# pkg
|
# pkg
|
||||||
|
|
||||||
pkg: clean
|
pkg: clean
|
||||||
@ -205,43 +171,6 @@ cleanros:
|
|||||||
|
|
||||||
.PHONY: cleanros
|
.PHONY: cleanros
|
||||||
|
|
||||||
# python
|
|
||||||
|
|
||||||
PBCVT_DIR := wrappers/python/third_party/pyboostcvconverter
|
|
||||||
|
|
||||||
$(PBCVT_DIR):
|
|
||||||
@git clone https://github.com/Algomorph/pyboostcvconverter.git $@
|
|
||||||
|
|
||||||
pbcvt: $(PBCVT_DIR)
|
|
||||||
@$(call cmake_build,$(PBCVT_DIR)/_build,.., \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=$(MKFILE_DIR)/wrappers/python/_install \
|
|
||||||
-DPYTHON_DESIRED_VERSION=2.X)
|
|
||||||
@cd $(PBCVT_DIR)/_build; make install
|
|
||||||
|
|
||||||
.PHONY: pbcvt
|
|
||||||
|
|
||||||
NPCV_DIR := wrappers/python/third_party/numpy-opencv-converter
|
|
||||||
|
|
||||||
$(NPCV_DIR):
|
|
||||||
@git clone https://github.com/GarrickLin/numpy-opencv-converter.git $@
|
|
||||||
|
|
||||||
py: python
|
|
||||||
|
|
||||||
python: install $(NPCV_DIR)
|
|
||||||
@$(call echo,Make $@)
|
|
||||||
@$(call cmake_build,./wrappers/python/_build)
|
|
||||||
@cd ./wrappers/python/_build; make install
|
|
||||||
|
|
||||||
.PHONY: py python
|
|
||||||
|
|
||||||
cleanpy:
|
|
||||||
@$(call echo,Make $@)
|
|
||||||
@$(call rm,./wrappers/python/_build/)
|
|
||||||
@$(call rm,./wrappers/python/_output/)
|
|
||||||
@$(call rm,./wrappers/python/_install/)
|
|
||||||
@$(call rm,./$(PBCVT_DIR)/_build/)
|
|
||||||
|
|
||||||
.PHONY: cleanpy
|
|
||||||
|
|
||||||
# clean
|
# clean
|
||||||
|
|
||||||
@ -252,15 +181,10 @@ clean:
|
|||||||
@$(call rm,./_install/)
|
@$(call rm,./_install/)
|
||||||
@$(call rm,./samples/_build/)
|
@$(call rm,./samples/_build/)
|
||||||
@$(call rm,./samples/_output/)
|
@$(call rm,./samples/_output/)
|
||||||
@$(call rm,./tools/_build/)
|
|
||||||
@$(call rm,./tools/_output/)
|
|
||||||
@$(call rm,./test/_build/)
|
|
||||||
@$(call rm,./test/_output/)
|
|
||||||
@$(MAKE) cleanlog
|
@$(MAKE) cleanlog
|
||||||
ifeq ($(HOST_OS),Linux)
|
ifeq ($(HOST_OS),Linux)
|
||||||
@$(MAKE) cleanros
|
@$(MAKE) cleanros
|
||||||
endif
|
endif
|
||||||
@$(MAKE) cleanpy
|
|
||||||
|
|
||||||
cleanlog:
|
cleanlog:
|
||||||
@$(call rm_f,*INFO*)
|
@$(call rm_f,*INFO*)
|
||||||
@ -269,11 +193,7 @@ cleanlog:
|
|||||||
@$(call rm_f,*FATAL*)
|
@$(call rm_f,*FATAL*)
|
||||||
|
|
||||||
cleanall: clean cleandoc
|
cleanall: clean cleandoc
|
||||||
@$(call rm,./test/gtest/_build/)
|
|
||||||
@$(call rm,./third_party/glog/_build/)
|
|
||||||
@$(FIND) . -type f -name ".DS_Store" -print0 | xargs -0 rm -f
|
@$(FIND) . -type f -name ".DS_Store" -print0 | xargs -0 rm -f
|
||||||
@$(call rm,./$(PBCVT_DIR)/)
|
|
||||||
@$(call rm,./$(NPCV_DIR)/)
|
|
||||||
|
|
||||||
.PHONY: clean cleanlog cleanall
|
.PHONY: clean cleanlog cleanall
|
||||||
|
|
||||||
@ -296,11 +216,6 @@ host:
|
|||||||
@echo LDD: $(LDD)
|
@echo LDD: $(LDD)
|
||||||
@echo CMAKE: $(CMAKE)
|
@echo CMAKE: $(CMAKE)
|
||||||
@echo PKGNAME: $(PKGNAME)
|
@echo PKGNAME: $(PKGNAME)
|
||||||
|
@echo CMAKE_BUILD_EXTRA_OPTIONS: $(CMAKE_BUILD_EXTRA_OPTIONS)
|
||||||
|
|
||||||
.PHONY: host
|
.PHONY: host
|
||||||
|
|
||||||
cpplint: submodules
|
|
||||||
@$(call echo,Make $@)
|
|
||||||
@$(SH) ./scripts/$@.sh
|
|
||||||
|
|
||||||
.PHONY: cpplint
|
|
||||||
|
13
README.md
@ -1,6 +1,6 @@
|
|||||||
# MYNT® EYE S SDK
|
# MYNT® EYE S SDK
|
||||||
|
|
||||||
[](https://github.com/slightech/MYNT-EYE-S-SDK)
|
[](https://github.com/slightech/MYNT-EYE-S-SDK)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
@ -17,11 +17,8 @@ Please follow the guide doc to install the SDK on different platforms.
|
|||||||
## Documentations
|
## Documentations
|
||||||
|
|
||||||
* [API Doc](https://github.com/slightech/MYNT-EYE-S-SDK/releases): API reference, some guides and data spec.
|
* [API Doc](https://github.com/slightech/MYNT-EYE-S-SDK/releases): API reference, some guides and data spec.
|
||||||
* en: [](https://github.com/slightech/MYNT-EYE-S-SDK/files/2683636/mynt-eye-s-sdk-apidoc-2.2.2-en.pdf) [](https://github.com/slightech/MYNT-EYE-S-SDK/files/2683637/mynt-eye-s-sdk-apidoc-2.2.2-en.zip) [](https://slightech.github.io/MYNT-EYE-S-SDK/)
|
* en: [](https://readthedocs.org/projects/mynt-eye-s-sdk/downloads/pdf/latest/) [](https://readthedocs.org/projects/mynt-eye-s-sdk/downloads/htmlzip/latest/) [](https://mynt-eye-s-sdk.readthedocs.io/en/latest/)
|
||||||
* zh-Hans: [](https://github.com/slightech/MYNT-EYE-S-SDK/files/2683638/mynt-eye-s-sdk-apidoc-2.2.2-zh-Hans.pdf) [](https://github.com/slightech/MYNT-EYE-S-SDK/files/2683639/mynt-eye-s-sdk-apidoc-2.2.2-zh-Hans.zip) [](http://doc.myntai.com/resource/api/mynt-eye-s-sdk-apidoc-2.2.2-zh-Hans/mynt-eye-s-sdk-apidoc-2.2.2-zh-Hans/index.html)
|
* zh-Hans: [](https://readthedocs.org/projects/mynt-eye-s-sdk-docs-zh-cn/downloads/pdf/latest/) [](https://readthedocs.org/projects/mynt-eye-s-sdk-docs-zh-cn/downloads/htmlzip/latest/) [](https://mynt-eye-s-sdk-docs-zh-cn.readthedocs.io/zh_CN/latest/)
|
||||||
* [Guide Doc](https://github.com/slightech/MYNT-EYE-S-SDK-Guide/releases): How to install and start using the SDK.
|
|
||||||
* en: [](https://github.com/slightech/MYNT-EYE-S-SDK-Guide/files/2683625/mynt-eye-s-sdk-guide-2.2.2-en.pdf) [](https://github.com/slightech/MYNT-EYE-S-SDK-Guide/files/2683626/mynt-eye-s-sdk-guide-2.2.2-en.zip) [](https://slightech.github.io/MYNT-EYE-S-SDK-Guide/)
|
|
||||||
* zh-Hans: [](https://github.com/slightech/MYNT-EYE-S-SDK-Guide/files/2683627/mynt-eye-s-sdk-guide-2.2.2-zh-Hans.pdf) [](https://github.com/slightech/MYNT-EYE-S-SDK-Guide/files/2683628/mynt-eye-s-sdk-guide-2.2.2-zh-Hans.zip) [](http://doc.myntai.com/resource/sdk/mynt-eye-s-sdk-guide-2.2.2-zh-Hans/mynt-eye-s-sdk-guide-2.2.2-zh-Hans/index.html)
|
|
||||||
|
|
||||||
> Supported languages: `en`, `zh-Hans`.
|
> Supported languages: `en`, `zh-Hans`.
|
||||||
|
|
||||||
@ -29,7 +26,7 @@ Please follow the guide doc to install the SDK on different platforms.
|
|||||||
|
|
||||||
[MYNTEYE_BOX]: http://doc.myntai.com/mynteye/s/download
|
[MYNTEYE_BOX]: http://doc.myntai.com/mynteye/s/download
|
||||||
|
|
||||||
Get firmwares from our online disks: [MYNTEYE_BOX][]. The latest version is `2.2.2`.
|
Get firmwares from our online disks: [MYNTEYE_BOX][].
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@ -56,7 +53,7 @@ Init project, build samples and run someone.
|
|||||||
```bash
|
```bash
|
||||||
make init
|
make init
|
||||||
make samples
|
make samples
|
||||||
./samples/_output/bin/device/camera_d
|
./samples/_output/bin/camera_with_junior_device_api
|
||||||
```
|
```
|
||||||
|
|
||||||
## Mirrors
|
## Mirrors
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
# Copyright 2018 Slightech Co., Ltd. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/IncludeGuard.cmake)
|
|
||||||
cmake_include_guard()
|
|
||||||
|
|
||||||
get_filename_component(__pro_dir ${CMAKE_CURRENT_LIST_DIR} DIRECTORY)
|
|
||||||
LIST(APPEND CMAKE_PREFIX_PATH ${__pro_dir}/third_party/glog/_build)
|
|
||||||
|
|
||||||
find_package(glog REQUIRED)
|
|
||||||
if(glog_FOUND)
|
|
||||||
add_definitions(-DWITH_GLOG)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
unset(__pro_dir)
|
|
@ -26,14 +26,13 @@ if(OpenCV_FOUND)
|
|||||||
#message(STATUS "Found OpenCV: ${OpenCV_VERSION}")
|
#message(STATUS "Found OpenCV: ${OpenCV_VERSION}")
|
||||||
|
|
||||||
set(WITH_OPENCV TRUE)
|
set(WITH_OPENCV TRUE)
|
||||||
add_definitions(-DWITH_OPENCV)
|
|
||||||
|
|
||||||
if(OpenCV_VERSION VERSION_LESS 3.0)
|
if(OpenCV_VERSION VERSION_LESS 3.0)
|
||||||
add_definitions(-DWITH_OPENCV2)
|
set(WITH_OPENCV2 TRUE)
|
||||||
elseif(OpenCV_VERSION VERSION_LESS 4.0)
|
elseif(OpenCV_VERSION VERSION_LESS 4.0)
|
||||||
add_definitions(-DWITH_OPENCV3)
|
set(WITH_OPENCV3 TRUE)
|
||||||
else()
|
else()
|
||||||
add_definitions(-DWITH_OPENCV4)
|
set(WITH_OPENCV4 TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
list(FIND OpenCV_LIBS "opencv_world" __index)
|
list(FIND OpenCV_LIBS "opencv_world" __index)
|
||||||
@ -41,12 +40,35 @@ if(${__index} GREATER -1)
|
|||||||
set(WITH_OPENCV_WORLD TRUE)
|
set(WITH_OPENCV_WORLD TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(NOT OpenCV_LIB_PATH)
|
||||||
|
list(LENGTH OpenCV_INCLUDE_DIRS __length)
|
||||||
|
if(${__length} GREATER 0)
|
||||||
|
list(GET OpenCV_INCLUDE_DIRS 0 __include_dir)
|
||||||
|
string(REGEX REPLACE "include.*$" "lib" __lib_dir "${__include_dir}")
|
||||||
|
find_library(__opencv_lib
|
||||||
|
NAMES opencv_core3 opencv_core opencv_world
|
||||||
|
PATHS "${__lib_dir}" "${__lib_dir}/x86_64-linux-gnu"
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
#message(STATUS "__opencv_lib: ${__opencv_lib}")
|
||||||
|
if(__opencv_lib)
|
||||||
|
get_filename_component(OpenCV_LIB_PATH "${__opencv_lib}" DIRECTORY)
|
||||||
|
else()
|
||||||
|
set(OpenCV_LIB_PATH "${__lib_dir}")
|
||||||
|
endif()
|
||||||
|
#message(STATUS "OpenCV_LIB_PATH: ${OpenCV_LIB_PATH}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(MSVC OR MSYS OR MINGW)
|
if(MSVC OR MSYS OR MINGW)
|
||||||
get_filename_component(OpenCV_LIB_SEARCH_PATH "${OpenCV_LIB_PATH}/../bin" ABSOLUTE)
|
get_filename_component(OpenCV_LIB_SEARCH_PATH "${OpenCV_LIB_PATH}/../bin" ABSOLUTE)
|
||||||
else()
|
else()
|
||||||
set(OpenCV_LIB_SEARCH_PATH "${OpenCV_LIB_PATH}")
|
set(OpenCV_LIB_SEARCH_PATH "${OpenCV_LIB_PATH}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
include_directories(
|
||||||
|
${OpenCV_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
|
||||||
set(WITH_OPENCV FALSE)
|
set(WITH_OPENCV FALSE)
|
||||||
|
@ -21,9 +21,10 @@ include(${CMAKE_CURRENT_LIST_DIR}/Utils.cmake)
|
|||||||
# build components
|
# build components
|
||||||
|
|
||||||
option(WITH_API "Build with API layer, need OpenCV" ON)
|
option(WITH_API "Build with API layer, need OpenCV" ON)
|
||||||
|
|
||||||
option(WITH_DEVICE_INFO_REQUIRED "Build with device info required" ON)
|
option(WITH_DEVICE_INFO_REQUIRED "Build with device info required" ON)
|
||||||
|
|
||||||
|
option(WITH_CAM_MODELS "Build with more camera models, WITH_API must be ON" ON)
|
||||||
|
|
||||||
# 3rdparty components
|
# 3rdparty components
|
||||||
|
|
||||||
option(WITH_BOOST "Include Boost support" ON)
|
option(WITH_BOOST "Include Boost support" ON)
|
||||||
@ -32,25 +33,23 @@ option(WITH_BOOST "Include Boost support" ON)
|
|||||||
# Ubuntu: `sudo apt-get install libgoogle-glog-dev`
|
# Ubuntu: `sudo apt-get install libgoogle-glog-dev`
|
||||||
option(WITH_GLOG "Include glog support" OFF)
|
option(WITH_GLOG "Include glog support" OFF)
|
||||||
|
|
||||||
|
|
||||||
# packages
|
# packages
|
||||||
|
|
||||||
if(WITH_API)
|
if(WITH_API)
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/DetectOpenCV.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/DetectOpenCV.cmake)
|
||||||
endif()
|
if(WITH_OPENCV4)
|
||||||
|
set(WITH_CAM_MODELS OFF)
|
||||||
if(WITH_DEVICE_INFO_REQUIRED)
|
endif()
|
||||||
add_definitions(-DWITH_DEVICE_INFO_REQUIRED)
|
else()
|
||||||
|
# Disable WITH_CAM_MODELS if WITH_API is OFF
|
||||||
|
set(WITH_CAM_MODELS OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_BOOST)
|
if(WITH_BOOST)
|
||||||
find_package(Boost COMPONENTS filesystem)
|
find_package(Boost QUIET COMPONENTS filesystem)
|
||||||
if(Boost_FOUND)
|
if(Boost_FOUND)
|
||||||
set(Boost_VERSION_STRING "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
|
set(Boost_VERSION_STRING "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
|
||||||
set(WITH_FILESYSTEM TRUE)
|
set(WITH_FILESYSTEM TRUE)
|
||||||
set(WITH_BOOST_FILESYSTEM TRUE)
|
set(WITH_BOOST_FILESYSTEM TRUE)
|
||||||
add_definitions(-DWITH_FILESYSTEM)
|
|
||||||
add_definitions(-DWITH_BOOST_FILESYSTEM)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -58,13 +57,11 @@ if(NOT WITH_FILESYSTEM)
|
|||||||
if(MSVC OR MSYS OR MINGW) # win
|
if(MSVC OR MSYS OR MINGW) # win
|
||||||
set(WITH_FILESYSTEM TRUE)
|
set(WITH_FILESYSTEM TRUE)
|
||||||
set(WITH_NATIVE_FILESYSTEM TRUE)
|
set(WITH_NATIVE_FILESYSTEM TRUE)
|
||||||
add_definitions(-DWITH_FILESYSTEM)
|
|
||||||
add_definitions(-DWITH_NATIVE_FILESYSTEM)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_GLOG)
|
if(WITH_GLOG)
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/DetectGLog.cmake)
|
find_package(glog REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(CUDA QUIET)
|
find_package(CUDA QUIET)
|
||||||
@ -122,6 +119,8 @@ endif()
|
|||||||
|
|
||||||
status(" WITH_DEVICE_INFO_REQUIRED: ${WITH_DEVICE_INFO_REQUIRED}")
|
status(" WITH_DEVICE_INFO_REQUIRED: ${WITH_DEVICE_INFO_REQUIRED}")
|
||||||
|
|
||||||
|
status(" WITH_CAM_MODELS: ${WITH_CAM_MODELS}")
|
||||||
|
|
||||||
status(" WITH_BOOST: ${WITH_BOOST}")
|
status(" WITH_BOOST: ${WITH_BOOST}")
|
||||||
if(WITH_BOOST)
|
if(WITH_BOOST)
|
||||||
if(Boost_FOUND)
|
if(Boost_FOUND)
|
||||||
|
83
doc/build.sh
@ -1,83 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright 2018 Slightech Co., Ltd. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# _VERBOSE_=1
|
|
||||||
# _TEST_=1
|
|
||||||
|
|
||||||
BASE_DIR=$(cd "$(dirname "$0")" && pwd)
|
|
||||||
ROOT_DIR=$(realpath "$BASE_DIR/..")
|
|
||||||
SCRIPTS_DIR="$ROOT_DIR/scripts"
|
|
||||||
|
|
||||||
source "$SCRIPTS_DIR/common/echo.sh"
|
|
||||||
source "$SCRIPTS_DIR/common/mkdir.sh"
|
|
||||||
source "$SCRIPTS_DIR/common/detect.sh"
|
|
||||||
|
|
||||||
_detect "doxygen"
|
|
||||||
_detect "pdflatex" 1
|
|
||||||
|
|
||||||
source "$BASE_DIR/langs.sh"
|
|
||||||
DOXYFILE="api.doxyfile"
|
|
||||||
OUTPUT="$BASE_DIR/_output"
|
|
||||||
|
|
||||||
# \usepackage{CJKutf8}
|
|
||||||
# \begin{document}
|
|
||||||
# \begin{CJK}{UTF8}{gbsn}
|
|
||||||
# ...
|
|
||||||
# \end{CJK}
|
|
||||||
# \end{document}
|
|
||||||
_texcjk() {
|
|
||||||
tex="$1"; shift;
|
|
||||||
_echo_in "add cjk to $tex"
|
|
||||||
sed -i "" -E $'s/^\\\\begin{document}$/\\\\usepackage{CJKutf8}\\\n\\\\begin{document}\\\n\\\\begin{CJK}{UTF8}{gbsn}/g' $tex
|
|
||||||
sed -i "" -E $'s/^\\\\end{document}$/\\\\end{CJK}\\\n\\\\end{document}/g' $tex
|
|
||||||
}
|
|
||||||
|
|
||||||
for lang in "${LANGS[@]}"; do
|
|
||||||
_echo_s "Build doc $lang"
|
|
||||||
[ -d "$BASE_DIR/$lang" ] || continue
|
|
||||||
cd "$BASE_DIR/$lang"
|
|
||||||
if [ -f "$DOXYFILE" ]; then
|
|
||||||
_mkdir "$OUTPUT/$lang"
|
|
||||||
_echo_i "doxygen $DOXYFILE"
|
|
||||||
doxygen $DOXYFILE
|
|
||||||
|
|
||||||
version=`cat $DOXYFILE | grep -m1 "^PROJECT_NUMBER\s*=" | \
|
|
||||||
sed -E "s/^.*=[[:space:]]*(.*)[[:space:]]*$/\1/g"`
|
|
||||||
|
|
||||||
# html
|
|
||||||
if [ -d "$OUTPUT/$lang/html" ]; then
|
|
||||||
dirname="mynt-eye-s-sdk-apidoc"; \
|
|
||||||
[ -n "$version" ] && dirname="$dirname-$version"; \
|
|
||||||
dirname="$dirname-$lang"
|
|
||||||
cd "$OUTPUT/$lang"
|
|
||||||
[ -d "$dirname" ] && rm -rf "$dirname"
|
|
||||||
mv "html" "$dirname" && zip -r "$dirname.zip" "$dirname"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# latex
|
|
||||||
if [ $pdflatex_FOUND ] && [ -f "$OUTPUT/$lang/latex/Makefile" ]; then
|
|
||||||
_echo_in "doxygen make latex"
|
|
||||||
filename="mynt-eye-s-sdk-apidoc"; \
|
|
||||||
[ -n "$version" ] && filename="$filename-$version"; \
|
|
||||||
filename="$filename-$lang.pdf"
|
|
||||||
cd "$OUTPUT/$lang/latex" && _texcjk refman.tex && make
|
|
||||||
[ -f "refman.pdf" ] && mv "refman.pdf" "../$filename"
|
|
||||||
fi
|
|
||||||
|
|
||||||
_echo_d "doxygen completed"
|
|
||||||
else
|
|
||||||
_echo_e "$DOXYFILE not found"
|
|
||||||
fi
|
|
||||||
done
|
|
2495
doc/en/api.doxyfile
@ -1,11 +0,0 @@
|
|||||||
# MYNT EYE S SDK {#mainpage}
|
|
||||||
|
|
||||||
* <a class="el" href="annotated.html">API Classes</a>
|
|
||||||
* <a class="el" href="modules.html">API Modules</a>
|
|
||||||
* \link enumerations Enumerations\endlink
|
|
||||||
* \link datatypes Datatypes\endlink
|
|
||||||
* \link utils Utiliities\endlink
|
|
||||||
* \link calibration Intrinsics & Extrinsics\endlink
|
|
||||||
* <span style="font-weight:bold">Device Specifications</span>
|
|
||||||
* @subpage specs_data
|
|
||||||
* @subpage specs_ctrl
|
|
@ -1,26 +0,0 @@
|
|||||||
# Control Protocols {#spec_control_api}
|
|
||||||
|
|
||||||
There are two control modes, one is through UVC standard protocol, the other is through UVC custom protocol with extension unit.
|
|
||||||
|
|
||||||
## Standard Protocol
|
|
||||||
|
|
||||||
| Name | Field | Bytes | Default | Min | Max | Stored | Flash Address | Note |
|
|
||||||
| :--- | :---- | :---- | :------ | :-- | :-- | :----- | :------------ | :--- |
|
|
||||||
| Gain | gain | 2 | 24 | 0 | 48 | √ | 0x12 | valid if manual-exposure |
|
|
||||||
| Brightness | brightness/exposure_time | 2 | 120 | 0 | 240 | √ | 0x14 | valid if manual-exposure |
|
|
||||||
| Contrast | contrast/black_level_calibration | 2 | 127 | 0 | 255 | √ | 0x10 | valid if manual-exposure |
|
|
||||||
|
|
||||||
## Custom Protocol
|
|
||||||
|
|
||||||
| Name | Field | Bytes | Default | Min | Max | Stored | Flash Address | Channel | Note |
|
|
||||||
| :--- | :---- | :---- | :------ | :-- | :-- | :----- | :------------ | :------ | :----- |
|
|
||||||
| Frame rate | frame_rate | 2 | 25 | 10 | 60 | √ | 0x21 | XU_CAM_CTRL | values: {10,15,20,25,30,35,40,45,50,55,60} |
|
|
||||||
| IMU frequency | imu_frequency | 2 | 200 | 100 | 500 | √ | 0x23 | XU_CAM_CTRL | values: {100,200,250,333,500} |
|
|
||||||
| Exposure mode | exposure_mode | 1 | 0 | 0 | 1 | √ | 0x0F | XU_CAM_CTRL | 0: enable auto-exposure; 1: manual-exposure |
|
|
||||||
| Max gain | max_gain | 2 | 48 | 0 | 48 | √ | 0x1D | XU_CAM_CTRL | valid if auto-exposure |
|
|
||||||
| Max exposure time | max_exposure_time | 2 | 240 | 0 | 240 | √ | 0x1B | XU_CAM_CTRL | valid if auto-exposure |
|
|
||||||
| Desired brightness | desired_brightness | 2 | 192 | 0 | 255 | √ | 0x19 | XU_CAM_CTRL | valid if auto-exposure |
|
|
||||||
| IR control | ir_control | 1 | 0 | 0 | 160 | × | - | XU_CAM_CTRL | |
|
|
||||||
| HDR mode | hdr_mode | 1 | 0 | 0 | 1 | √ | 0x1F | XU_CAM_CTRL | 0: 10-bit; 1: 12-bit |
|
|
||||||
| Zero drift calibration | zero_drift_calibration | | - | - | - | × | - | XU_HALF_DUPLEX | |
|
|
||||||
| Erase chip | erase_chip | | - | - | - | × | - | XU_HALF_DUPLEX | |
|
|
@ -1,53 +0,0 @@
|
|||||||
# Control Channels {#spec_control_channel}
|
|
||||||
|
|
||||||
| Name | Field | Address | Bandwidth | Node |
|
|
||||||
| :----- | :----- | :----- | :----- | :----- |
|
|
||||||
| Camera control channel | XU_CAM_CTRL_CHANNEL | 1 | 3 | |
|
|
||||||
| Half-Duplex channel | XU_HALF_DUPLEX_CHANNEL | 2 | 20 | |
|
|
||||||
| IMU write channel | XU_IMUDATA_WRITE_CHANNEL | 3 | 5 | |
|
|
||||||
| IMU read channel | XU_IMUDATA_READ_CHANNEL | 4 | 2000 | |
|
|
||||||
| File channel | XU_FILE_CHANNEL | 5 | 2000 | |
|
|
||||||
|
|
||||||
## Camera Control Channel
|
|
||||||
|
|
||||||
The channel provides get, set and query (min, max, default).
|
|
||||||
|
|
||||||
## Half-Duplex Channel
|
|
||||||
|
|
||||||
The channel only provides set, such as zero drift correction.
|
|
||||||
|
|
||||||
## IMU Channel
|
|
||||||
|
|
||||||
The channel is used to request and response IMU data, see @ref spec_imu_data.
|
|
||||||
|
|
||||||
## File Channel
|
|
||||||
|
|
||||||
The channel is used to read and write device information, image params, and IMU params.
|
|
||||||
|
|
||||||
| Name | Header | Size | File | Checksum |
|
|
||||||
| :--- | :- | :--- | :--- | :-------- |
|
|
||||||
| Bytes | 1 | 2 | - | 1 |
|
|
||||||
| Type | uint8_t | uint16_t | - | uint8_t |
|
|
||||||
| Description | Flags | Content size | Content data | Checksum, XOR of all content bytes |
|
|
||||||
|
|
||||||
| Header Bit Subscript | Description |
|
|
||||||
| :------------------- | :---------- |
|
|
||||||
| 0 | Device information |
|
|
||||||
| 1 | Image params |
|
|
||||||
| 2 | IMU params |
|
|
||||||
| 3~6 | Undefined |
|
|
||||||
| 7 | 0: Get; 1: Set |
|
|
||||||
|
|
||||||
### File Content Packet
|
|
||||||
|
|
||||||
| Name | ID | Size | Content |
|
|
||||||
| :--- | :- | :--- | :------ |
|
|
||||||
| Bytes | 1 | 2 | - |
|
|
||||||
| Type | uint8_t | uint16_t | - |
|
|
||||||
| Description | Content ID | Content size | Content data |
|
|
||||||
|
|
||||||
| File | ID | Max Size |
|
|
||||||
| :--- | :- | :------- |
|
|
||||||
| Device information | 1 | 250 |
|
|
||||||
| Image params | 2 | 250 |
|
|
||||||
| IMU params | 4 | 500 |
|
|
@ -1,14 +0,0 @@
|
|||||||
# Device Information {#spec_hardware_info}
|
|
||||||
|
|
||||||
| Name | Field | Fixed Value | USB Descriptor | UVC Extension Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :-------- | :-------------- | :----------------- | :-------- | :----- |
|
|
||||||
| VID | vid | 0x04B4 | √ | × | 2 | |
|
|
||||||
| PID | pid | 0x00F9 | √ | × | 2 | |
|
|
||||||
| Device name | name | MYNT-EYE-? | √ | √ Get | 16 | MYNT-EYE-S1000 |
|
|
||||||
| Serial number | serial_number | - | √ | √ Get | 16 | |
|
|
||||||
| Firmware version | firmware_version | - | √ | √ Get | 2 | major,minor |
|
|
||||||
| Hardware version | hardware_version | - | × | √ Get | 3 | major,minor,flag |
|
|
||||||
| Spec version | spec_version | - | × | √ Get | 2 | major,minor |
|
|
||||||
| Lens type | lens_type | - | × | √ Get/Set | 4 | vendor(2),product(2); default: 0 |
|
|
||||||
| IMU type | imu_type | - | × | √ Get/Set | 4 | vendor(2),product(2); default: 0 |
|
|
||||||
| Nominal baseline | nominal_baseline | - | × | √ Get/Set | 2 | unit: mm; default: 0 |
|
|
@ -1,20 +0,0 @@
|
|||||||
# Image Data {#spec_image_data}
|
|
||||||
|
|
||||||
| Name | Field | Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| Frame ID | frame_id | - | 2 | uint16_t; [0,65535] |
|
|
||||||
| Timestamp | timestamp | 10 us | 4 | uint32_t |
|
|
||||||
| Exposure Time | exposure_time | 10 us | 2 | uint16_t |
|
|
||||||
|
|
||||||
## Image Packet
|
|
||||||
|
|
||||||
| Name | Header | Size | Frame ID | Timestamp | Exposure Time | Checksum |
|
|
||||||
| :--- | :----- | :--- | :------- | :-------- | :------------ | :------- |
|
|
||||||
| Bytes | 1 | 1 | 2 | 4 | 2 | 1 |
|
|
||||||
| Type | uint8_t | uint8_t | uint16_t | uint32_t | uint16_t | uint8_t |
|
|
||||||
| Description | 0x3B | 0x08, content size | Frame ID | Timestamp | Exposure time | Checksum, XOR of all content bytes |
|
|
||||||
|
|
||||||
* The image packet will be dropped, if checksum is incorrect.
|
|
||||||
* The accuracy of the time unit: 0.01 ms / 10 us.
|
|
||||||
* The timestamp could indicate 11.9 hours, it will accumulate again after overflow.
|
|
||||||
* The timestamp accumulation starts from the time of power-on, instead of opening.
|
|
@ -1,23 +0,0 @@
|
|||||||
# Image Params {#spec_image_params}
|
|
||||||
|
|
||||||
## Image Intrinsics
|
|
||||||
|
|
||||||
| Name | Field | Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| Image width | width | px | 2 | uint16_t; [0,65535] |
|
|
||||||
| Image height | height | px | 2 | uint16_t; [0,65535] |
|
|
||||||
| Focal length | fx | - | 8 | double |
|
|
||||||
| ^ | fy | - | 8 | double |
|
|
||||||
| Principal point | cx | - | 8 | double |
|
|
||||||
| ^ | cy | - | 8 | double |
|
|
||||||
| Distortion model | model | - | 1 | uint8_t; pinhole,... |
|
|
||||||
| Distortion coefficients | coeffs[5] | - | 40 | double; k1,k2,p1,p2,k3 |
|
|
||||||
|
|
||||||
## Image Extrinsics
|
|
||||||
|
|
||||||
Transformation matrix from left image to right image.
|
|
||||||
|
|
||||||
| Name | Field | Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| Rotation matrix | rotation[3][3] | - | 72 | double |
|
|
||||||
| Translation vector | translation[3] | - | 24 | double |
|
|
@ -1,42 +0,0 @@
|
|||||||
# IMU Data {#spec_imu_data}
|
|
||||||
|
|
||||||
## IMU Request Packet
|
|
||||||
|
|
||||||
| Name | Header | Serial Number |
|
|
||||||
| :--- | :----- | :------------ |
|
|
||||||
| Bytes | 1 | 4 |
|
|
||||||
| Type | uint8_t | uint32_t |
|
|
||||||
| Description | 0x5A | First request should be 0, otherwise the last one |
|
|
||||||
|
|
||||||
## IMU Response Packet
|
|
||||||
|
|
||||||
The IMU response packet contains multiple IMU packets, and each IMU packet contains multiple IMU segments.
|
|
||||||
|
|
||||||
| Name | Header | State | Size | IMU Packets | Checksum |
|
|
||||||
| :--- | :----- | :---- | :--- | :---------- | :------- |
|
|
||||||
| Bytes | 1 | 1 | 2 | ... | 1 |
|
|
||||||
| Type | uint8_t | uint8_t | uint16_t | - | uint8_t |
|
|
||||||
| Description | 0x5B | 0 is success, others are failed | Content size | IMU packets | Checksum, XOR of all content bytes |
|
|
||||||
|
|
||||||
### IMU Packet
|
|
||||||
|
|
||||||
The IMU packet is an array of IMU datas.
|
|
||||||
|
|
||||||
| Name | Serial Number | Timestamp | Count | IMU Datas |
|
|
||||||
| :--- | :------------ | :-------- | :---- | :-------- |
|
|
||||||
| Bytes | 4 | 4 | 1 | ... |
|
|
||||||
| Type | uint32_t | uint32_t | uint8_t | - |
|
|
||||||
| Description | Serial number | IMU basic timestamp | The number of IMU datas | IMU datas |
|
|
||||||
|
|
||||||
### IMU Segment
|
|
||||||
|
|
||||||
| Name | Offset | Frame ID | Accelerometer | Temperature | Gyroscope |
|
|
||||||
| :--- | :----- | :------- | :------------ | :---------- | :-------- |
|
|
||||||
| Bytes | 2 | 2 | 6 | 2 | 6 |
|
|
||||||
| Type | int16_t | uint16_t | int16_t * 3 | int16_t | int16_t * 3 |
|
|
||||||
| Description | The timestamp offset | Image frame ID | Accel x,y,z values | IMU temperature | Gyro x,y,z values |
|
|
||||||
|
|
||||||
* Formula for converting the accel & gyro values to real ones: **real = data * range / 0x10000** .
|
|
||||||
* ``accel`` default ``range`` is **8 g**, ``gyro`` default ``range`` is **1000 deg/s**.
|
|
||||||
* Formula for converting the temperature to real value: **real = data / ratio + offset** .
|
|
||||||
* default ``ratio`` is **326.8**, default ``offset`` is **25℃**.
|
|
@ -1,23 +0,0 @@
|
|||||||
# IMU Params {#spec_imu_params}
|
|
||||||
|
|
||||||
## IMU Intrinsics
|
|
||||||
|
|
||||||
| Name | Field | Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| Scale matrix | acc_scale[3][3] | - | 72 | double |
|
|
||||||
| ^ | gyro_scale[3][3] | - | 72 | double |
|
|
||||||
| Zero-drift | acc_drift[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_drift[3] | - | 24 | double |
|
|
||||||
| Noise density | acc_noise[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_noise[3] | - | 24 | double |
|
|
||||||
| Random walk | acc_bias[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_bias[3] | - | 24 | double |
|
|
||||||
|
|
||||||
## IMU Extrinsics
|
|
||||||
|
|
||||||
Transformation matrix from left image to IMU.
|
|
||||||
|
|
||||||
| Name | Field | Unit | Bytes | Note |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| Rotation matrix | rotation[3][3] | - | 72 | double |
|
|
||||||
| Translation vector | translation[3] | - | 24 | double |
|
|
@ -1,4 +0,0 @@
|
|||||||
# Device Control Specification {#specs_ctrl}
|
|
||||||
|
|
||||||
* @subpage spec_control_api
|
|
||||||
* @subpage spec_control_channel
|
|
@ -1,7 +0,0 @@
|
|||||||
# Device Data Specification {#specs_data}
|
|
||||||
|
|
||||||
* @subpage spec_hardware_info
|
|
||||||
* @subpage spec_image_params
|
|
||||||
* @subpage spec_imu_params
|
|
||||||
* @subpage spec_image_data
|
|
||||||
* @subpage spec_imu_data
|
|
20
doc/langs.sh
@ -1,20 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright 2018 Slightech Co., Ltd. All rights reserved.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
LANGS=(
|
|
||||||
en
|
|
||||||
zh-Hans
|
|
||||||
)
|
|
||||||
[ $# -gt 0 ] && echo "LANGS=(${LANGS[@]})"
|
|
3
doc/static/custom.css
vendored
@ -1,3 +0,0 @@
|
|||||||
#projectlogo img {
|
|
||||||
margin: 1em 0.5em 1em 1em;
|
|
||||||
}
|
|
BIN
doc/static/images/icon.png
vendored
Before Width: | Height: | Size: 18 KiB |
BIN
doc/static/images/imu_analytics.png
vendored
Before Width: | Height: | Size: 56 KiB |
BIN
doc/static/images/make_install.png
vendored
Before Width: | Height: | Size: 32 KiB |
BIN
doc/static/images/stamp_analytics.png
vendored
Before Width: | Height: | Size: 127 KiB |
@ -1,44 +0,0 @@
|
|||||||
# 编译 on Linux {#guide_build_linux}
|
|
||||||
|
|
||||||
> Ubuntu 16.04, Ubuntu 14.04
|
|
||||||
|
|
||||||
## 获取代码
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://github.com/slightech/MYNT-EYE-S-SDK.git
|
|
||||||
```
|
|
||||||
|
|
||||||
## 准备依赖
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd mynt-eye-s-sdk/
|
|
||||||
make init
|
|
||||||
```
|
|
||||||
|
|
||||||
### [OpenCV](https://opencv.org/)
|
|
||||||
|
|
||||||
编译前,可在系统终端(Windows 命令提示符)里如下指定 OpenCV 路径,其为 `OpenCVConfig.cmake` 目录:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Linux, macOS
|
|
||||||
export OpenCV_DIR=~/opencv
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
set OpenCV_DIR=C:\opencv
|
|
||||||
```
|
|
||||||
|
|
||||||
## 编译代码
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make install
|
|
||||||
```
|
|
||||||
|
|
||||||
结果:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
\latexonly
|
|
||||||
\includegraphics[width=0.6\textwidth,keepaspectratio]{make_install.png}
|
|
||||||
\endlatexonly
|
|
||||||
|
|
||||||
> CMake 如何引入编译好的库,可参考 `samples/CMakeLists.txt` 里的配置。
|
|
@ -1,113 +0,0 @@
|
|||||||
# 编译 on Windows {#guide_build_win}
|
|
||||||
|
|
||||||
> Windows 10
|
|
||||||
|
|
||||||
## 前提条件
|
|
||||||
|
|
||||||
* [Git](https://git-scm.com/downloads),用于获取代码。
|
|
||||||
* [CMake](https://cmake.org/download/),用于构建编译。
|
|
||||||
* [Doxygen](http://www.stack.nl/~dimitri/doxygen/download.html),用于生成文档。
|
|
||||||
|
|
||||||
最终,命令提示符(Command Prompt, cmd)里可找到如下命令:
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>cmake --version
|
|
||||||
cmake version 3.10.1
|
|
||||||
|
|
||||||
>git --version
|
|
||||||
git version 2.11.1.windows.1
|
|
||||||
|
|
||||||
>doxygen --version
|
|
||||||
1.8.13
|
|
||||||
```
|
|
||||||
|
|
||||||
* [Visual Studio](https://www.visualstudio.com/)
|
|
||||||
* [Visual Studio 2015](https://my.visualstudio.com/Downloads?q=Visual Studio 2015)
|
|
||||||
* [Visual Studio 2017](https://my.visualstudio.com/Downloads?q=Visual Studio 2017)
|
|
||||||
* [Windows 10 SDK](https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk)
|
|
||||||
|
|
||||||
以 Visual Studio 2015 举例,请在系统环境变量 `PATH` 里添加上如下路径:
|
|
||||||
|
|
||||||
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
|
|
||||||
C:\Program Files (x86)\MSBuild\14.0\Bin
|
|
||||||
|
|
||||||
最终,命令提示符(Command Prompt, cmd)里可找到如下命令:
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>cl
|
|
||||||
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24215.1 for x86
|
|
||||||
|
|
||||||
>link
|
|
||||||
Microsoft (R) Incremental Linker Version 14.00.24215.1
|
|
||||||
|
|
||||||
>lib
|
|
||||||
Microsoft (R) Library Manager Version 14.00.24215.1
|
|
||||||
|
|
||||||
>msbuild
|
|
||||||
Microsoft (R) 生成引擎版本 14.0.25420.1
|
|
||||||
```
|
|
||||||
|
|
||||||
* [MSYS2](http://www.msys2.org/)
|
|
||||||
* [国内镜像](https://lug.ustc.edu.cn/wiki/mirrors/help/msys2)
|
|
||||||
* [pacman](https://wiki.archlinux.org/index.php/pacman)
|
|
||||||
|
|
||||||
打开 MSYS2 MSYS ,然后执行:
|
|
||||||
|
|
||||||
```msys
|
|
||||||
$ pacman -Syu
|
|
||||||
$ pacman -S make
|
|
||||||
```
|
|
||||||
|
|
||||||
并在系统环境变量 `PATH` 里添加上如下路径:
|
|
||||||
|
|
||||||
C:\msys64\usr\bin
|
|
||||||
|
|
||||||
最终,命令提示符(Command Prompt, cmd)里可找到如下命令:
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>make --version
|
|
||||||
GNU Make 4.2.1
|
|
||||||
```
|
|
||||||
|
|
||||||
## 获取代码
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>git clone https://github.com/slightech/MYNT-EYE-S-SDK.git
|
|
||||||
```
|
|
||||||
|
|
||||||
## 准备依赖
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>cd mynt-eye-s-sdk
|
|
||||||
>make init
|
|
||||||
Make init
|
|
||||||
Init deps
|
|
||||||
Install cmd: pacman -S
|
|
||||||
Install deps: git clang-format
|
|
||||||
pacman -S clang-format (not exists)
|
|
||||||
error: target not found: clang-format
|
|
||||||
pip install --upgrade autopep8 cpplint pylint requests
|
|
||||||
...
|
|
||||||
Init git hooks
|
|
||||||
ERROR: clang-format-diff is not installed!
|
|
||||||
Expect cmake version >= 3.0
|
|
||||||
cmake version 3.10.1
|
|
||||||
```
|
|
||||||
|
|
||||||
### [OpenCV](https://opencv.org/)
|
|
||||||
|
|
||||||
编译前,可在系统终端(Windows 命令提示符)里如下指定 OpenCV 路径,其为 `OpenCVConfig.cmake` 目录:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Linux, macOS
|
|
||||||
export OpenCV_DIR=~/opencv
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
set OpenCV_DIR=C:\opencv
|
|
||||||
```
|
|
||||||
|
|
||||||
## 编译代码
|
|
||||||
|
|
||||||
```cmd
|
|
||||||
>make install
|
|
||||||
```
|
|
@ -1,6 +0,0 @@
|
|||||||
# 日志 {#guide_log}
|
|
||||||
|
|
||||||
日志系统用的 `glog` ,通用配置在头文件 `logger.h` 里。
|
|
||||||
|
|
||||||
* 日志文件会存储在当前工作目录, `make cleanlog` 可以清理。
|
|
||||||
* 如果需要打开详细日志,请取消 `logger.h` 里注释的 `FLAGS_v = 2;` ,重新编译。
|
|
@ -1,13 +0,0 @@
|
|||||||
# OpenCV 依赖 {#guide_opencv}
|
|
||||||
|
|
||||||
SDK 提供了三层接口,其 OpenCV 依赖情况如下:
|
|
||||||
|
|
||||||
* `api`, 上层接口,依赖 OpenCV 。
|
|
||||||
* `device`,中间层接口,不依赖 OpenCV 。
|
|
||||||
* `uvc`,底层接口,不依赖 OpenCV 。
|
|
||||||
|
|
||||||
如果不想使用 OpenCV ,你可编辑 `<sdk>/cmake/Option.cmake` 里的 `WITH_API` 选项,设为 `OFF` 就能关闭 `api` 层代码编译:
|
|
||||||
|
|
||||||
```cmake
|
|
||||||
option(WITH_API "Build with API layer, need OpenCV" ON)
|
|
||||||
```
|
|
@ -1,30 +0,0 @@
|
|||||||
# ROS 封装 {#guide_ros}
|
|
||||||
|
|
||||||
ROS 封装实现在 ``<sdk>/wrappers/ros`` 目录。
|
|
||||||
|
|
||||||
## 依赖
|
|
||||||
|
|
||||||
* [ROS](http://www.ros.org/) 环境。
|
|
||||||
|
|
||||||
## 编译
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd <sdk>
|
|
||||||
make ros
|
|
||||||
```
|
|
||||||
|
|
||||||
## 运行
|
|
||||||
|
|
||||||
运行发布节点,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
source wrappers/ros/devel/setup.bash
|
|
||||||
roslaunch mynt_eye_ros_wrapper mynteye.launch
|
|
||||||
```
|
|
||||||
|
|
||||||
运行发布节点,同时打开 RViz 预览图像,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
source wrappers/ros/devel/setup.bash
|
|
||||||
roslaunch mynt_eye_ros_wrapper display.launch
|
|
||||||
```
|
|
@ -1,46 +0,0 @@
|
|||||||
# 样例 {#guide_samples}
|
|
||||||
|
|
||||||
样例在 `<sdk>/samples` 目录,其提供了不同接口层的使用范例。
|
|
||||||
|
|
||||||
## 依赖
|
|
||||||
|
|
||||||
* [OpenCV](https://opencv.org/),用于显示图像。
|
|
||||||
* 编译前,可在系统终端(Windows 命令提示符)里如下指定 OpenCV 路径,其为 `OpenCVConfig.cmake` 目录:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Linux, macOS
|
|
||||||
export OpenCV_DIR=~/opencv
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
set OpenCV_DIR=C:\opencv
|
|
||||||
```
|
|
||||||
|
|
||||||
## 编译
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make samples
|
|
||||||
```
|
|
||||||
|
|
||||||
## 运行
|
|
||||||
|
|
||||||
运行 `api` 层接口样例,显示图像并输出 IMU 。
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./samples/_output/bin/api/camera_a
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
.\samples\_output\bin\api\camera_a.bat
|
|
||||||
```
|
|
||||||
|
|
||||||
运行 `device` 层接口样例,显示图像并输出 IMU 。
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./samples/_output/bin/device/camera_d
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
.\samples\_output\bin\device\camera_d.bat
|
|
||||||
```
|
|
||||||
|
|
||||||
## 结语
|
|
||||||
|
|
||||||
更多样例的说明,请见 `samples/README.md` 。
|
|
@ -1,73 +0,0 @@
|
|||||||
# 工具 {#guide_tools}
|
|
||||||
|
|
||||||
工具在 `<sdk>/tools` 目录,其提供一些有用的脚本和程序。
|
|
||||||
|
|
||||||
## 依赖
|
|
||||||
|
|
||||||
* [OpenCV](https://opencv.org/),部分工具需要。
|
|
||||||
* 编译前,可在系统终端(Windows 命令提示符)里如下指定 OpenCV 路径,其为 `OpenCVConfig.cmake` 目录:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Linux, macOS
|
|
||||||
export OpenCV_DIR=~/opencv
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
set OpenCV_DIR=C:\opencv
|
|
||||||
```
|
|
||||||
|
|
||||||
* Python 第三方库,脚本需要。
|
|
||||||
|
|
||||||
```bash
|
|
||||||
cd tools/
|
|
||||||
sudo pip install -r requirements.txt
|
|
||||||
```
|
|
||||||
|
|
||||||
## 编译
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make tools
|
|
||||||
```
|
|
||||||
|
|
||||||
## 录制数据集
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./tools/_output/bin/dataset/record
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
.\tools\_output\bin\dataset\record.bat
|
|
||||||
```
|
|
||||||
|
|
||||||
默认录制进 `dataset` 目录,加参数可指定该目录。
|
|
||||||
|
|
||||||
## 分析数据集
|
|
||||||
|
|
||||||
分析 IMU 数据,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python tools/analytics/imu_analytics.py -i dataset -c tools/config/mynteye/mynteye_config.yaml \
|
|
||||||
-al=-1.2,1.2 -gl= -gdu=d -gsu=d -kl=
|
|
||||||
```
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
\latexonly
|
|
||||||
\includegraphics[width=0.6\textwidth,keepaspectratio]{imu_analytics.png}
|
|
||||||
\endlatexonly
|
|
||||||
|
|
||||||
分析图像 & IMU 时间戳,
|
|
||||||
|
|
||||||
```bash
|
|
||||||
python tools/analytics/stamp_analytics.py -i dataset -c tools/config/mynteye/mynteye_config.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
\latexonly
|
|
||||||
\includegraphics[width=0.6\textwidth,keepaspectratio]{stamp_analytics.png}
|
|
||||||
\endlatexonly
|
|
||||||
|
|
||||||
> 如果用 ROS ,分析脚本也支持 ROS Bag 格式。
|
|
||||||
|
|
||||||
## 结语
|
|
||||||
|
|
||||||
设备信息读写、校验码等更多工具的说明,请见 `tools/README.md` 。
|
|
@ -1,9 +0,0 @@
|
|||||||
# SDK 指导 {#guides}
|
|
||||||
|
|
||||||
* @subpage guide_build_linux
|
|
||||||
* @subpage guide_build_win
|
|
||||||
* @subpage guide_samples
|
|
||||||
* @subpage guide_tools
|
|
||||||
* @subpage guide_log
|
|
||||||
* @subpage guide_opencv
|
|
||||||
* @subpage guide_ros
|
|
@ -1,11 +0,0 @@
|
|||||||
# MYNT EYE S SDK {#mainpage}
|
|
||||||
|
|
||||||
* <a class="el" href="annotated.html">API 类</a>
|
|
||||||
* <a class="el" href="modules.html">API 模块</a>
|
|
||||||
* \link enumerations 枚举类型\endlink
|
|
||||||
* \link datatypes 数据类型\endlink
|
|
||||||
* \link utils 工具函数\endlink
|
|
||||||
* \link calibration 内参与外参\endlink
|
|
||||||
* <span style="font-weight:bold">设备说明</span>
|
|
||||||
* @subpage specs_data
|
|
||||||
* @subpage specs_ctrl
|
|
@ -1,30 +0,0 @@
|
|||||||
# 控制 API 说明 {#spec_control_api}
|
|
||||||
|
|
||||||
控制有两种实现方式,一是通过 UVC 标准协议,二是通过 UVC 拓展通道自定义协议。
|
|
||||||
|
|
||||||
## 标准协议
|
|
||||||
|
|
||||||
| 名称 | 字段 | 字节数 | 默认值 | 最小值 | 最大值 | 是否储存 | Flash 地址 | 说明 |
|
|
||||||
| :----- | :----- | :-------- | :-------- | :-------- | :-------- | :----------- | :----------- | :----- |
|
|
||||||
| 增益 | gain | 2 | 24 | 0 | 48 | √ | 0x12 | 关闭自动曝光,手动设定的参数 |
|
|
||||||
| 亮度 | brightness/exposure_time | 2 | 120 | 0 | 240 | √ | 0x14 | 关闭自动曝光,手动设定的参数 |
|
|
||||||
| 对比度 | contrast/black_level_calibration | 2 | 127 | 0 | 255 | √ | 0x10 | 关闭自动曝光,手动设定的参数 |
|
|
||||||
|
|
||||||
> UVC 标准协议实现的控制,有现成的 API 进行 Get & Set ,包括 Min, Max, Default 。
|
|
||||||
|
|
||||||
## 自定义协议
|
|
||||||
|
|
||||||
| 名称 | 字段 | 字节数 | 默认值 | 最小值 | 最大值 | 是否储存 | Flash 地址 | 所属通道 | 说明 |
|
|
||||||
| :----- | :----- | :-------- | :-------- | :-------- | :-------- | :----------- | :----------- | :----------- | :----- |
|
|
||||||
| 图像帧率 | frame_rate | 2 | 25 | 10 | 60 | √ | 0x21 | XU_CAM_CTRL | 步进为5,即有效值为{10,15,20,25,30,35,40,45,50,55,60} |
|
|
||||||
| IMU 频率 | imu_frequency | 2 | 200 | 100 | 500 | √ | 0x23 | XU_CAM_CTRL | 有效值为{100,200,250,333,500} |
|
|
||||||
| 曝光模式 | exposure_mode | 1 | 0 | 0 | 1 | √ | 0x0F | XU_CAM_CTRL | 0:开启自动曝光; 1:关闭 |
|
|
||||||
| 最大增益 | max_gain | 2 | 48 | 0 | 48 | √ | 0x1D | XU_CAM_CTRL | 开始自动曝光,可设定的阈值 |
|
|
||||||
| 最大曝光时间 | max_exposure_time | 2 | 240 | 0 | 240 | √ | 0x1B | XU_CAM_CTRL | 开始自动曝光,可设定的阈值 |
|
|
||||||
| 期望亮度 | desired_brightness | 2 | 192 | 0 | 255 | √ | 0x19 | XU_CAM_CTRL | 开始自动曝光,可设定的阈值 |
|
|
||||||
| IR 控制 | ir_control | 1 | 0 | 0 | 160 | × | - | XU_CAM_CTRL | |
|
|
||||||
| HDR 模式 | hdr_mode | 1 | 0 | 0 | 1 | √ | 0x1F | XU_CAM_CTRL | 0:10-bit;1:12-bit |
|
|
||||||
| 零漂标定 | zero_drift_calibration | | - | - | - | × | - | XU_HALF_DUPLEX | |
|
|
||||||
| 擦除芯片 | erase_chip | | - | - | - | × | - | XU_HALF_DUPLEX | |
|
|
||||||
| 加速度计量程 | accelerometer_range | 2 | 12 | 6 | 48 | √ | - | XU_CAM_CTRL | 0x0100 | |
|
|
||||||
| 陀螺仪量程 | gyroscope_range | 2 | 1000 | 250 | 4000 | √ | - | XU_CAM_CTRL | 0x0100 | |
|
|
@ -1,53 +0,0 @@
|
|||||||
# 拓展通道说明 {#spec_control_channel}
|
|
||||||
|
|
||||||
| 名称 | 字段 | 地址 | 带宽 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :----- | :----- |
|
|
||||||
| 相机控制通道 | XU_CAM_CTRL_CHANNEL | 1 | 3 | |
|
|
||||||
| 半双工通道 | XU_HALF_DUPLEX_CHANNEL | 2 | 20 | |
|
|
||||||
| IMU 请求通道 | XU_IMUDATA_WRITE_CHANNEL | 3 | 5 | |
|
|
||||||
| IMU 响应通道 | XU_IMUDATA_READ_CHANNEL | 4 | 2000 | |
|
|
||||||
| 文件通道 | XU_FILE_CHANNEL | 5 | 2000 | |
|
|
||||||
|
|
||||||
## 相机控制通道
|
|
||||||
|
|
||||||
相机控制通道是那些需要 Get & Set & Query 的控制通道,其中 Query 细分为 Min, Max, Default 。
|
|
||||||
|
|
||||||
## 半双工通道
|
|
||||||
|
|
||||||
半双工通道是那些仅需 Set 的控制通道,如请求零漂矫正。
|
|
||||||
|
|
||||||
## IMU 通道
|
|
||||||
|
|
||||||
用来请求和响应 IMU 数据的通道,可参见 @ref spec_imu_data 。
|
|
||||||
|
|
||||||
## 文件通道
|
|
||||||
|
|
||||||
用来读写硬件信息、图像参数、 IMU 参数的通道。
|
|
||||||
|
|
||||||
| Name | Header | Size | File | Checksum |
|
|
||||||
| :--- | :----- | :--- | :--- | :-------- |
|
|
||||||
| 字节数 | 1 | 2 | - | 1 |
|
|
||||||
| 类型 | uint8_t | uint16_t | - | uint8_t |
|
|
||||||
| 描述 | 标识 | 文件内容大小 | 文件内容 | 校验码(文件内容所有字节异或) |
|
|
||||||
|
|
||||||
| Header Bit Subscript | Description |
|
|
||||||
| :------------------- | :---------- |
|
|
||||||
| 0 | 硬件信息 |
|
|
||||||
| 1 | 图像参数 |
|
|
||||||
| 2 | IMU 参数 |
|
|
||||||
| 3~6 | 未定义 |
|
|
||||||
| 7 | 0: Get; 1: Set |
|
|
||||||
|
|
||||||
### 文件内容包
|
|
||||||
|
|
||||||
| Name | ID | Size | Content |
|
|
||||||
| :--- | :- | :--- | :------ |
|
|
||||||
| 字节数 | 1 | 2 | - |
|
|
||||||
| 类型 | uint8_t | uint16_t | - |
|
|
||||||
| 描述 | 内容 ID | 内容大小 | 内容 |
|
|
||||||
|
|
||||||
| File | ID | Max Size |
|
|
||||||
| :--- | :- | :------- |
|
|
||||||
| 硬件信息 | 1 | 250 |
|
|
||||||
| 图像参数 | 2 | 250 |
|
|
||||||
| IMU 参数 | 4 | 500 |
|
|
@ -1,17 +0,0 @@
|
|||||||
# 硬件信息说明 {#spec_hardware_info}
|
|
||||||
|
|
||||||
| 名称 | 字段 | 固定值 | 描述符获取 | 拓展通道获取 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :-------- | :-------------- | :----------------- | :-------- | :----- |
|
|
||||||
| VID | vid | 0x04B4 | √ | × | 2 | |
|
|
||||||
| PID | pid | 0x00F9 | √ | × | 2 | |
|
|
||||||
| 设备名称 | name | MYNT-EYE-? | √ | √ Get | 16 | MYNT-EYE-S1000 |
|
|
||||||
| 序列号 | serial_number | - | √ | √ Get | 16 | |
|
|
||||||
| 固件版本 | firmware_version | - | √ | √ Get | 2 | major,minor |
|
|
||||||
| 硬件版本 | hardware_version | - | × | √ Get | 3 | major,minor,flag |
|
|
||||||
| 协议版本 | spec_version | - | × | √ Get | 2 | major,minor |
|
|
||||||
| 镜头类型 | lens_type | - | × | √ Get/Set | 4 | vendor(2),product(2) ,未 Set 默认 0 |
|
|
||||||
| IMU 类型 | imu_type | - | × | √ Get/Set | 4 | vendor(2),product(2) ,未 Set 默认 0 |
|
|
||||||
| 基线长度 | nominal_baseline | - | × | √ Get/Set | 2 | 单位 mm ,未 set 默认 0 |
|
|
||||||
|
|
||||||
* 描述符获取:指通用 USB 设备信息,可用工具查看。
|
|
||||||
* 拓展通道获取:指通过拓展通道(UVC Extension Unit)问硬件获取到的信息,需要读取。
|
|
@ -1,22 +0,0 @@
|
|||||||
# 图像数据说明 {#spec_image_data}
|
|
||||||
|
|
||||||
| 名称 | 字段 | 单位 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| 帧 ID | frame_id | - | 2 | uint16_t; [0,65535] |
|
|
||||||
| 时间戳 | timestamp | 10 us | 4 | uint32_t |
|
|
||||||
| 曝光时间 | exposure_time | 10 us | 2 | uint16_t |
|
|
||||||
|
|
||||||
> 图像数据传输方式:倒序排在图像尾部。
|
|
||||||
|
|
||||||
## 图像数据包
|
|
||||||
|
|
||||||
| Name | Header | Size | Frame ID | Timestamp | Exposure Time | Checksum |
|
|
||||||
| :--- | :----- | :--- | :------- | :-------- | :------------ | :------- |
|
|
||||||
| 字节数 | 1 | 1 | 2 | 4 | 2 | 1 |
|
|
||||||
| 类型 | uint8_t | uint8_t | uint16_t | uint32_t | uint16_t | uint8_t |
|
|
||||||
| 描述 | 0x3B | 0x08 (数据内容大小) | 帧 ID | 时间戳 | 曝光时间 | 校验码(数据内容所有字节异或) |
|
|
||||||
|
|
||||||
* 数据包校验不过,会丢弃该帧。
|
|
||||||
* 时间单位的精度为: 0.01 ms / 10 us 。
|
|
||||||
* 4 字节能表示的最大时间约是 11.9 小时,溢出后将重累计。
|
|
||||||
* 时间累计是从上电时从开始,而不是从打开时开始。
|
|
@ -1,25 +0,0 @@
|
|||||||
# 图像参数说明 {#spec_image_params}
|
|
||||||
|
|
||||||
## 图像内参
|
|
||||||
|
|
||||||
| 名称 | 字段 | 单位 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| 宽度 | width | px | 2 | uint16_t; [0,65535] |
|
|
||||||
| 高度 | height | px | 2 | uint16_t; [0,65535] |
|
|
||||||
| 焦距 | fx | - | 8 | double |
|
|
||||||
| ^ | fy | - | 8 | double |
|
|
||||||
| 图像中心 | cx | - | 8 | double |
|
|
||||||
| ^ | cy | - | 8 | double |
|
|
||||||
| 畸变模型 | model | - | 1 | uint8_t; pinhole,... |
|
|
||||||
| 畸变参数 | coeffs[5] | - | 40 | double; k1,k2,p1,p2,k3 |
|
|
||||||
|
|
||||||
> 图像分辨率不同,内参不同。多分辨率的话,需有多个内参。
|
|
||||||
|
|
||||||
## 图像外参
|
|
||||||
|
|
||||||
Left Image 到 Right Image 的变换矩阵。
|
|
||||||
|
|
||||||
| 名称 | 字段 | 单位 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| 旋转矩阵 | rotation[3][3] | - | 72 | double |
|
|
||||||
| 平移矩阵 | translation[3] | - | 24 | double |
|
|
@ -1,42 +0,0 @@
|
|||||||
# IMU 数据说明 {#spec_imu_data}
|
|
||||||
|
|
||||||
## IMU 请求数据包
|
|
||||||
|
|
||||||
| Name | Header | Serial Number |
|
|
||||||
| :--- | :----- | :------------ |
|
|
||||||
| 字节数 | 1 | 4 |
|
|
||||||
| 类型 | uint8_t | uint32_t |
|
|
||||||
| 描述 | 0x5A | 首次请求写 0 ,不然写上次响应数据包最后一个 IMU 包的序列号 |
|
|
||||||
|
|
||||||
## IMU 响应数据包
|
|
||||||
|
|
||||||
IMU 响应数据包里会包含多个 IMU 包,而每个 IMU 包又带有多个 IMU 段。
|
|
||||||
|
|
||||||
| Name | Header | State | Size | IMU Packets | Checksum |
|
|
||||||
| :--- | :----- | :---- | :--- | :---------- | :------- |
|
|
||||||
| 字节数 | 1 | 1 | 2 | ... | 1 |
|
|
||||||
| 类型 | uint8_t | uint8_t | uint16_t | - | uint8_t |
|
|
||||||
| 描述 | 0x5B | 正常状态为 0 ,否则错误 | 数据内容大小 | 所包含的 IMU 包 | 校验码(数据内容所有字节异或) |
|
|
||||||
|
|
||||||
### IMU 包
|
|
||||||
|
|
||||||
IMU 包/小包,是一组 IMU 数据。
|
|
||||||
|
|
||||||
| Name | Serial Number | Timestamp | Count | IMU Datas |
|
|
||||||
| :--- | :------------ | :-------- | :---- | :-------- |
|
|
||||||
| 字节数 | 4 | 4 | 1 | ... |
|
|
||||||
| 类型 | uint32_t | uint32_t | uint8_t | - |
|
|
||||||
| 描述 | 序列号 | IMU 基准时间戳 | IMU 段数量 | 所包含的 IMU 段 |
|
|
||||||
|
|
||||||
### IMU 段
|
|
||||||
|
|
||||||
| Name | Offset | Frame ID | Accelerometer | Temperature | Gyroscope |
|
|
||||||
| :--- | :----- | :------- | :------------ | :---------- | :-------- |
|
|
||||||
| 字节数 | 2 | 2 | 6 | 2 | 6 |
|
|
||||||
| 类型 | int16_t | uint16_t | int16_t * 3 | int16_t | int16_t * 3 |
|
|
||||||
| 描述 | 相对基准时间戳的偏移量 | 图像帧 ID | 加速度计 x y z 三轴的值 | IMU 的温度 | 陀螺仪 x y z 三轴的值 |
|
|
||||||
|
|
||||||
* 加速度计和陀螺仪的计量值换算成物理值公式: **real = data * range / 0x10000** 。
|
|
||||||
* 加速度计量程默认值为 **8 g** ,陀螺仪量程默认值为 **1000 deg/s** 。
|
|
||||||
* 温度计量值换算成物理值公式: **real = data / ratio + offset** 。
|
|
||||||
* ``ratio`` 默认值为 **326.8** , ``offset`` 默认值为 **25℃** 。
|
|
@ -1,23 +0,0 @@
|
|||||||
# IMU 参数说明 {#spec_imu_params}
|
|
||||||
|
|
||||||
## IMU 内参
|
|
||||||
|
|
||||||
| 名称 | 字段 | 单位 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| 比例因子 | acc_scale[3][3] | - | 72 | double |
|
|
||||||
| ^ | gyro_scale[3][3] | - | 72 | double |
|
|
||||||
| 零漂 | acc_drift[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_drift[3] | - | 24 | double |
|
|
||||||
| 噪声密度 | acc_noise[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_noise[3] | - | 24 | double |
|
|
||||||
| 随机游走 | acc_bias[3] | - | 24 | double |
|
|
||||||
| ^ | gyro_bias[3] | - | 24 | double |
|
|
||||||
|
|
||||||
## IMU 外参
|
|
||||||
|
|
||||||
Left Image 到 IMU 的变换矩阵。
|
|
||||||
|
|
||||||
| 名称 | 字段 | 单位 | 字节数 | 说明 |
|
|
||||||
| :----- | :----- | :----- | :-------- | :----- |
|
|
||||||
| 旋转矩阵 | rotation[3][3] | - | 72 | double |
|
|
||||||
| 平移矩阵 | translation[3] | - | 24 | double |
|
|
@ -1,4 +0,0 @@
|
|||||||
# 设备控制说明 {#specs_ctrl}
|
|
||||||
|
|
||||||
* @subpage spec_control_api
|
|
||||||
* @subpage spec_control_channel
|
|
@ -1,7 +0,0 @@
|
|||||||
# 设备数据说明 {#specs_data}
|
|
||||||
|
|
||||||
* @subpage spec_hardware_info
|
|
||||||
* @subpage spec_image_params
|
|
||||||
* @subpage spec_imu_params
|
|
||||||
* @subpage spec_image_data
|
|
||||||
* @subpage spec_imu_data
|
|
19
docs/Makefile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line.
|
||||||
|
SPHINXOPTS =
|
||||||
|
SPHINXBUILD = sphinx-build
|
||||||
|
SOURCEDIR = .
|
||||||
|
BUILDDIR = _build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
25
docs/api/api.rst
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
.. _api:
|
||||||
|
|
||||||
|
API
|
||||||
|
===
|
||||||
|
|
||||||
|
API
|
||||||
|
---
|
||||||
|
|
||||||
|
.. doxygenclass:: mynteye::API
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
api::StreamData
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::api::StreamData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
api::MotionData
|
||||||
|
---------------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::api::MotionData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
10
docs/api/contents.rst
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
API DOCS
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
api
|
||||||
|
device
|
||||||
|
enums
|
||||||
|
types
|
||||||
|
utils
|
32
docs/api/device.rst
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
.. _device:
|
||||||
|
|
||||||
|
Device
|
||||||
|
======
|
||||||
|
|
||||||
|
Device
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenclass:: mynteye::Device
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
device::Frame
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. doxygenclass:: mynteye::device::Frame
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
device::StreamData
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::device::StreamData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
device::MotionData
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::device::MotionData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
69
docs/api/enums.rst
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
.. _enums:
|
||||||
|
|
||||||
|
Enums
|
||||||
|
=====
|
||||||
|
|
||||||
|
..
|
||||||
|
.. doxygengroup:: enumerations
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Model
|
||||||
|
-----
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Model
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Stream
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Stream
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
|
||||||
|
Capabilities
|
||||||
|
------------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Capabilities
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Info
|
||||||
|
----
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Info
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Option
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Option
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Source
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Source
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
AddOns
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::AddOns
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
Format
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::Format
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
CalibrationModel
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::CalibrationModel
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
DisparityComputingMethod
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
.. doxygenenum:: mynteye::DisparityComputingMethod
|
||||||
|
:project: mynteyes
|
77
docs/api/types.rst
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
.. _types:
|
||||||
|
|
||||||
|
Types
|
||||||
|
=====
|
||||||
|
|
||||||
|
OptionInfo
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::OptionInfo
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
Resolution
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::Resolution
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
StreamRequest
|
||||||
|
-------------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::StreamRequest
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
Intrinsics
|
||||||
|
----------
|
||||||
|
|
||||||
|
IntrinsicsPinhole
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::IntrinsicsPinhole
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
IntrinsicsEquidistant
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::IntrinsicsEquidistant
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
ImuIntrinsics
|
||||||
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::ImuIntrinsics
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
MotionIntrinsics
|
||||||
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::MotionIntrinsics
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
Extrinsics
|
||||||
|
----------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::Extrinsics
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
ImgData
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::ImgData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
||||||
|
|
||||||
|
ImuData
|
||||||
|
-------
|
||||||
|
|
||||||
|
.. doxygenstruct:: mynteye::ImuData
|
||||||
|
:project: mynteyes
|
||||||
|
:members:
|
34
docs/api/utils.rst
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
.. _utils:
|
||||||
|
|
||||||
|
Utils
|
||||||
|
=====
|
||||||
|
|
||||||
|
select
|
||||||
|
------
|
||||||
|
|
||||||
|
.. doxygenfunction:: select
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
select_request
|
||||||
|
--------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: select_request
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
get_real_exposure_time
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: get_real_exposure_time
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
get_sdk_root_dir
|
||||||
|
----------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: get_sdk_root_dir
|
||||||
|
:project: mynteyes
|
||||||
|
|
||||||
|
get_sdk_install_dir
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: get_sdk_install_dir
|
||||||
|
:project: mynteyes
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
194
docs/conf.py
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Configuration file for the Sphinx documentation builder.
|
||||||
|
#
|
||||||
|
# This file does only contain a selection of the most common options. For a
|
||||||
|
# full list see the documentation:
|
||||||
|
# http://www.sphinx-doc.org/en/master/config
|
||||||
|
|
||||||
|
# -- Path setup --------------------------------------------------------------
|
||||||
|
|
||||||
|
# If extensions (or modules to document with autodoc) are in another directory,
|
||||||
|
# add these directories to sys.path here. If the directory is relative to the
|
||||||
|
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||||
|
#
|
||||||
|
# import os
|
||||||
|
# import sys
|
||||||
|
# sys.path.insert(0, os.path.abspath('.'))
|
||||||
|
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
|
||||||
|
project = 'MYNT® EYE S SDK'
|
||||||
|
copyright = '2019, MYNTAI'
|
||||||
|
author = 'MYNTAI'
|
||||||
|
|
||||||
|
# The short X.Y version
|
||||||
|
version = '2.5.0'
|
||||||
|
# The full version, including alpha/beta/rc tags
|
||||||
|
release = version
|
||||||
|
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
|
||||||
|
# If your documentation needs a minimal Sphinx version, state it here.
|
||||||
|
#
|
||||||
|
# needs_sphinx = '1.0'
|
||||||
|
|
||||||
|
# Add any Sphinx extension module names here, as strings. They can be
|
||||||
|
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||||
|
# ones.
|
||||||
|
extensions = [
|
||||||
|
'breathe',
|
||||||
|
]
|
||||||
|
|
||||||
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
|
templates_path = ['_templates']
|
||||||
|
|
||||||
|
# The suffix(es) of source filenames.
|
||||||
|
# You can specify multiple suffix as a list of string:
|
||||||
|
#
|
||||||
|
# source_suffix = ['.rst', '.md']
|
||||||
|
source_suffix = '.rst'
|
||||||
|
|
||||||
|
# The master toctree document.
|
||||||
|
master_doc = 'index'
|
||||||
|
|
||||||
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
|
# for a list of supported languages.
|
||||||
|
#
|
||||||
|
# This is also used if you do content translation via gettext catalogs.
|
||||||
|
# Usually you set "language" from the command line for these cases.
|
||||||
|
language = 'en'
|
||||||
|
|
||||||
|
# List of patterns, relative to source directory, that match files and
|
||||||
|
# directories to ignore when looking for source files.
|
||||||
|
# This pattern also affects html_static_path and html_extra_path.
|
||||||
|
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
||||||
|
|
||||||
|
# The name of the Pygments (syntax highlighting) style to use.
|
||||||
|
pygments_style = None
|
||||||
|
|
||||||
|
|
||||||
|
# on_rtd is whether we are on readthedocs.org
|
||||||
|
import os
|
||||||
|
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
subprocess.call('doxygen', shell=True)
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
|
||||||
|
if not on_rtd: # only import and set the theme if we're building docs locally
|
||||||
|
import sphinx_rtd_theme
|
||||||
|
|
||||||
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||||
|
# a list of builtin themes.
|
||||||
|
#
|
||||||
|
# html_theme = 'alabaster'
|
||||||
|
html_theme = 'sphinx_rtd_theme'
|
||||||
|
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
||||||
|
|
||||||
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
|
# further. For a list of options available for each theme, see the
|
||||||
|
# documentation.
|
||||||
|
#
|
||||||
|
# html_theme_options = {}
|
||||||
|
|
||||||
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||||
|
# html_static_path = ['_static']
|
||||||
|
|
||||||
|
# Custom sidebar templates, must be a dictionary that maps document names
|
||||||
|
# to template names.
|
||||||
|
#
|
||||||
|
# The default sidebars (for documents that don't match any pattern) are
|
||||||
|
# defined by theme itself. Builtin themes are using these templates by
|
||||||
|
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
|
||||||
|
# 'searchbox.html']``.
|
||||||
|
#
|
||||||
|
# html_sidebars = {}
|
||||||
|
|
||||||
|
# otherwise, readthedocs.org uses their theme by default, so no need to specify it
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTMLHelp output ---------------------------------------------
|
||||||
|
|
||||||
|
# Output file base name for HTML help builder.
|
||||||
|
htmlhelp_basename = 'MYNTEYESSDKdoc'
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for LaTeX output ------------------------------------------------
|
||||||
|
|
||||||
|
latex_elements = {
|
||||||
|
# The paper size ('letterpaper' or 'a4paper').
|
||||||
|
#
|
||||||
|
# 'papersize': 'letterpaper',
|
||||||
|
|
||||||
|
# The font size ('10pt', '11pt' or '12pt').
|
||||||
|
#
|
||||||
|
# 'pointsize': '10pt',
|
||||||
|
|
||||||
|
# Additional stuff for the LaTeX preamble.
|
||||||
|
#
|
||||||
|
# 'preamble': '',
|
||||||
|
|
||||||
|
# Latex figure (float) alignment
|
||||||
|
#
|
||||||
|
# 'figure_align': 'htbp',
|
||||||
|
}
|
||||||
|
|
||||||
|
# Grouping the document tree into LaTeX files. List of tuples
|
||||||
|
# (source start file, target name, title,
|
||||||
|
# author, documentclass [howto, manual, or own class]).
|
||||||
|
latex_documents = [
|
||||||
|
(master_doc, 'MYNTEYESSDK.tex', 'MYNT® EYE S SDK Documentation',
|
||||||
|
'MYNTAI', 'manual'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for manual page output ------------------------------------------
|
||||||
|
|
||||||
|
# One entry per manual page. List of tuples
|
||||||
|
# (source start file, name, description, authors, manual section).
|
||||||
|
man_pages = [
|
||||||
|
(master_doc, 'mynteyessdk', 'MYNT® EYE S SDK Documentation',
|
||||||
|
[author], 1)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Texinfo output ----------------------------------------------
|
||||||
|
|
||||||
|
# Grouping the document tree into Texinfo files. List of tuples
|
||||||
|
# (source start file, target name, title, author,
|
||||||
|
# dir menu entry, description, category)
|
||||||
|
texinfo_documents = [
|
||||||
|
(master_doc, 'MYNTEYESSDK', 'MYNT® EYE S SDK Documentation',
|
||||||
|
author, 'MYNTEYESSDK', 'One line description of project.',
|
||||||
|
'Miscellaneous'),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for Epub output -------------------------------------------------
|
||||||
|
|
||||||
|
# Bibliographic Dublin Core info.
|
||||||
|
epub_title = project
|
||||||
|
|
||||||
|
# The unique identifier of the text. This can be a ISBN number
|
||||||
|
# or the project homepage.
|
||||||
|
#
|
||||||
|
# epub_identifier = ''
|
||||||
|
|
||||||
|
# A unique identification for the text.
|
||||||
|
#
|
||||||
|
# epub_uid = ''
|
||||||
|
|
||||||
|
# A list of files that should not be packed into the epub file.
|
||||||
|
epub_exclude_files = ['search.html']
|
||||||
|
|
||||||
|
|
||||||
|
# -- Extension configuration -------------------------------------------------
|
||||||
|
|
||||||
|
breathe_projects = { 'mynteyes': '_doxygen/xml' }
|
7
docs/files/libmynteye.conf
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# libmynteye configuration
|
||||||
|
#
|
||||||
|
# 1) Copy this file to: /etc/ld.so.conf.d/libmynteye.conf
|
||||||
|
# 2) Run this cmd in Terminal: sudo /sbin/ldconfig
|
||||||
|
|
||||||
|
/usr/local/cuda/lib64
|
||||||
|
$HOME/opencv-3.4.1/lib
|
BIN
docs/images/firmware/boardupdate.png
Normal file
After Width: | Height: | Size: 295 KiB |
BIN
docs/images/firmware/firmware_update.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/images/firmware/firmware_update_cypressUSB.png
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
docs/images/firmware/firmware_update_dir.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/images/firmware/firmware_update_driver.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/images/firmware/firmware_update_driver_install.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
docs/images/firmware/firmware_update_option.png
Normal file
After Width: | Height: | Size: 470 KiB |
BIN
docs/images/firmware/firmware_update_select.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
docs/images/firmware/firmware_update_success.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
docs/images/firmware/firmware_update_warning.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
docs/images/firmware/firmware_update_westbridge.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
docs/images/firmware/stmsuccess.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
docs/images/firmware/stmupdate.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/images/product/mynteye_imu_coord.jpg
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
docs/images/product/mynteye_s2110_imu_coord.jpg
Normal file
After Width: | Height: | Size: 718 KiB |
BIN
docs/images/product/mynteye_s2_imu_coord.jpg
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
docs/images/product/mynteye_s2_surface_zh-Hans.jpg
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
docs/images/product/mynteye_surface_zh-Hans.jpg
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
docs/images/product/tripod.png
Normal file
After Width: | Height: | Size: 210 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
BIN
docs/images/sdk/ir.png
Normal file
After Width: | Height: | Size: 403 KiB |
BIN
docs/images/sdk/tools/imu_analytics.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
docs/images/sdk/tools/stamp_analytics.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
docs/images/sdk/vs_cmd.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
docs/images/sdk/vs_cmd_menu.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
docs/images/sdk/vs_cmd_test.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
docs/images/tools/calibration001.png
Normal file
After Width: | Height: | Size: 306 KiB |
BIN
docs/images/tools/calibration002.png
Normal file
After Width: | Height: | Size: 470 KiB |
BIN
docs/images/tools/calibration003.png
Normal file
After Width: | Height: | Size: 484 KiB |
BIN
docs/images/tools/calibration004.png
Normal file
After Width: | Height: | Size: 489 KiB |
BIN
docs/images/tools/calibration005.png
Normal file
After Width: | Height: | Size: 467 KiB |
BIN
docs/images/tools/calibration006.png
Normal file
After Width: | Height: | Size: 492 KiB |