Skip to content

Commit 88a97b9

Browse files
committed
V1.2.4: Support DS86/87 and optimizate code; For more information, please refer to the ReleaseNotes.txt
1 parent a7cf954 commit 88a97b9

File tree

682 files changed

+38286
-889
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

682 files changed

+38286
-889
lines changed
Binary file not shown.

AArch64/Include/VzenseNebula_api.h

+57-3
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ VZENSE_C_API_EXPORT VzReturnStatus VZ_GetFrame(VzDeviceHandle device, VzFrameTyp
126126
/**
127127
* @brief Set the working mode of the camera.
128128
* @param[in] device The handle of the device
129-
* @param[in] mode The work mode of camera.
129+
* @param[in] mode The work mode of camera. For ActiveMode, set the Time filter default true, for SlaveMode, set the Time filter default false.
130130
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
131131
*/
132132
VZENSE_C_API_EXPORT VzReturnStatus VZ_SetWorkMode(VzDeviceHandle device, VzWorkMode mode);
@@ -430,7 +430,6 @@ VZENSE_C_API_EXPORT VzReturnStatus VZ_ConvertDepthToPointCloud(VzDeviceHandle de
430430
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
431431
*/
432432
VZENSE_C_API_EXPORT VzReturnStatus VZ_ConvertDepthFrameToPointCloudVector(VzDeviceHandle device, const VzFrame* pDepthFrame, VzVector3f* pWorldVector);
433-
434433
/**
435434
* @brief Sets hotplug status callback function
436435
* @param[in] pCallback Pointer to the callback function. See ::PtrHotPlugStatusCallback
@@ -467,7 +466,7 @@ VZENSE_C_API_EXPORT VzReturnStatus VZ_SetProperty(VzDeviceHandle device, const c
467466
VZENSE_C_API_EXPORT VzReturnStatus VZ_GetProperty(VzDeviceHandle device, const char* propertyKey, void* pData, uint32_t dataSize);
468467

469468
/**
470-
* @brief Enables or disables the HDR Mode of the ToF sensor.
469+
* @brief Enables or disables the HDR Mode of the ToF sensor with VzExposureControlMode_Manual. Default enabled, so if you want switch to the VzExposureControlMode_Auto, set HDR Mode disable firstly.
471470
* @param[in] device The handle of the device on which to enable or disable the feature.
472471
* @param[in] bEnabled Set to <code>true</code> to enable the feature or <code>false</code> to disable the feature.
473472
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
@@ -481,5 +480,60 @@ VZENSE_C_API_EXPORT VzReturnStatus VZ_SetHDRModeEnabled(VzDeviceHandle device, b
481480
*/
482481
VZENSE_C_API_EXPORT VzReturnStatus VZ_GetHDRModeEnabled(VzDeviceHandle device, bool *bEnabled);
483482

483+
/**
484+
* @brief Set the input signal parameters for Hardware Trigger.
485+
* @param[in] device The handle of the device
486+
* @param[in] params Pointer to a variable in which to store the parameters.
487+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
488+
*/
489+
VZENSE_C_API_EXPORT VzReturnStatus VZ_SetInputSignalParamsForHWTrigger(VzDeviceHandle device, VzInputSignalParamsForHWTrigger params);
490+
491+
/**
492+
* @brief Get the Input signal parameters for Hardware Trigger.
493+
* @param[in] device The handle of the device
494+
* @param[out] pParams Pointer to a variable in which to store the returned value.
495+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
496+
*/
497+
VZENSE_C_API_EXPORT VzReturnStatus VZ_GetInputSignalParamsForHWTrigger(VzDeviceHandle device, VzInputSignalParamsForHWTrigger *pParams);
498+
499+
/**
500+
* @brief Set the output signal parameters.
501+
* @param[in] device The handle of the device
502+
* @param[in] params Pointer to a variable in which to store the parameters.
503+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
504+
*/
505+
VZENSE_C_API_EXPORT VzReturnStatus VZ_SetOutputSignalParams(VzDeviceHandle device, VzOutputSignalParams params);
506+
507+
/**
508+
* @brief Get the output signal parameters.
509+
* @param[in] device The handle of the device
510+
* @param[out] pParams Pointer to a variable in which to store the returned value.
511+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
512+
*/
513+
VZENSE_C_API_EXPORT VzReturnStatus VZ_GetOutputSignalParams(VzDeviceHandle device, VzOutputSignalParams *pParams);
514+
515+
/**
516+
* @brief Set the parameters by Json file that can be saved by NebulaGUITool.
517+
* @param[in] device The handle of the device.
518+
* @param[in] pfilePath Pointer to the path of Json file.
519+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
520+
*/
521+
VZENSE_C_API_EXPORT VzReturnStatus VZ_SetParamsByJson(VzDeviceHandle device, char* pfilePath);
522+
523+
/**
524+
* @brief Set the color Gain with the exposure mode of RGB sensor in VzExposureControlMode_Manual.
525+
* @param[in] device The handle of the device.
526+
* @param[in] params The value of color Gain.Value range: [1.0 15.5]
527+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
528+
*/
529+
VZENSE_C_API_EXPORT VzReturnStatus VZ_SetColorGain(VzDeviceHandle device, float params);
530+
531+
/**
532+
* @brief Get the color Gain.
533+
* @param[in] device The handle of the device.
534+
* @param[out] params The value of color Gain.
535+
* @return ::VzRetOK if the function succeeded, or one of the error values defined by ::VzReturnStatus.
536+
*/
537+
VZENSE_C_API_EXPORT VzReturnStatus VZ_GetColorGain(VzDeviceHandle device, float *pParams);
484538

485539
#endif /* VZENSEDS_API_H */

AArch64/Include/VzenseNebula_enums.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ typedef enum
6363
VzRetUpgradeImgPathTooLong = -18, //!< Upgrade file path length greater than 260.
6464
VzRetUpgradeCallbackNotSet = -19, //!< VZ_SetUpgradeStatusCallback is not called.
6565
VzRetProductNotSupport = -20, //!< The current product does not support this operation.
66-
VzRetNoProductProfile = -21, //!< No product profile found.
66+
VzRetNoConfigFolder = -21, //!< No product profile found.
67+
VzRetWebServerStartError = -22, //!< WebServer Start/Restart error(IP or PORT).
68+
VzRetGetOverStayFrame = -23, //!< The time from frame ready to get frame is out of 1s
69+
VzRetCreateLogDirError = -24, //!< Create log directory error
70+
VzRetCreateLogFileError = -25, //!< Create log file error
6771
VzRetNoAdapterConnected = -100, //!< There is no adapter connected
6872
VzRetReInitialized = -101, //!< The SDK has been Initialized
6973
VzRetNoInitialized = -102, //!< The SDK has not been Initialized
@@ -73,6 +77,7 @@ typedef enum
7377
VzRetIPNotMatch = -106, //!< IP is not in the same network segment
7478
VzRetNotStopStream = -107, //!< Please invoke VZ_StopStream first to close the data stream
7579
VzRetNotStartStream = -108, //!< Please invoke VZ_StartStream first to get the data stream
80+
VzRetNoDriversFolder = -109, //!< Please invoke VZ_StartStream first to get the data stream
7681

7782
VzRetOthers = -255, //!< An unknown error occurred.
7883
}VzReturnStatus;

AArch64/Include/VzenseNebula_types.h

+16-3
Original file line numberDiff line numberDiff line change
@@ -143,20 +143,20 @@ typedef struct
143143

144144
typedef struct
145145
{
146+
int threshold;//[0, 3],The larger the value is, the more obvious the filtering effect is and The smaller the point cloud wobble
146147
bool enable;
147-
int threshold;//[0, 3],The larger the value is, the more obvious the filtering effect is and The smaller the point cloud wobble
148148
} VzTimeFilterParams;
149149

150150
typedef struct
151151
{
152+
int threshold;//[0, 100],The larger the value is, the more obvious the filtering effect is and the more points are filtered out
152153
bool enable;
153-
int threshold;//[0, 100],The larger the value is, the more obvious the filtering effect is and the more points are filtered out
154154
} VzConfidenceFilterParams;
155155

156156
typedef struct
157157
{
158-
bool enable;
159158
int threshold;//[0, 49],The larger the value is, the more obvious the filtering effect is and the more points are filtered out
159+
bool enable;
160160
} VzFlyingPixelFilterParams;
161161

162162
typedef struct
@@ -177,6 +177,19 @@ typedef struct
177177
char errorMessage[10][64]; //The maximum length of each error message is 64(contains '\0').
178178
} VzDeviceErrorInfo;
179179

