File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -131,6 +131,9 @@ class Crazyflie
131131 static std::vector<std::string> scan (
132132 uint64_t address = 0xE7E7E7E7E7 );
133133
134+ // returns the URI that can be used for broadcast communication (or empty string if there is none)
135+ static std::string broadcastUriFromUnicastUri (const std::string& link_uri);
136+
134137 const bitcraze::crazyflieLinkCpp::Connection::Statistics connectionStats () const
135138 {
136139 return m_connection.statistics ();
Original file line number Diff line number Diff line change @@ -46,16 +46,12 @@ std::vector<std::string> Crazyflie::scan(
4646 return bitcraze::crazyflieLinkCpp::Connection::scan (address);
4747}
4848
49- std::string Crazyflie::uri () const
50- {
51- return m_connection.uri ();
52- }
53-
54- std::string Crazyflie::broadcastUri () const
49+ std::string Crazyflie::broadcastUriFromUnicastUri (
50+ const std::string& link_uri)
5551{
5652 const std::regex uri_regex (" radio:\\ /\\ /(\\ d+|\\ *)\\ /(\\ d+)\\ /(250K|1M|2M)\\ /([a-fA-F0-9]+)" );
5753 std::smatch match;
58- if (!std::regex_match (m_connection. uri () , match, uri_regex))
54+ if (!std::regex_match (link_uri , match, uri_regex))
5955 {
6056 // unsupported for broadcast
6157 return std::string ();
@@ -64,6 +60,16 @@ std::string Crazyflie::broadcastUri() const
6460 return " radiobroadcast://*/" + match[2 ].str () + " /" + match[3 ].str ();
6561}
6662
63+ std::string Crazyflie::uri () const
64+ {
65+ return m_connection.uri ();
66+ }
67+
68+ std::string Crazyflie::broadcastUri () const
69+ {
70+ return Crazyflie::broadcastUriFromUnicastUri (uri ());
71+ }
72+
6773uint64_t Crazyflie::address () const
6874{
6975 const std::regex uri_regex (" radio:\\ /\\ /(\\ d+|\\ *)\\ /(\\ d+)\\ /(250K|1M|2M)\\ /([a-fA-F0-9]+)" );
You can’t perform that action at this time.
0 commit comments