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
Avoid typedefs from idl #58
Conversation
This still isn't passing the generator.
NavSatFix.idl (only change is the include directive) // generated from rosidl_adapter/resource/msg.idl.em
// with input from sensor_msgs/msg/NavSatFix.msg
// generated code does not contain a copyright notice
#include "NavSatStatus.idl"
#include "Header.idl"
module sensor_msgs {
module msg {
typedef double double__9[9];
module NavSatFix_Constants {
@verbatim (language="comment", text=
"If the covariance of the fix is known, fill it in completely. If the" "\n" "GPS receiver provides the variance of each measurement, put them" "\n" "along the diagonal. If only Dilution of Precision is available," "\n" "estimate an approximate covariance from that.")
const uint8 COVARIANCE_TYPE_UNKNOWN = 0;
const uint8 COVARIANCE_TYPE_APPROXIMATED = 1;
const uint8 COVARIANCE_TYPE_DIAGONAL_KNOWN = 2;
const uint8 COVARIANCE_TYPE_KNOWN = 3;
};
@verbatim (language="comment", text=
"Navigation Satellite fix for any Global Navigation Satellite System" "\n"
"" "\n"
"Specified using the WGS 84 reference ellipsoid")
struct NavSatFix {
@verbatim (language="comment", text=
"header.stamp specifies the ROS time for this measurement (the" "\n"
" corresponding satellite time may be reported using the" "\n"
" sensor_msgs/TimeReference message)." "\n"
"" "\n"
"header.frame_id is the frame of reference reported by the satellite" "\n"
" receiver, usually the location of the antenna. This is a" "\n"
" Euclidean frame relative to the vehicle, not a reference" "\n"
" ellipsoid.")
std_msgs::msg::Header header;
@verbatim (language="comment", text=
"Satellite fix status information.")
sensor_msgs::msg::NavSatStatus status;
@verbatim (language="comment", text=
"Latitude. Positive is north of equator; negative is south.")
@unit (value="degrees")
double latitude;
@verbatim (language="comment", text=
"Longitude. Positive is east of prime meridian; negative is west.")
@unit (value="degrees")
double longitude;
@verbatim (language="comment", text=
"Altitude. Positive is above the WGS 84 ellipsoid" "\n"
"(quiet NaN if no altitude is available).")
@unit (value="m")
double altitude;
@verbatim (language="comment", text=
"Position covariance defined relative to a tangential plane" "\n"
"through the reported position. The components are East, North, and" "\n"
"Up (ENU), in row-major order." "\n"
"" "\n"
"Beware: this coordinate system exhibits singularities at the poles.")
@unit (value="m^2")
double__9 position_covariance;
uint8 position_covariance_type;
};
};
}; Should I modify the IDL to remove the usage of the typedef? |
Could you share the used idls for
Not really, this PR should fix that part. |
Here you are, sorry for delay. Only change from upstream ROS2 is the include path. Header // generated from rosidl_adapter/resource/msg.idl.em
// with input from std_msgs/msg/Header.msg
// generated code does not contain a copyright notice
#include "Time.idl"
module std_msgs {
module msg {
@verbatim (language="comment", text=
"Standard metadata for higher-level stamped data types." "\n"
"This is generally used to communicate timestamped data" "\n"
"in a particular coordinate frame.")
struct Header {
@verbatim (language="comment", text=
"Two-integer timestamp that is expressed as seconds and nanoseconds.")
builtin_interfaces::msg::Time stamp;
@verbatim (language="comment", text=
"Transform frame with which this data is associated.")
string frame_id;
};
};
}; Time.idl // generated from rosidl_adapter/resource/msg.idl.em
// with input from builtin_interfaces/msg/Time.msg
// generated code does not contain a copyright notice
module builtin_interfaces {
module msg {
@verbatim (language="comment", text=
"This message communicates ROS Time defined here:" "\n"
"https://design.ros2.org/articles/clock_and_time.html")
struct Time {
@verbatim (language="comment", text=
"The seconds component, valid over all int32 values.")
int32 sec;
@verbatim (language="comment", text=
"The nanoseconds component, valid in the range [0, 10e9).")
uint32 nanosec;
};
};
}; NavSatStatus // generated from rosidl_adapter/resource/msg.idl.em
// with input from sensor_msgs/msg/NavSatStatus.msg
// generated code does not contain a copyright notice
module sensor_msgs {
module msg {
module NavSatStatus_Constants {
@verbatim (language="comment", text=
"unable to fix position")
const int8 STATUS_NO_FIX = -1;
@verbatim (language="comment", text=
"unaugmented fix")
const int8 STATUS_FIX = 0;
@verbatim (language="comment", text=
"with satellite-based augmentation")
const int8 STATUS_SBAS_FIX = 1;
@verbatim (language="comment", text=
"with ground-based augmentation")
const int8 STATUS_GBAS_FIX = 2;
@verbatim (language="comment", text=
"Bits defining which Global Navigation Satellite System signals were" "\n" "used by the receiver.")
const uint16 SERVICE_GPS = 1;
const uint16 SERVICE_GLONASS = 2;
@verbatim (language="comment", text=
"includes BeiDou.")
const uint16 SERVICE_COMPASS = 4;
const uint16 SERVICE_GALILEO = 8;
};
@verbatim (language="comment", text=
"Navigation Satellite fix status for any Global Navigation Satellite System." "\n"
"" "\n"
"Whether to output an augmented fix is determined by both the fix" "\n"
"type and the last time differential corrections were received. A" "\n"
"fix is valid when status >= STATUS_FIX.")
struct NavSatStatus {
int8 status;
uint16 service;
};
};
}; |
Signed-off-by: acuadros95 <acuadros1995@gmail.com>
Signed-off-by: acuadros95 <acuadros1995@gmail.com>
8065955
to
49b9c37
Compare
@Ryanf55 give it another go, and check that the |
Thanks. Can you rebase on |
@Ryanf55 Already rebased |
My bad, just re-tested. LGTM. Results:
|
Related to #57