180+
typedef struct
181+
{
182+
uint16_t width; //[1,65535],The width of input signal.
183+
uint16_t interval; //[34000,65535],The interval of input signal.
184+
uint8_t polarity; //[0,1],0 for active low, 1 for active high.
185+
}VzInputSignalParamsForHWTrigger; //Input signal parameters for Hardware Trigger.
186+
187+
typedef struct
188+
{
189+
uint16_t width; //[1,65535],The width of output signal.
190+
uint16_t delay; //[0,65535],The delay time of output signal.
191+
uint8_t polarity; //[0,1],0 for active low, 1 for active high.
192+
}VzOutputSignalParams; //Output signal parameters.
180193

181194
#pragma pack (pop)
182195

AArch64/Lib/Config/DS86_12.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"productName": "DS86",
3+
"connectType":"socket",
4+
"colorSensor": [
5+
{
6+
"type": "gc2053",
7+
"resolutionList": [ "1600_1200", "800_600", "640_480" ]
8+
} ],
9+
"toFSensor": [
10+
{
11+
"type": "sony_cw_2022"
12+
}]
13+
}

AArch64/Lib/Config/DS87_13.json

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"productName": "DS87",
3+
"connectType":"socket",
4+
"colorSensor": [
5+
{
6+
"type": "gc2053",
7+
"resolutionList": [ "1600_1200", "800_600", "640_480" ]
8+
} ],
9+
"toFSensor": [
10+
{
11+
"type": "sony_cw_2022"
12+
}]
13+
}

