diff --git a/sdk/app/frame_grabber/stdafx.h b/sdk/app/frame_grabber/stdafx.h index 8950c40..44b9f70 100644 --- a/sdk/app/frame_grabber/stdafx.h +++ b/sdk/app/frame_grabber/stdafx.h @@ -75,4 +75,5 @@ using namespace WTL; //STL #include -#include \ No newline at end of file +#include +#include \ No newline at end of file diff --git a/sdk/app/simple_grabber/main.cpp b/sdk/app/simple_grabber/main.cpp index 1be2e99..3a0fe2f 100644 --- a/sdk/app/simple_grabber/main.cpp +++ b/sdk/app/simple_grabber/main.cpp @@ -54,7 +54,7 @@ using namespace rp::standalone::rplidar; void print_usage(int argc, const char * argv[]) { printf("Simple LIDAR data grabber for RPLIDAR.\n" - "Version: "RPLIDAR_SDK_VERSION"\n" + "Version: " RPLIDAR_SDK_VERSION "\n" "Usage:\n" "%s [baudrate]\n" "The default baudrate is 115200(for A2) or 256000(for A3). Please refer to the datasheet for details.\n" diff --git a/sdk/app/ultra_simple/main.cpp b/sdk/app/ultra_simple/main.cpp index b80b2ed..1a3b818 100644 --- a/sdk/app/ultra_simple/main.cpp +++ b/sdk/app/ultra_simple/main.cpp @@ -90,7 +90,7 @@ int main(int argc, const char * argv[]) { bool useArgcBaudrate = false; printf("Ultra simple LIDAR data grabber for RPLIDAR.\n" - "Version: "RPLIDAR_SDK_VERSION"\n"); + "Version: " RPLIDAR_SDK_VERSION "\n"); // read serial port from the command line... if (argc>1) opt_com_path = argv[1]; // or set to a fixed value: e.g. "com3" @@ -105,7 +105,7 @@ int main(int argc, const char * argv[]) { if (!opt_com_path) { #ifdef _WIN32 // use default com port - opt_com_path = "\\\\.\\com3"; + opt_com_path = "\\\\.\\com57"; #elif __APPLE__ opt_com_path = "/dev/tty.SLAB_USBtoUART"; #else @@ -205,7 +205,6 @@ int main(int argc, const char * argv[]) { size_t count = _countof(nodes); op_result = drv->grabScanDataHq(nodes, count); - if (IS_OK(op_result)) { drv->ascendScanData(nodes, count); for (int pos = 0; pos < (int)count ; ++pos) { diff --git a/sdk/sdk/src/rplidar_driver.cpp b/sdk/sdk/src/rplidar_driver.cpp index 9b0b532..af244f8 100644 --- a/sdk/sdk/src/rplidar_driver.cpp +++ b/sdk/sdk/src/rplidar_driver.cpp @@ -665,21 +665,49 @@ u_result RPlidarDriverImplCommon::checkExpressScanSupported(bool & support, _u32 return RESULT_OK; } + +int RPlidarDriverImplCommon::_getSyncBitByAngle(const int current_angle_q16, const int angleInc_q16) +{ + static int last_angleInc_q16 = 0; + int current_angleInc_q16 = angleInc_q16; + int syncBit_check_threshold = (int)((5 << 16) / angleInc_q16) + 1;//find syncBit in 0~3 degree + int syncBit = 0; + int predict_angle_q16 = (current_angle_q16 + angleInc_q16) % (360 << 16); + + if (predict_angle_q16 < 0) { + predict_angle_q16 += (360 << 16); + } + if (!_syncBit_is_finded) + { + if (0 < predict_angle_q16 && predict_angle_q16 < (90 << 16)) + syncBit = 1; + if (syncBit) + _syncBit_is_finded = true; + } + else + { + if(predict_angle_q16 > (270<<16)) + _syncBit_is_finded = false; + //if (predict_angle_q16 > (syncBit_check_threshold * angleInc_q16)) { + // _is_previous_syncBit = false; + //} + } + last_angleInc_q16 = current_angleInc_q16; + return syncBit; +} + u_result RPlidarDriverImplCommon::_cacheCapsuledScanData() { rplidar_response_capsule_measurement_nodes_t capsule_node; - rplidar_response_measurement_node_hq_t local_buf[128]; - size_t count = 128; + rplidar_response_measurement_node_hq_t local_buf[512]; + size_t count = 512; rplidar_response_measurement_node_hq_t local_scan[MAX_SCAN_NODES]; size_t scan_count = 0; u_result ans; memset(local_scan, 0, sizeof(local_scan)); _waitCapsuledNode(capsule_node); // // always discard the first data since it may be incomplete - - - while(_isScanning) { if (IS_FAIL(ans=_waitCapsuledNode(capsule_node))) { @@ -736,10 +764,11 @@ u_result RPlidarDriverImplCommon::_cacheCapsuledScanData() u_result RPlidarDriverImplCommon::_cacheUltraCapsuledScanData() { rplidar_response_ultra_capsule_measurement_nodes_t ultra_capsule_node; - rplidar_response_measurement_node_hq_t local_buf[128]; - size_t count = 128; + rplidar_response_measurement_node_hq_t local_buf[512]; + size_t count = 512; rplidar_response_measurement_node_hq_t local_scan[MAX_SCAN_NODES]; size_t scan_count = 0; + size_t last_scan_count = 0; u_result ans; memset(local_scan, 0, sizeof(local_scan)); @@ -809,8 +838,8 @@ void RPlidarDriverImplCommon::_capsuleToNormal(const rplidar_response_capsul for (size_t pos = 0; pos < _countof(_cached_previous_capsuledata.cabins); ++pos) { int dist_q2[2]; - int angle_q6[2]; - int syncBit[2]; + int angle_q16[2]; + int syncBit[2] = { 0,0 }; dist_q2[0] = (_cached_previous_capsuledata.cabins[pos].distance_angle_1 & 0xFFFC); dist_q2[1] = (_cached_previous_capsuledata.cabins[pos].distance_angle_2 & 0xFFFC); @@ -818,23 +847,24 @@ void RPlidarDriverImplCommon::_capsuleToNormal(const rplidar_response_capsul int angle_offset1_q3 = ( (_cached_previous_capsuledata.cabins[pos].offset_angles_q3 & 0xF) | ((_cached_previous_capsuledata.cabins[pos].distance_angle_1 & 0x3)<<4)); int angle_offset2_q3 = ( (_cached_previous_capsuledata.cabins[pos].offset_angles_q3 >> 4) | ((_cached_previous_capsuledata.cabins[pos].distance_angle_2 & 0x3)<<4)); - angle_q6[0] = ((currentAngle_raw_q16 - (angle_offset1_q3<<13))>>10); - syncBit[0] = (( (currentAngle_raw_q16 + angleInc_q16) % (360<<16)) < angleInc_q16 )?1:0; - currentAngle_raw_q16 += angleInc_q16; + int syncBit_check_threshold = (int)((2 << 16) / angleInc_q16) + 1;//find syncBit in 0~1 degree + angle_q16[0] = (currentAngle_raw_q16 - (angle_offset1_q3<<13)); + syncBit[0] = _getSyncBitByAngle(currentAngle_raw_q16, angleInc_q16); + currentAngle_raw_q16 += angleInc_q16; - angle_q6[1] = ((currentAngle_raw_q16 - (angle_offset2_q3<<13))>>10); - syncBit[1] = (( (currentAngle_raw_q16 + angleInc_q16) % (360<<16)) < angleInc_q16 )?1:0; + angle_q16[1] = (currentAngle_raw_q16 - (angle_offset2_q3<<13)); + syncBit[1] = _getSyncBitByAngle(currentAngle_raw_q16, angleInc_q16); currentAngle_raw_q16 += angleInc_q16; for (int cpos = 0; cpos < 2; ++cpos) { - if (angle_q6[cpos] < 0) angle_q6[cpos] += (360<<6); - if (angle_q6[cpos] >= (360<<6)) angle_q6[cpos] -= (360<<6); + if (angle_q16[cpos] < 0) angle_q16[cpos] += (360<<16); + if (angle_q16[cpos] >= (360<<16)) angle_q16[cpos] -= (360<<16); rplidar_response_measurement_node_hq_t node; - node.angle_z_q14 = _u16((angle_q6[cpos] << 8) / 90); + node.angle_z_q14 = _u16((angle_q16[cpos] >> 2) / 90); node.flag = (syncBit[cpos] | ((!syncBit[cpos]) << 1)); node.quality = dist_q2[cpos] ? (0x2f << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT) : 0; node.dist_mm_q2 = dist_q2[cpos]; @@ -873,7 +903,7 @@ void RPlidarDriverImplCommon::_dense_capsuleToNormal(const rplidar_response_ const int dist = static_cast(_cached_previous_dense_capsuledata.cabins[pos].distance); dist_q2 = dist << 2; angle_q6 = (currentAngle_raw_q16 >> 10); - syncBit = (((currentAngle_raw_q16 + angleInc_q16) % (360 << 16)) < angleInc_q16) ? 1 : 0; + syncBit = _getSyncBitByAngle(currentAngle_raw_q16, angleInc_q16); currentAngle_raw_q16 += angleInc_q16; if (angle_q6 < 0) angle_q6 += (360 << 6); @@ -1163,7 +1193,7 @@ void RPlidarDriverImplCommon::_ultraCapsuleToNormal(const rplidar_response_ultra { int dist_q2[3]; int angle_q6[3]; - int syncBit[3]; + int syncBit[3] = {0}; _u32 combined_x3 = _cached_previous_ultracapsuledata.ultra_cabins[pos].combined_x3; @@ -1223,8 +1253,8 @@ void RPlidarDriverImplCommon::_ultraCapsuleToNormal(const rplidar_response_ultra for (int cpos = 0; cpos < 3; ++cpos) { - - syncBit[cpos] = (((currentAngle_raw_q16 + angleInc_q16) % (360 << 16)) < angleInc_q16) ? 1 : 0; + int syncBit_check_threshold = (int)((3 << 16) / angleInc_q16)+1;//find syncBit in 0~1 degree + syncBit[cpos] = _getSyncBitByAngle(currentAngle_raw_q16, angleInc_q16); int offsetAngleMean_q16 = (int)(7.5 * 3.1415926535 * (1 << 16) / 180.0); @@ -1248,7 +1278,6 @@ void RPlidarDriverImplCommon::_ultraCapsuleToNormal(const rplidar_response_ultra node.quality = dist_q2[cpos] ? (0x2F << RPLIDAR_RESP_MEASUREMENT_QUALITY_SHIFT) : 0; node.angle_z_q14 = _u16((angle_q6[cpos] << 8) / 90); node.dist_mm_q2 = dist_q2[cpos]; - nodebuffer[nodeCount++] = node; } @@ -1388,6 +1417,7 @@ u_result RPlidarDriverImplCommon::getLidarSampleDuration(float& sampleDurationRe } const _u32 *result = reinterpret_cast(&answer[0]); sampleDurationRes = (float)(*result >> 8); + _cached_current_us_per_sample = sampleDurationRes; return ans; } @@ -1659,7 +1689,7 @@ u_result RPlidarDriverImplCommon::startScanExpress(bool force, _u16 scanMode, _u { return RESULT_INVALID_DATA; } - + ans = getMaxDistance(outUsedScanMode->max_distance, outUsedScanMode->id); if (IS_FAIL(ans)) { @@ -1767,6 +1797,7 @@ u_result RPlidarDriverImplCommon::startScanExpress(bool force, _u16 scanMode, _u if (_cachethread.getHandle() == 0) { return RESULT_OPERATION_FAIL; } + } return RESULT_OK; } @@ -2090,6 +2121,7 @@ u_result RPlidarDriverImplCommon::getSampleDuration_uS(rplidar_response_sample_r } _chanDev->recvdata(reinterpret_cast<_u8 *>(&rateInfo), sizeof(rateInfo)); } + _cached_current_us_per_sample = rateInfo.express_sample_duration_us; return RESULT_OK; } diff --git a/sdk/sdk/src/rplidar_driver_impl.h b/sdk/sdk/src/rplidar_driver_impl.h index 950194f..8440adf 100644 --- a/sdk/sdk/src/rplidar_driver_impl.h +++ b/sdk/sdk/src/rplidar_driver_impl.h @@ -92,6 +92,7 @@ namespace rp { namespace standalone{ namespace rplidar { virtual u_result _waitNode(rplidar_response_measurement_node_t * node, _u32 timeout = DEFAULT_TIMEOUT); virtual u_result _cacheCapsuledScanData(); virtual u_result _waitCapsuledNode(rplidar_response_capsule_measurement_nodes_t & node, _u32 timeout = DEFAULT_TIMEOUT); + virtual int _getSyncBitByAngle(const int current_angle_q16, const int angleInc_q16); virtual void _capsuleToNormal(const rplidar_response_capsule_measurement_nodes_t & capsule, rplidar_response_measurement_node_hq_t *nodebuffer, size_t &nodeCount); virtual void _dense_capsuleToNormal(const rplidar_response_capsule_measurement_nodes_t & capsule, rplidar_response_measurement_node_hq_t *nodebuffer, size_t &nodeCount); @@ -117,6 +118,7 @@ namespace rp { namespace standalone{ namespace rplidar { _u16 _cached_sampleduration_std; _u16 _cached_sampleduration_express; _u8 _cached_express_flag; + float _cached_current_us_per_sample; rplidar_response_capsule_measurement_nodes_t _cached_previous_capsuledata; rplidar_response_dense_capsule_measurement_nodes_t _cached_previous_dense_capsuledata; @@ -124,6 +126,7 @@ namespace rp { namespace standalone{ namespace rplidar { rplidar_response_hq_capsule_measurement_nodes_t _cached_previous_Hqdata; bool _is_previous_capsuledataRdy; bool _is_previous_HqdataRdy; + bool _syncBit_is_finded; diff --git a/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj b/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj new file mode 100644 index 0000000..171faa4 --- /dev/null +++ b/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj @@ -0,0 +1,168 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {43664C66-8311-4696-BE18-778DBCD57362} + 10.0 + + + + Application + true + MultiByte + v142 + + + Application + false + MultiByte + v142 + + + + + + + + + + + + + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + true + $(ProjectDir)..\..\..\app\frame_grabber;$(IncludePath) + + + $(SolutiaonDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + false + $(ProjectDir)..\..\..\app\frame_grabber;$(IncludePath) + + + + Level3 + MultiThreadedDebug + true + EditAndContinue + EnableFastChecks + Disabled + WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions) + ..\..\..\app\frame_grabber\ref\wtl;..\..\..\sdk\src;..\..\..\sdk\include;.;%(AdditionalIncludeDirectories) + Create + + + Windows + MachineX86 + true + Gdiplus.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + 0x0409 + $(IntDir);$(ProjectDir)\..\..\..\app\frame_grabber\ref\wtl;%(AdditionalIncludeDirectories) + _DEBUG;%(PreprocessorDefinitions) + + + false + Win32 + _DEBUG;%(PreprocessorDefinitions) + framegrabber.h + framegrabber_i.c + framegrabber_p.c + true + $(IntDir)/framegrabber.tlb + + + + + + + Use + Level3 + MultiThreaded + + + + + WIN32;_WINDOWS;STRICT;NDEBUG;%(PreprocessorDefinitions) + ..\..\..\sdk\src;..\..\..\app\frame_grabber\ref\wtl;..\..\..\sdk\include;.;%(AdditionalIncludeDirectories) + + + Windows + MachineX86 + Gdiplus.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + 0x0409 + $(IntDir);..\..\..\app\frame_grabber\ref\wtl;%(AdditionalIncludeDirectories) + NDEBUG;%(PreprocessorDefinitions) + + + false + Win32 + NDEBUG;%(PreprocessorDefinitions) + framegrabber.h + framegrabber_i.c + framegrabber_p.c + true + $(IntDir)/framegrabber.tlb + + + + + + + + + + + + + + Create + + + + + + + + + + + + + + + + + + + + + + + + + {1f0aa469-8a8f-4ada-931d-967d2c5996df} + + + + + + + + + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj.filters b/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj.filters new file mode 100644 index 0000000..911f835 --- /dev/null +++ b/sdk/workspaces/vc14/frame_grabber/frame_grabber.vcxproj.filters @@ -0,0 +1,94 @@ + + + + + {c3a16088-689b-4e1e-aab4-ac33d58067a4} + cpp;c;cxx;def;odl;idl;hpj;bat;asm + + + {aabd7724-6c0e-44c7-a0f7-ca945bd9afd8} + h;hpp;hxx;hm;inl;inc + + + {7edcc76a-7c5a-4b3e-8199-3001d79de00a} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest + + + {8de1a143-1934-46ca-a86a-83c28b4e3695} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + drvlogic + + + Source Files + + + Source Files + + + Source Files + + + + + drvlogic + + + drvlogic + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Resource Files + + + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj b/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj new file mode 100644 index 0000000..67376ac --- /dev/null +++ b/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj @@ -0,0 +1,116 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF} + rplidar_driver + 10.0 + + + + StaticLibrary + true + MultiByte + v142 + + + StaticLibrary + false + true + MultiByte + v142 + + + + + + + + + + + + + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + + + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + + Level3 + Disabled + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\..\sdk\include;..\..\..\sdk\src;%(AdditionalIncludeDirectories) + + + MultiThreadedDebug + + + true + + + + + Level3 + Disabled + true + true + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + ..\..\..\sdk\include;..\..\..\sdk\src;%(AdditionalIncludeDirectories) + MultiThreaded + + + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj.filters b/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj.filters new file mode 100644 index 0000000..b8d4dfa --- /dev/null +++ b/sdk/workspaces/vc14/rplidar_driver/rplidar_driver.vcxproj.filters @@ -0,0 +1,108 @@ + + + + + {5cb78334-d13c-41d7-9eb5-41cee2d01e72} + + + {f9173f07-ff74-4d5d-b1dc-164d0038c1bc} + + + {27dac87b-034a-4a59-bc55-ea80634c118e} + + + {53230295-1fab-4e93-8aa0-2639de2def2b} + + + {7f726b48-4843-47e1-b28b-4d995dfa7137} + + + {86396fa7-a00c-44f8-bf55-caa5296c66c0} + + + + + sdk\include + + + sdk\include + + + sdk\include + + + sdk\include + + + sdk\src\arch\win32 + + + sdk\src\hal + + + sdk\src\arch\win32 + + + sdk\src\hal + + + sdk\src + + + sdk\src + + + sdk\src\arch\win32 + + + sdk\src\arch\win32 + + + sdk\src\hal + + + sdk\src\hal + + + sdk\include + + + sdk\src\hal + + + sdk\src\hal + + + sdk\src\hal + + + sdk\src\hal + + + sdk\src\hal + + + sdk\src + + + sdk\src + + + + + sdk\src\arch\win32 + + + sdk\src + + + sdk\src\arch\win32 + + + sdk\src\hal + + + sdk\src\arch\win32 + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/sdk_and_demo.sln b/sdk/workspaces/vc14/sdk_and_demo.sln new file mode 100644 index 0000000..aafe549 --- /dev/null +++ b/sdk/workspaces/vc14/sdk_and_demo.sln @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rplidar_driver", "rplidar_driver\rplidar_driver.vcxproj", "{1F0AA469-8A8F-4ADA-931D-967D2C5996DF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_grabber", "simple_grabber\simple_grabber.vcxproj", "{5963E516-0E6B-49E0-B8A3-1CBEE86414B3}" + ProjectSection(ProjectDependencies) = postProject + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF} = {1F0AA469-8A8F-4ADA-931D-967D2C5996DF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "frame_grabber", "frame_grabber\frame_grabber.vcxproj", "{43664C66-8311-4696-BE18-778DBCD57362}" + ProjectSection(ProjectDependencies) = postProject + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF} = {1F0AA469-8A8F-4ADA-931D-967D2C5996DF} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ultra_simple", "ultra_simple\ultra_simple.vcxproj", "{6AE94E9D-442B-493D-ADE7-78E64E8695CB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF}.Debug|Win32.ActiveCfg = Debug|Win32 + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF}.Debug|Win32.Build.0 = Debug|Win32 + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF}.Release|Win32.ActiveCfg = Release|Win32 + {1F0AA469-8A8F-4ADA-931D-967D2C5996DF}.Release|Win32.Build.0 = Release|Win32 + {5963E516-0E6B-49E0-B8A3-1CBEE86414B3}.Debug|Win32.ActiveCfg = Debug|Win32 + {5963E516-0E6B-49E0-B8A3-1CBEE86414B3}.Debug|Win32.Build.0 = Debug|Win32 + {5963E516-0E6B-49E0-B8A3-1CBEE86414B3}.Release|Win32.ActiveCfg = Release|Win32 + {5963E516-0E6B-49E0-B8A3-1CBEE86414B3}.Release|Win32.Build.0 = Release|Win32 + {43664C66-8311-4696-BE18-778DBCD57362}.Debug|Win32.ActiveCfg = Debug|Win32 + {43664C66-8311-4696-BE18-778DBCD57362}.Debug|Win32.Build.0 = Debug|Win32 + {43664C66-8311-4696-BE18-778DBCD57362}.Release|Win32.ActiveCfg = Release|Win32 + {43664C66-8311-4696-BE18-778DBCD57362}.Release|Win32.Build.0 = Release|Win32 + {6AE94E9D-442B-493D-ADE7-78E64E8695CB}.Debug|Win32.ActiveCfg = Debug|Win32 + {6AE94E9D-442B-493D-ADE7-78E64E8695CB}.Debug|Win32.Build.0 = Debug|Win32 + {6AE94E9D-442B-493D-ADE7-78E64E8695CB}.Release|Win32.ActiveCfg = Release|Win32 + {6AE94E9D-442B-493D-ADE7-78E64E8695CB}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj b/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj new file mode 100644 index 0000000..440242a --- /dev/null +++ b/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj @@ -0,0 +1,100 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {5963E516-0E6B-49E0-B8A3-1CBEE86414B3} + Win32Proj + simple_grabber + 10.0 + + + + Application + true + MultiByte + v142 + + + Application + false + true + MultiByte + v142 + + + + + + + + + + + + + true + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + false + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ..\..\..\sdk\src;..\..\..\sdk\include;..\..\..\app\simple_grabber;%(AdditionalIncludeDirectories) + + + MultiThreadedDebug + + + Console + true + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ..\..\..\sdk\src;..\..\..\sdk\include;..\..\..\app\simple_grabber;%(AdditionalIncludeDirectories) + MultiThreaded + + + Console + true + true + true + + + + + + + + {1f0aa469-8a8f-4ada-931d-967d2c5996df} + + + + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj.filters b/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj.filters new file mode 100644 index 0000000..ca6ecd1 --- /dev/null +++ b/sdk/workspaces/vc14/simple_grabber/simple_grabber.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj b/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj new file mode 100644 index 0000000..3a1c416 --- /dev/null +++ b/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj @@ -0,0 +1,102 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {6AE94E9D-442B-493D-ADE7-78E64E8695CB} + Win32Proj + ultra_simple + 10.0 + + + + Application + true + MultiByte + v142 + + + Application + false + true + MultiByte + v142 + + + + + + + + + + + + + true + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + false + $(SolutionDir)\..\..\output\win32\$(Configuration)\ + $(SolutionDir)\..\..\obj\win32\$(ProjectName)\$(Configuration)\ + + + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + ..\..\..\sdk\src;..\..\..\sdk\include;..\..\..\app\simple_grabber;%(AdditionalIncludeDirectories) + MultiThreadedDebug + + + Console + true + $(SolutionDir)\..\..\output\win32\$(Configuration) + rplidar_driver.lib;%(AdditionalDependencies) + + + + + Level3 + + + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ..\..\..\sdk\src;..\..\..\sdk\include;..\..\..\app\simple_grabber;%(AdditionalIncludeDirectories) + MultiThreaded + + + Console + true + true + true + $(SolutionDir)\..\..\output\win32\$(Configuration) + rplidar_driver.lib;%(AdditionalDependencies) + + + + + {1f0aa469-8a8f-4ada-931d-967d2c5996df} + + + + + + + + + \ No newline at end of file diff --git a/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj.filters b/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj.filters new file mode 100644 index 0000000..38b655c --- /dev/null +++ b/sdk/workspaces/vc14/ultra_simple/ultra_simple.vcxproj.filters @@ -0,0 +1,22 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + \ No newline at end of file