Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 20231031 0.10.0 #565

Merged
merged 2 commits into from
Oct 31, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 167 additions & 4 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,8 +1,171 @@
# generated with: clang-format -style=Google -dump-config > .clang-format
---
BasedOnStyle: Google
IndentWidth: 4
---
Language: Cpp
Language: Cpp
# BasedOnStyle: Google
AccessModifierOffset: -1
AlignAfterOpenBracket: Align
AlignConsecutiveMacros: false
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
AlignOperands: true
AlignTrailingComments: true
AllowAllArgumentsOnNextLine: true
AllowAllConstructorInitializersOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: All
AllowShortLambdasOnASingleLine: All
AllowShortIfStatementsOnASingleLine: WithoutElse
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakInheritanceList: BeforeColon
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<ext/.*\.h>'
Priority: 2
SortPriority: 0
- Regex: '^<.*\.h>'
Priority: 1
SortPriority: 0
- Regex: '^<.*'
Priority: 2
SortPriority: 0
- Regex: '.*'
Priority: 3
SortPriority: 0
IncludeIsMainRegex: '([-_](test|unittest))?$'
IncludeIsMainSourceRegex: ''
IndentCaseLabels: true
IndentGotoLabels: true
IndentPPDirectives: None
IndentWidth: 4
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: false
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Never
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 1
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
Cpp11BracedListStyle: true
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
RawStringFormats:
- Language: Cpp
Delimiters:
- cc
- CC
- cpp
- Cpp
- CPP
- 'c++'
- 'C++'
CanonicalDelimiter: ''
BasedOnStyle: google
- Language: TextProto
Delimiters:
- pb
- PB
- proto
- PROTO
EnclosingFunctions:
- EqualsProto
- EquivToProto
- PARSE_PARTIAL_TEXT_PROTO
- PARSE_TEST_PROTO
- PARSE_TEXT_PROTO
- ParseTextOrDie
- ParseTextProtoOrDie
CanonicalDelimiter: ''
BasedOnStyle: google
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceBeforeSquareBrackets: false
Standard: Auto
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TabWidth: 8
UseCRLF: false
UseTab: Never
...
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ python/**/*.so
python/**/*.dll
python/**/*.pyd

/build
python/artifacts/

# visual studio
.vs/
out/
Expand Down
81 changes: 78 additions & 3 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,82 @@
Changelog
=========

[20231031] [0.10.0]
============

Important notes
---------------

* This will be the last release that supports Python 3.7.
* This will be the last release that supports macOS 10.15.

ouster_viz
----------

* Added point cloud accumulation support
* Added an ``PointViz::fps()`` method to return the operating frame rate as a ``double``

ouster_client
-------------

* [BREAKING] Updates to ``sensor_info`` include:
* new fields added: ``build_date``, ``image_rev``, ``prod_pn``, ``status``, ``cal`` (representing the value stored in the ``calibration_status`` metadata JSON key), ``config`` (representing the value of the ``sensor_config`` metadata JSON key)
* the original JSON string is accessible via the ``original_string()`` method
* The ``updated_metadata_string()`` now returns a JSON string reflecting any modifications to ``sensor_info``
* ``to_string`` is now marked as deprecated
* [BREAKING] The RANGE field defined in `parsing.cpp`, for the low data rate profile, is now 32 bits wide (originally 16 bits.)
* Please note this fixes a SDK bug. The underlying UDP format is unchanged.
* [BREAKING] The NEAR_IR field defined in `parsing.cpp`, for the low data rate profile, is now 16 bits wide (originally 8 bits.)
* Plase note this fixes a SDK bug. The underlying UDP format is unchanged.
* [BREAKING] changed frame_id return size to 32 bits from 16 bits
* An array of per-packet timestamps (called ``packet_timestamp``) is added to ``LidarScan``
* The client now retries failed requests to an Ouster sensor's HTTP API
* Increased the default timeout for HTTP requests to 40s
* Added FuSA UDP profile to support Ouster FW 3.1+
* Improved ``ScanBatcher`` performance by roughly 3x (depending on hardware)
* Receive buffer size increased from 256KB to 1MB
* [bugfix] Fixed an issue that caused incorrect Cartesian point computation in the ``viz.Cloud`` Python class
* [bugfix] Fixed an issue that resulted in some ``packet_format`` methods returning an uninitialized value
* [bugfix] Fixed a libpcap-related linking issue
* [bugfix] Fixed an eigen 3.3-related linking issue
* [bugfix] Fixed a zero beam angle calculation issue
* [bugfix] Fixed dropped columns issue with 4096x5 and 2048x10