AArch64/Lib/Drivers/libgc2053.so

-784 Bytes
Binary file not shown.
-23.7 KB
Binary file not shown.

AArch64/Lib/libDSImgPreProcess.so

12.3 KB
Binary file not shown.

AArch64/Lib/libNebula_api.so

7.24 KB
Binary file not shown.

AArch64/Lib/libNebula_api.so.1.1

-808 KB
Binary file not shown.

AArch64/Lib/libNebula_api.so.1.1.20

-808 KB
Binary file not shown.

AArch64/Lib/libNebula_api.so.1.2

815 KB
Binary file not shown.

AArch64/Lib/libNebula_api.so.1.2.4

815 KB
Binary file not shown.
104 Bytes
Binary file not shown.
79.9 KB
Binary file not shown.

AArch64/PrecompiledSamples/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
## Introduction of Tools
22

33
- DS77_OpenCVSample: support for DS77Lite/DS77Pro
4-
- DS77C_OpenCVSample: support for DS77CLite/DS77CPro
4+
- DS77C_OpenCVSample: support for DS77CLite/DS77CPro
5+
- DS86: support for DS86 & DS87

AArch64/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## Details
2+
- When using multiple network cards, set different IP network segments

AArch64/ReleaseNotes.txt

+72-42
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,72 @@
1-
Ver1.1.20
2-
1.Fix bug in VZ_ConvertDepthFrameToPointCloudVector api with VzTransformDepthImgToColorSensorFrame
3-
2.Add samples PointCloudCaptureAndSaveDepthImgToColorSensor and PointCloudVectorAndSaveDepthImgToColorSensor
4-
3.Optimizate code
5-
6-
Ver1.1.19
7-
1.Add HDR Mode VZ_SetHDRModeEnabled/VZ_GetHDRModeEnabled,(support firmware version: after 20221207)
8-
2.Optimizate code
9-
10-
Ver1.1.17
11-
1.Optimizate code
12-
2.Add Samples ToFExposureTimeSetGet & ToFFiltersSetGet
13-
14-
Ver1.1.16
15-
1.Modify the api of filters
16-
2.fix some errors
17-
18-
Ver1.1.13
19-
1.Change the name of the header file
20-
2.Modify filter error
21-
22-
Ver1.1.0
23-
1.Optimizing the SDK Architecture
24-
2.Modify the API of VZ_SetColorResolution/VZ_GetColorResolution
25-
26-
Ver1.0.9
27-
1.Change the library name frome vzenseDS_api to NebulaSDK
28-
2.Adjust the file directory structure
29-
30-
Ver1.0.8
31-
1.add VZ_S/GetExposureControlMode
32-
2.Modify the API of VZ_SetExposureTime
33-
3.Modify the API of VZ_ConvertDepthFrameToPointCloudVector for support VzTransformDepthImgToColorSensorFrame
34-
35-
Ver1.0.7
36-
Modify the SDK API
37-
38-
Ver1.0.6
39-
Modify the SDK API
40-
41-
Ver1.0.5
42-
First version
1+
Ver1.2.4
2+
1.Optimizate code check the time from frame ready to get frame is out of 1s or not
3+
4+
Ver1.2.3
5+
1.Optimizate softwaretrigger
6+
2.Support jsonfile update
7+
3.Fix some errors
8+
4.Support Arm32 (arm-linux-gnueabihf)
9+
10+
Ver1.2.2
11+
1.Add the sn field in the Log module
12+
2.Add API VZ_SetParamsByJson, the json file can be saved by NebulaGUITool(V1.2.2)
13+
3.Fix some errors
14+
4.Add API VZ_SetColorGain/VZ_GetColorGain which is used in VzExposureControlMode_Manual
15+
16+
Ver1.2.1
17+
1.For VZ_SetWorkMode API:
18+
to set ActiveMode, the Firmware set the Time filter default true;
19+
to set SlaveMode, the Firmware set the Time filter default false.
20+
if need change the the Time filter status,call the API VZ_SetTimeFilterParams
21+
2.Optimizate code
22+
23+
Ver1.2.0
24+
1.Support DS86 & DS87
25+
2.Add API for DS86 & DS87
26+
VZ_SetInputSignalParamsForHWTrigger
27+
VZ_GetInputSignalParamsForHWTrigger
28+
VZ_SetOutputSignalParams
29+
VZ_GetOutputSignalParams
30+
31+
Ver1.1.20
32+
1.Fix bug in VZ_ConvertDepthFrameToPointCloudVector api with VzTransformDepthImgToColorSensorFrame
33+
2.Add samples PointCloudCaptureAndSaveDepthImgToColorSensor and PointCloudVectorAndSaveDepthImgToColorSensor
34+
3.Optimizate code
35+
36+
Ver1.1.19
37+
1.Add HDR Mode VZ_SetHDRModeEnabled/VZ_GetHDRModeEnabled,(support firmware version: after 20221207)
38+
2.Optimizate code
39+
40+
Ver1.1.17
41+
1.Optimizate code
42+
2.Add Samples ToFExposureTimeSetGet & ToFFiltersSetGet
43+
44+
Ver1.1.16
45+
1.Modify the api of filters
46+
2.fix some errors
47+
48+
Ver1.1.13
49+
1.Change the name of the header file
50+
2.Modify filter error
51+
52+
Ver1.1.0
53+
1.Optimizing the SDK Architecture
54+
2.Modify the API of VZ_SetColorResolution/VZ_GetColorResolution
55+
56+
Ver1.0.9
57+
1.Change the library name frome vzenseDS_api to NebulaSDK
58+
2.Adjust the file directory structure
59+
60+
Ver1.0.8
61+
1.add VZ_S/GetExposureControlMode
62+
2.Modify the API of VZ_SetExposureTime
63+
3.Modify the API of VZ_ConvertDepthFrameToPointCloudVector for support VzTransformDepthImgToColorSensorFrame
64+
65+
Ver1.0.7
66+
Modify the SDK API
67+
68+
Ver1.0.6
69+
Modify the SDK API
70+
71+
Ver1.0.5
72+
First version

