Skip to content

Commit 9254e9a

Browse files
bd-sdk-publishertcappellari-bdai
authored andcommitted
Release v5.1.0 of Boston Dynamics Spot SDK
1 parent d486e67 commit 9254e9a

42 files changed

Lines changed: 745 additions & 178 deletions

Some content is hidden

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

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The official Spot SDK documentation also contains information relevant to the C+
2121
- [Payload developer documentation](https://dev.bostondynamics.com/docs/payload/readme). Payloads add additional sensing, communication, and control capabilities beyond what the base platform provides. The Payload ICD covers the mechanical, electrical, and software interfaces that Spot supports.
2222
- [Spot API protocol definition](https://dev.bostondynamics.com/docs/protos/readme). This reference guide covers the details of the protocol applications used to communicate to Spot. Application developers who wish to use a language other than Python can implement clients that speak the protocol.
2323

24-
This is version 5.0.1.2 of the C++ SDK. Please review the [Release Notes](docs/cpp_release_notes.md) to see what has changed.
24+
This is version 5.1.0 of the C++ SDK. Please review the [Release Notes](docs/cpp_release_notes.md) to see what has changed.
2525

2626
## Contents
2727

cpp/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# This file is autogenerated.
88

99
cmake_minimum_required (VERSION 3.10.2)
10-
project (bosdyn VERSION 5.0.1.2)
10+
project (bosdyn VERSION 5.1.0)
1111

1212
# Dependencies:
1313
find_package(Protobuf REQUIRED)

cpp/bosdyn/client/data_buffer/signal_schema_key.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#pragma once
1111

12+
#include <stdint.h>
1213
#include <string>
1314

1415
namespace bosdyn {

cpp/bosdyn/client/data_chunk/data_chunking.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99

1010
#pragma once
1111

12+
#include "google/protobuf/io/coded_stream.h"
13+
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
1214
#include "bosdyn/client/error_codes/sdk_error_code.h"
1315
#include "bosdyn/client/service_client/result.h"
1416

@@ -42,8 +44,12 @@ Result<T> MessageFromDataChunks(const std::vector<const ::bosdyn::api::DataChunk
4244
return {result.status, {}};
4345
}
4446

47+
google::protobuf::io::ArrayInputStream array_input(result.response.data(),
48+
result.response.size());
49+
google::protobuf::io::CodedInputStream coded_input(&array_input);
50+
coded_input.SetRecursionLimit(500);
4551
T output;
46-
if (!output.ParseFromString(result.response)) {
52+
if (!output.ParseFromCodedStream(&coded_input)) {
4753
return {::bosdyn::common::Status(SDKErrorCode::GenericSDKError,
4854
"Could not deserialize concatenated chunks into message"),
4955
{}};

cpp/bosdyn/client/error_codes/proto_enum_to_stderror_macro.h

Lines changed: 43 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -13,84 +13,48 @@
1313
#include <system_error>
1414

1515
// This macro goes in some helper file.
16-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ns, ns_def, ns_def_parenthesis) \
17-
namespace std { \
18-
template <> \
19-
struct is_error_code_enum<ns::enumclass> : public true_type {}; \
20-
} \
21-
ns_def std::error_code make_error_code(ns::enumclass); \
22-
ns_def_parenthesis
16+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ns) \
17+
namespace std { \
18+
template <> \
19+
struct is_error_code_enum<::ns::enumclass> : public true_type {}; \
20+
} \
21+
namespace ns { \
22+
std::error_code make_error_code(::ns::enumclass); \
23+
}
2324

2425
// Define wrapper for macro above for each namespace, so it is easier to call the macro
25-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_API(enumclass) \
26-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api, \
27-
namespace bosdyn{namespace api{ \
28-
, \
29-
}})
30-
31-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_AUTO_RETURN(enumclass) \
32-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::auto_return, \
33-
namespace bosdyn{namespace api{namespace auto_return{ \
34-
, \
35-
}}})
36-
37-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_AUTOWALK(enumclass) \
38-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::autowalk, \
39-
namespace bosdyn{namespace api{namespace autowalk{ \
40-
, \
41-
}}})
42-
43-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_KEEPALIVE(enumclass) \
44-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::keepalive, \
45-
namespace bosdyn{namespace api{namespace keepalive{ \
46-
, \
47-
}}})
48-
49-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_LOG_STATUS(enumclass) \
50-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::log_status, \
51-
namespace bosdyn{namespace api{namespace log_status{ \
52-
, \
53-
}}})
54-
55-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_SPOT(enumclass) \
56-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::spot, \
57-
namespace bosdyn{namespace api{namespace spot{ \
58-
, \
59-
}}})
60-
61-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_MISSION(enumclass) \
62-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::mission, \
63-
namespace bosdyn{namespace api{namespace mission{ \
64-
, \
65-
}}})
66-
67-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_GRAPHNAV(enumclass) \
68-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::graph_nav, \
69-
namespace bosdyn{namespace api{namespace graph_nav{ \
70-
, \
71-
}}})
72-
73-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_METRICS(enumclass) \
74-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::metrics_logging, \
75-
namespace bosdyn{namespace api{namespace metrics_logging{ \
76-
, \
77-
}}})
78-
79-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_INTERNAL(enumclass) \
80-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::internal, \
81-
namespace bosdyn{namespace api{namespace internal{ \
82-
, \
83-
}}})
84-
85-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_LOCALNAV(enumclass) \
86-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER( \
87-
enumclass, ::bosdyn::api::internal::localnav, \
88-
namespace bosdyn{namespace api{namespace internal{namespace localnav{ \
89-
, \
90-
}}}})
91-
92-
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_DOCKING(enumclass) \
93-
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, ::bosdyn::api::docking, \
94-
namespace bosdyn{namespace api{namespace docking{ \
95-
, \
96-
}}})
26+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_API(enumclass) \
27+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api)
28+
29+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_AUTO_RETURN(enumclass) \
30+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::auto_return)
31+
32+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_AUTOWALK(enumclass) \
33+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::autowalk)
34+
35+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_KEEPALIVE(enumclass) \
36+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::keepalive)
37+
38+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_LOG_STATUS(enumclass) \
39+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::log_status)
40+
41+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_SPOT(enumclass) \
42+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::spot)
43+
44+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_MISSION(enumclass) \
45+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::mission)
46+
47+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_GRAPHNAV(enumclass) \
48+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::graph_nav)
49+
50+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_METRICS(enumclass) \
51+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::metrics_logging)
52+
53+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_INTERNAL(enumclass) \
54+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::internal)
55+
56+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_LOCALNAV(enumclass) \
57+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::internal::localnav)
58+
59+
#define DEFINE_PROTO_ENUM_ERRORCODE_HEADER_DOCKING(enumclass) \
60+
DEFINE_PROTO_ENUM_ERRORCODE_HEADER(enumclass, bosdyn::api::docking)

0 commit comments

Comments
 (0)