ouster-cli
----------

* Added ``source <FILE> slam`` and ``source <FILE> slam viz`` commands
* All metadata CLI options are changed to ``-m/--metadata``
* Added discovery for FW 3.1+ sensors
* Set signal multiplier by default in sensor/SOURCE sensor config
* use ``PYBIND11_MODULE`` instead of deprecated module constructor
* remove deprecated == in pybind for ``.is()``
* [bugfix] Fix report of fragmentation for ouster-cli pcap/SOURCE pcap info
* [bugfix] Fixed issue regarding windows mDNS in discovery
* [bugfix] Fixed cli pcap recording timestamp issue
* [BREAKING] CSV output ordering switched

ouster.sdk
----------

* ``ouster-mapping`` is now a required dependency
* [BREAKING] change the ``ouster.sdk.viz`` location to the ``ouster.viz``
package, please update the references if you used ``ouster.sdk.viz`` module
* [bugfix] Fixed Windows pcap support for files larger than 2GB
* [bugfix] Fixed the order of ``LidarScan``'s ``w`` and ``h`` keyword arguments
* [bugfix] Fixed an issue with ``LidarPacket`` when using data recorded with older versions of Ouster Studio

Known issues
------------

* The dependency specifier for ``scipy`` is invalid per PEP-440
* ``get_config`` always returns true
* Repeated CTRL-C can cause a segmentation fault while visualizing a point cloud

20230710
========

* Update vcpkg ref of build to 2023-02-24
*

ouster_osf
----------
Expand All @@ -19,10 +90,14 @@ ouster_client
* Add ``LidarScan.pose`` with poses per column
* Add ``_client.IndexedPcapReader`` and ``_client.PcapIndex`` to enable random
pcap file access by frame number

* [BREAKING] remove ``ouster::Imu`` object
* Add get_field_types function for LidarScan, from sensor_info
* bugfix: return metadata regardless of sensor_info status field
* [BREAKING] change the return type of ``ouster::packet_format::frame_id`` from ``uint16_t`` to ``uint32_t``
* [BREAKING] remove methods ``px_range``, ``px_reflectivity``, ``px_signal``, and ``px_ambient`` from ``ouster::packet_format``
* Add ``get_field_types`` function for ``LidarScan``, from ``sensor_info``
* bugfix: return metadata regardless of ``sensor_info`` status field
* Make timeout on curl more configurable
* [BREAKING] remove encoder_ticks_per_rev (deprecated)

ouster_viz
----------
Expand Down
21 changes: 18 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
cmake_minimum_required(VERSION 3.10...3.22)
if(DEFINED CMAKE_CXX_COMPILER_LAUNCHER )
cmake_minimum_required(VERSION 3.17...3.22)
message("Using CXX Launcher: ${CMAKE_CXX_COMPILER_LAUNCHER}")
if( DEFINED ENV{CCACHE_DIR} )
message("Using CCACHE_DIR: $ENV{CCACHE_DIR}")
endif()
else()
cmake_minimum_required(VERSION 3.10...3.22)
endif()

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(DefaultBuildType)
Expand All @@ -7,10 +15,10 @@ include(DefaultBuildType)
include(VcpkgEnv)

# ==== Project Name ====
project(ouster_example VERSION 20230710)
project(ouster_example VERSION 20231031)

# generate version header
set(OusterSDK_VERSION_STRING 0.9.0)
set(OusterSDK_VERSION_STRING 0.10.0)
include(VersionGen)

# ==== Options ====
Expand Down Expand Up @@ -112,6 +120,13 @@ configure_file(cmake/OusterSDKConfig.cmake.in OusterSDKConfig.cmake @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/OusterSDKConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/OusterSDKConfigVersion.cmake"
DESTINATION lib/cmake/OusterSDK)
if(BUILD_PCAP)
# Install the findpcap cmake file for install targets.
# For some reason it only works if you rename it to PcapConfig.cmake
install(FILES "cmake/FindPcap.cmake"
DESTINATION lib/cmake/OusterSDK
RENAME PcapConfig.cmake)
endif()

install(FILES LICENSE LICENSE-bin
DESTINATION share)
Loading