5 Commits

Author SHA1 Message Date
John Zhao
721ad22b0a Update version 2018-10-22 22:18:22 +08:00
kalman
4d644a1d71 Update img.params 2018-10-18 15:11:21 +08:00
kalman
1f96a6ee29 Add frame rate 60 2018-10-17 11:12:40 +08:00
kalman
204fff2175 Update device.info,img.params and imu params 2018-10-17 10:59:50 +08:00
John Zhao
12f5a8f3cc Update README.md 2018-09-27 09:56:17 +08:00
16 changed files with 63 additions and 47 deletions

View File

@@ -14,7 +14,7 @@
cmake_minimum_required(VERSION 3.0) cmake_minimum_required(VERSION 3.0)
project(mynteye VERSION 2.0.1 LANGUAGES C CXX) project(mynteye VERSION 2.2.1 LANGUAGES C CXX)
include(cmake/Common.cmake) include(cmake/Common.cmake)

View File

@@ -1,6 +1,6 @@
# MYNT® EYE SDK # MYNT® EYE SDK
[![](https://img.shields.io/badge/MYNT%20EYE%20SDK-2.0.1--rc1-brightgreen.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2) [![](https://img.shields.io/badge/MYNT%20EYE%20SDK-2.0.1--rc2-brightgreen.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2)
## Overview ## Overview
@@ -17,12 +17,11 @@ Please follow the guide doc to install the SDK on different platforms.
## Documentations ## Documentations
* [API Doc](https://github.com/slightech/MYNT-EYE-SDK-2/releases): API reference, some guides and data spec. * [API Doc](https://github.com/slightech/MYNT-EYE-SDK-2/releases): API reference, some guides and data spec.
* en: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2285351/mynt-eye-sdk-apidoc-2.0.1-rc1-en.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2285352/mynt-eye-sdk-apidoc-2.0.1-rc1-html-en.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](https://slightech.github.io/MYNT-EYE-SDK-2/) * en: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2422149/mynt-eye-sdk-apidoc-2.0.1-rc2-en.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2422151/mynt-eye-sdk-apidoc-2.0.1-rc2-html-en.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](https://slightech.github.io/MYNT-EYE-SDK-2/)
* zh-Hans: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2285353/mynt-eye-sdk-apidoc-2.0.1-rc1-zh-Hans.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2285354/mynt-eye-sdk-apidoc-2.0.1-rc1-html-zh-Hans.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](http://doc.myntai.com/resource/api/mynt-eye-sdk-apidoc-2.0.1-rc1-html-zh-Hans/mynt-eye-sdk-apidoc-2.0.1-rc1-html-zh-Hans/index.html) * zh-Hans: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2422152/mynt-eye-sdk-apidoc-2.0.1-rc2-zh-Hans.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2/files/2422153/mynt-eye-sdk-apidoc-2.0.1-rc2-html-zh-Hans.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](http://doc.myntai.com/resource/api/mynt-eye-sdk-apidoc-2.0.1-rc2-html-zh-Hans/mynt-eye-sdk-apidoc-2.0.1-rc2-html-zh-Hans/index.html)
* [Guide Doc](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/releases): How to install and start using the SDK. * [Guide Doc](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/releases): How to install and start using the SDK.
* en: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2281782/mynt-eye-sdk-guide-2.0.1-rc1-en.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2281783/mynt-eye-sdk-guide-2.0.1-rc1-html-en.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](https://slightech.github.io/MYNT-EYE-SDK-2-Guide/) * en: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2422160/mynt-eye-sdk-guide-2.0.1-rc2-en.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2422161/mynt-eye-sdk-guide-2.0.1-rc2-html-en.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](https://slightech.github.io/MYNT-EYE-SDK-2-Guide/)
* zh-Hans: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2281785/mynt-eye-sdk-guide-2.0.1-rc1-zh-Hans.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2281786/mynt-eye-sdk-guide-2.0.1-rc1-html-zh-Hans.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](http://doc.myntai.com/resource/sdk/mynt-eye-sdk-guide-2.0.1-rc1-html-zh-Hans/mynt-eye-sdk-guide-2.0.1-rc1-html-zh-Hans/index.html) * zh-Hans: [![](https://img.shields.io/badge/Download-PDF-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2422162/mynt-eye-sdk-guide-2.0.1-rc2-zh-Hans.pdf) [![](https://img.shields.io/badge/Download-HTML-blue.svg?style=flat)](https://github.com/slightech/MYNT-EYE-SDK-2-Guide/files/2422164/mynt-eye-sdk-guide-2.0.1-rc2-html-zh-Hans.zip) [![](https://img.shields.io/badge/Online-HTML-blue.svg?style=flat)](http://doc.myntai.com/resource/sdk/mynt-eye-sdk-guide-2.0.1-rc2-html-zh-Hans/mynt-eye-sdk-guide-2.0.1-rc2-html-zh-Hans/index.html)
> Supported languages: `en`, `zh-Hans`. > Supported languages: `en`, `zh-Hans`.

View File

@@ -52,16 +52,30 @@ for lang in "${LANGS[@]}"; do
_mkdir "$OUTPUT/$lang" _mkdir "$OUTPUT/$lang"
_echo_i "doxygen $DOXYFILE" _echo_i "doxygen $DOXYFILE"
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-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 if [ $pdflatex_FOUND ] && [ -f "$OUTPUT/$lang/latex/Makefile" ]; then
_echo_in "doxygen make latex" _echo_in "doxygen make latex"
version=`cat $DOXYFILE | grep -m1 "^PROJECT_NUMBER\s*=" | \
sed -E "s/^.*=[[:space:]]*(.*)[[:space:]]*$/\1/g"`
filename="mynt-eye-sdk-apidoc"; \ filename="mynt-eye-sdk-apidoc"; \
[ -n "$version" ] && filename="$filename-$version"; \ [ -n "$version" ] && filename="$filename-$version"; \
filename="$filename-$lang.pdf" filename="$filename-$lang.pdf"
cd "$OUTPUT/$lang/latex" && _texcjk refman.tex && make cd "$OUTPUT/$lang/latex" && _texcjk refman.tex && make
[ -f "refman.pdf" ] && mv "refman.pdf" "../$filename" [ -f "refman.pdf" ] && mv "refman.pdf" "../$filename"
fi fi
_echo_d "doxygen completed" _echo_d "doxygen completed"
else else
_echo_e "$DOXYFILE not found" _echo_e "$DOXYFILE not found"

View File

@@ -38,7 +38,7 @@ PROJECT_NAME = "MYNT EYE SDK"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = 2.0.1-rc2 PROJECT_NUMBER = 2.2.1-rc
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a

View File

@@ -14,7 +14,7 @@ There are two control modes, one is through UVC standard protocol, the other is
| Name | Field | Bytes | Default | Min | Max | Stored | Flash Address | Channel | Note | | Name | Field | Bytes | Default | Min | Max | Stored | Flash Address | Channel | Note |
| :--- | :---- | :---- | :------ | :-- | :-- | :----- | :------------ | :------ | :----- | | :--- | :---- | :---- | :------ | :-- | :-- | :----- | :------------ | :------ | :----- |
| Frame rate | frame_rate | 2 | 25 | 10 | √ | 0x21 | XU_CAM_CTRL | values: {10,15,20,25,30,35,40,45,50,55} | | 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} | | 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 | | 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 gain | max_gain | 2 | 48 | 0 | 48 | √ | 0x1D | XU_CAM_CTRL | valid if auto-exposure |

View File

@@ -38,7 +38,7 @@ PROJECT_NAME = "MYNT EYE SDK"
# could be handy for archiving the generated documentation or if some version # could be handy for archiving the generated documentation or if some version
# control system is used. # control system is used.
PROJECT_NUMBER = 2.0.1-rc2 PROJECT_NUMBER = 2.2.1-rc
# Using the PROJECT_BRIEF tag one can provide an optional one line description # Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a

View File

@@ -16,7 +16,7 @@
| 名称 | 字段 | 字节数 | 默认值 | 最小值 | 最大值 | 是否储存 | Flash 地址 | 所属通道 | 说明 | | 名称 | 字段 | 字节数 | 默认值 | 最小值 | 最大值 | 是否储存 | Flash 地址 | 所属通道 | 说明 |
| :----- | :----- | :-------- | :-------- | :-------- | :-------- | :----------- | :----------- | :----------- | :----- | | :----- | :----- | :-------- | :-------- | :-------- | :-------- | :----------- | :----------- | :----------- | :----- |
| 图像帧率 | frame_rate | 2 | 25 | 10 | √ | 0x21 | XU_CAM_CTRL | 步进为5即有效值为{10,15,20,25,30,35,40,45,50,55} | | 图像帧率 | 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} | | 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关闭 | | 曝光模式 | exposure_mode | 1 | 0 | 0 | 1 | √ | 0x0F | XU_CAM_CTRL | 0开启自动曝光 1关闭 |
| 最大增益 | max_gain | 2 | 48 | 0 | 48 | √ | 0x1D | XU_CAM_CTRL | 开始自动曝光,可设定的阈值 | | 最大增益 | max_gain | 2 | 48 | 0 | 48 | √ | 0x1D | XU_CAM_CTRL | 开始自动曝光,可设定的阈值 |

View File

@@ -144,7 +144,7 @@ enum class Option : std::uint8_t {
/** /**
* Image frame rate, must set IMU_FREQUENCY together * Image frame rate, must set IMU_FREQUENCY together
* *
* values: {10,15,20,25,30,35,40,45,50,55}, default: 25 * values: {10,15,20,25,30,35,40,45,50,55,60}, default: 25
*/ */
FRAME_RATE, FRAME_RATE,
/** /**

View File

@@ -29,7 +29,7 @@ int main(int argc, char *argv[]) {
// Attention: must set FRAME_RATE and IMU_FREQUENCY together, otherwise won't // Attention: must set FRAME_RATE and IMU_FREQUENCY together, otherwise won't
// succeed. // succeed.
// FRAME_RATE values: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 // FRAME_RATE values: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60
api->SetOptionValue(Option::FRAME_RATE, 25); api->SetOptionValue(Option::FRAME_RATE, 25);
// IMU_FREQUENCY values: 100, 200, 250, 333, 500 // IMU_FREQUENCY values: 100, 200, 250, 333, 500
api->SetOptionValue(Option::IMU_FREQUENCY, 500); api->SetOptionValue(Option::IMU_FREQUENCY, 500);

View File

@@ -224,7 +224,7 @@ void Channels::SetControlValue(const Option &option, std::int32_t value) {
} break; } break;
case Option::FRAME_RATE: { case Option::FRAME_RATE: {
if (!in_range() || if (!in_range() ||
!in_values({10, 15, 20, 25, 30, 35, 40, 45, 50, 55})) !in_values({10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60}))
break; break;
XuCamCtrlSet(option, value); XuCamCtrlSet(option, value);
} break; } break;

View File

@@ -100,6 +100,9 @@ float get_real_exposure_time(
case 55: case 55:
real_max = 16.325; real_max = 16.325;
break; break;
case 60:
real_max = 15;
break;
default: default:
LOG(ERROR) << "Invalid frame rate: " << frame_rate; LOG(ERROR) << "Invalid frame rate: " << frame_rate;
return exposure_time; return exposure_time;

View File

@@ -2,7 +2,7 @@
--- ---
device_name: MYNT-EYE-S1000 device_name: MYNT-EYE-S1000
serial_number: "0386322C0009070E" serial_number: "0386322C0009070E"
firmware_version: "2.0" firmware_version: "2.2"
hardware_version: "2.0" hardware_version: "2.0"
spec_version: "1.0" spec_version: "1.0"
lens_type: "0000" lens_type: "0000"

View File

@@ -4,29 +4,29 @@ in_left:
- -
width: 752 width: 752
height: 480 height: 480
fx: 7.3638305001095546e+02 fx: 3.6220059643202876e+02
fy: 7.2350066150722432e+02 fy: 3.6350065250745848e+02
cx: 3.5691961817119693e+02 cx: 4.0658699068023441e+02
cy: 2.1727271340923883e+02 cy: 2.3435161110061483e+02
model: 0 model: 0
coeffs: [ -5.4898645145016478e-01, 5.2837141203888638e-01, 0., 0., coeffs: [ -2.5034765682756088e-01, 5.0579399202897619e-02,
0. ] -7.0536676161976066e-04, -8.5255451307033846e-03, 0. ]
in_right: in_right:
- -
width: 752 width: 752
height: 480 height: 480
fx: 7.3638305001095546e+02 fx: 3.6514014888558478e+02
fy: 7.2350066150722432e+02 fy: 3.6513385298966961e+02
cx: 4.5668367112303980e+02 cx: 3.8932395100630907e+02
cy: 2.5070083335536796e+02 cy: 2.3495160212312547e+02
model: 0 model: 0
coeffs: [ -5.1012886039889305e-01, 3.8764476500996770e-01, 0., 0., coeffs: [ -3.0377346762098512e-01, 7.9929693673999838e-02,
0. ] 5.1547517530716883e-05, -6.7345903740579250e-04, 0. ]
ex_right_to_left: ex_right_to_left:
rotation: [ 9.9701893306553813e-01, -9.5378124886236681e-04, rotation: [ 9.9867908939669447e-01, -6.3445566137485428e-03,
-7.7151392794850615e-02, 1.4493996762830500e-03, 5.0988459509619687e-02, 5.9890316389333252e-03,
9.9997867219985104e-01, 6.3682325649414354e-03, 9.9995670037792639e-01, 7.1224201868366971e-03,
7.7143673424555026e-02, -6.4610716411527686e-03, -5.1031440326695092e-02, -6.8076406092671274e-03,
9.9699905125522237e-01 ] 9.9867384471984544e-01 ]
translation: [ -1.1888991734400047e+02, -4.5605803870530912e-02, translation: [ -1.2002489764113250e+02, -1.1782637409050747e+00,
-3.9531373691193386e+00 ] -5.2058205159996538e+00 ]

View File

@@ -1,15 +1,15 @@
%YAML:1.0 %YAML:1.0
--- ---
in_accel: in_accel:
scale: [ 0., 0., 0., 0., 0., 0., 0., 0., 0. ] scale: [ 1., 0., 0., 0., 1., 0., 0., 0., 1. ]
drift: [ 0., 0., 0. ] drift: [ 0.0, 0.0, 0.0 ]
noise: [ 0., 0., 0. ] noise: [ 0.016925432397973516, 0.016735310195561025, 0.017452487504590969 ]
bias: [ 0., 0., 0. ] bias: [ 0.00019031356589714596, 0.00016996777864587261, 0.00054490537096493644 ]
in_gyro: in_gyro:
scale: [ 0., 0., 0., 0., 0., 0., 0., 0., 0. ] scale: [ 1., 0., 0., 0., 1., 0., 0., 0., 1. ]
drift: [ 0., 0., 0. ] drift: [ 0., 0., 0. ]
noise: [ 0., 0., 0. ] noise: [ 0.0010848026158819934, 0.0012466367883501759, 0.0011003229919806443 ]
bias: [ 0., 0., 0. ] bias: [ 0.000023404834136742844, 0.000023596771567764949, 0.000014970418056326829 ]
ex_left_to_imu: ex_left_to_imu:
rotation: [ 0., 0., 0., 0., 0., 0., 0., 0., 0. ] rotation: [ -0.0064662, -0.99994994, -0.00763565, 0.99997909, -0.00646566, -0.00009558, 0.0000462, -0.00763611, 0.99997084 ]
translation: [ 0., 0., 0. ] translation: [ 0.00533646, -0.04302922, 0.02303124 ]

View File

@@ -99,7 +99,7 @@ def main():
# set_option_value # set_option_value
def set_rate(frame_rate=25, imu_frequency=500): # pylint: disable=unused-variable def set_rate(frame_rate=25, imu_frequency=500): # pylint: disable=unused-variable
# FRAME_RATE values: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 # FRAME_RATE values: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60
api.set_option_value(mynteye.FRAME_RATE, frame_rate) api.set_option_value(mynteye.FRAME_RATE, frame_rate)
# IMU_FREQUENCY values: 100, 200, 250, 333, 500 # IMU_FREQUENCY values: 100, 200, 250, 333, 500
api.set_option_value(mynteye.IMU_FREQUENCY, imu_frequency) api.set_option_value(mynteye.IMU_FREQUENCY, imu_frequency)

View File

@@ -54,7 +54,7 @@
<arg name="contrast" default="-1" /> <arg name="contrast" default="-1" />
<!-- <arg name="contrast" default="127" /> --> <!-- <arg name="contrast" default="127" /> -->
<!-- frame_rate range: {10,15,20,25,30,35,40,45,50,55} --> <!-- frame_rate range: {10,15,20,25,30,35,40,45,50,55,60} -->
<arg name="frame_rate" default="-1" /> <arg name="frame_rate" default="-1" />
<!-- <arg name="frame_rate" default="25" /> --> <!-- <arg name="frame_rate" default="25" /> -->