AArch64/Samples/Base/DS77/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ add_subdirectory(DeviceInfoGet)
2828
add_subdirectory(DeviceParamSetGet)
2929
add_subdirectory(DeviceSearchAndConnect)
3030
add_subdirectory(DeviceSetFrameRate)
31+
add_subdirectory(DeviceSetParamsByJson)
3132
add_subdirectory(DeviceStartStopStreaming)
3233
add_subdirectory(DeviceSWTriggerMode)
3334
add_subdirectory(FrameCaptureAndSave)

AArch64/Samples/Base/DS77/DeviceParamSetGet/DeviceParamSetGet.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
using namespace std;
66

77
int main() {
8-
cout << "---DeviceParamGet---"<< endl;
8+
cout << "---DeviceParamSetGet---"<< endl;
99

1010
//about dev
1111
uint32_t deviceCount;

AArch64/Samples/Base/DS77/DeviceSWTriggerMode/DeviceSWTriggerMode.cpp

+11-10
Original file line numberDiff line numberDiff line change
@@ -97,22 +97,22 @@ int main() {
9797
cout << "VZ_SetWorkMode failed status:" <<status<< endl;
9898
return -1;
9999
}
100-
101-
//Clearing cached images
102-
for (int i = 0; i < 5; i++)
103-
{
104-
status = VZ_GetFrameReady(deviceHandle, 200, &FrameReady);
105-
}
100+
// get frameRate
101+
int frameRate = 5;
102+
status = VZ_GetFrameRate(deviceHandle, &frameRate);
103+
if (status != VzReturnStatus::VzRetOK)
104+
{
105+
cout << "VZ_SetFrameRate failed status:" << status << endl;
106+
return -1;
107+
}
108+
cout << "frameRate :" << frameRate << endl;
106109

107110
//1.software trigger.
108111
//2.ReadNextFrame.
109112
//3.GetFrame acoording to Ready flag and Frametype.
113+
//4.sleep 1000/frameRate (ms)
110114
for (int i = 0; i < frameSpace; i++)
111115
{
112-
113-
//The minimum time interval to trigger a signal is 1000/FPS milliseconds
114-
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
115-
116116
//call the below api to trigger one frame, then the frame will be sent
117117
// if do not call this function, the frame will not be sent and the below call will return timeout fail
118118
status = VZ_SetSoftwareSlaveTrigger(deviceHandle);
@@ -144,6 +144,7 @@ int main() {
144144
}
145145
}
146146

147+
this_thread::sleep_for(chrono::milliseconds(1000 / frameRate));
147148
}
148149
//set slave false
149150
status = VZ_SetWorkMode(deviceHandle, VzActiveMode);

AArch64/Samples/Base/DS77/DeviceSetFrameRate/DeviceSetFrameRate.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ int main() {
7777
return -1;
7878
}
7979

80-
int frameRate = 15;
80+
int frameRate = 5;
8181
status = VZ_SetFrameRate(deviceHandle, frameRate);
8282
if (status != VzReturnStatus::VzRetOK)
8383
{
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
project(DeviceSetParamsByJson)
2+
add_executable( ${PROJECT_NAME} DeviceSetParamsByJson.cpp)
3+
target_link_libraries(${PROJECT_NAME} Nebula_api)

0 commit comments

Comments
 (0)