AeroRust / AeroRust/nmea

Supporting additional sentences

未关闭
#54 23 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
good first issue Hacktoberfest
主要语言
Rust
星标
109
派生
64
PR 合并指标
30 天内没有已合并 PR

描述

There are multiple sentences that are still not implemented in the crate and this is a list of the remaining sentences that we can implement.

Some work has gone into supporting additional sentences - #51

# Contributing

1. Write a comment - Please write a comment for the sentence(s) you'd like to implement and to be mentioned on the task to avoid duplicate implementations.
2. Implement each sentence alongside at least 1 test in its own module using the `nom` crate.
3. Open a PR 🎉

### Tips for contributing

- We suggest you start with a single sentence per PR and get a sense of the `NMEA 0183` crate and protocol
- If you have any questions, just open a Draft PR, so that we can provide you with feedback or answer your questions
- Checkout the GPSD project page for an example to use in your test (https://gpsd.gitlab.io/gpsd/NMEA.html) and any additional information for the given sentences
- Follow the information for the different versions of NMEA 0183 standard given in the GPSD project and implement the parsing for them

### Sources

- https://gpsd.gitlab.io/gpsd/NMEA.html - sentence types in the list below have been taken from here, the gpsd project also includes examples for each sentence
- https://receiverhelp.trimble.com/alloy-gnss/en-us/NMEA-0183messages_MessageOverview.html - Additional overview resource of the NMEA 0183 messages
- [All Identifiers - Manufacturer Mnemonic Codes, and Sentence Formatters List (2013)](https://www.nmea.org/Assets/20130801%200183%20identifier%20list.pdf)

# Sentences
In this curated list you'll find sentence types that have yet to be implemented and tested.
The standard sentences have priority over the rest of the types and less-known sentences.

- [ ] AIS See #46
### [NMEA Standard Sentences](https://gpsd.gitlab.io/gpsd/NMEA.html#_nmea_standard_sentences)
- [x] [AAM - Waypoint Arrival Alarm](https://gpsd.gitlab.io/gpsd/NMEA.html#_aam_waypoint_arrival_alarm) @bahelms #62
- [x] [ALM - GPS Almanac Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_alm_gps_almanac_data) @clemarescx #71
- [ ] add assertion in tests for the 10 bit week number method
- [x] [APA - Autopilot Sentence "A"](https://gpsd.gitlab.io/gpsd/NMEA.html#_apa_autopilot_sentence_a) @ANG13T #123 (WIP PRs: #113 #119 #120)
- [ ] [APB - Autopilot Sentence "B"](https://gpsd.gitlab.io/gpsd/NMEA.html#_apb_autopilot_sentence_b)
- [x] [BOD - Bearing - Waypoint to Waypoint](https://gpsd.gitlab.io/gpsd/NMEA.html#_bod_bearing_waypoint_to_waypoint) (impled in #51) Tests needed @clemarescx #61
- [x] [BWC - Bearing & Distance to Waypoint - Great Circle](https://gpsd.gitlab.io/gpsd/NMEA.html#_bwc_bearing_distance_to_waypoint_great_circle)
- [ ] [BWR - Bearing and Distance to Waypoint - Rhumb Line](https://gpsd.gitlab.io/gpsd/NMEA.html#_bwr_bearing_and_distance_to_waypoint_rhumb_line)
- [x] [BWW - Bearing - Waypoint to Waypoint](https://gpsd.gitlab.io/gpsd/NMEA.html#_bww_bearing_waypoint_to_waypoint) @taavit #86
- [x] [DBK - Depth Below Keel](https://gpsd.gitlab.io/gpsd/NMEA.html#_dbk_depth_below_keel) @JasminFragnaud #85
- [ ] [DBS - Depth Below Surface](https://gpsd.gitlab.io/gpsd/NMEA.html#_dbs_depth_below_surface) @asnimansari #138
- [ ] [DBT - Depth below transducer](https://gpsd.gitlab.io/gpsd/NMEA.html#_dbt_depth_below_transducer)
- [ ] [DCN - Decca Position](https://gpsd.gitlab.io/gpsd/NMEA.html#_dcn_decca_position)
- [ ] [DPT - Depth of Water](https://gpsd.gitlab.io/gpsd/NMEA.html#_dpt_depth_of_water) @trkohler #132
- [ ] [DTM - Datum Reference](https://gpsd.gitlab.io/gpsd/NMEA.html#_dtm_datum_reference)
- [ ] [FSI - Frequency Set Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_fsi_frequency_set_information)
- [ ] [GBS - GPS Satellite Fault Detection](https://gpsd.gitlab.io/gpsd/NMEA.html#_gbs_gps_satellite_fault_detection) (tests needed) #51
- [x] [GGA - Global Positioning System Fix Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_gga_global_positioning_system_fix_data)
- [ ] [GLC - Geographic Position, Loran-C](https://gpsd.gitlab.io/gpsd/NMEA.html#_glc_geographic_position_loran_c)
- [x] [GLL - Geographic Position - Latitude/Longitude](https://gpsd.gitlab.io/gpsd/NMEA.html#_gll_geographic_position_latitudelongitude)
- [x] [GNS - Fix data](https://gpsd.gitlab.io/gpsd/NMEA.html#_gns_fix_data)
- [ ] [GRS - GPS Range Residuals](https://gpsd.gitlab.io/gpsd/NMEA.html#_grs_gps_range_residuals)
- [x] [GST - GPS Pseudorange Noise Statistics](https://gpsd.gitlab.io/gpsd/NMEA.html#_gst_gps_pseudorange_noise_statistics) @zhrbrk #124 (based on #121)
- [x] [GSA - GPS DOP and active satellites](https://gpsd.gitlab.io/gpsd/NMEA.html#_gsa_gps_dop_and_active_satellites)
- [x] [GSV - Satellites in view](https://gpsd.gitlab.io/gpsd/NMEA.html#_gsv_satellites_in_view)
- [ ] [GTD - Geographic Location in Time Differences](https://gpsd.gitlab.io/gpsd/NMEA.html#_gtd_geographic_location_in_time_differences)
- [ ] [GXA - TRANSIT Position - Latitude/Longitude](https://gpsd.gitlab.io/gpsd/NMEA.html#_gxa_transit_position_latitudelongitude)
- [ ] [HDG - Heading - Deviation & Variation](https://gpsd.gitlab.io/gpsd/NMEA.html#_hdg_heading_deviation_variation)
- [ ] [HDM - Heading - Magnetic](https://gpsd.gitlab.io/gpsd/NMEA.html#_hdm_heading_magnetic)
- [x] [HDT - Heading - True](https://gpsd.gitlab.io/gpsd/NMEA.html#_hdt_heading_true) @ekuinox #82
- [ ] [HFB - Trawl Headrope to Footrope and Bottom](https://gpsd.gitlab.io/gpsd/NMEA.html#_hfb_trawl_headrope_to_footrope_and_bottom)
- [ ] [HSC - Heading Steering Command](https://gpsd.gitlab.io/gpsd/NMEA.html#_hsc_heading_steering_command)
- [ ] [HWBIAS - Unknown](https://gpsd.gitlab.io/gpsd/NMEA.html#_hwbias_unknown)
- [ ] [ITS - Trawl Door Spread 2 Distance](https://gpsd.gitlab.io/gpsd/NMEA.html#_its_trawl_door_spread_2_distance)
- [ ] [LCD - Loran-C Signal Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_lcd_loran_c_signal_data)
- [x] [MDA - Meteorological Composite](https://gpsd.gitlab.io/gpsd/NMEA.html#_mda_meteorological_composite) @ALTinners #63
- [ ] [MSK - Control for a Beacon Receiver](https://gpsd.gitlab.io/gpsd/NMEA.html#_msk_control_for_a_beacon_receiver)
- [ ] [MSS - Beacon Receiver Status](https://gpsd.gitlab.io/gpsd/NMEA.html#_mss_beacon_receiver_status)
- [x] [MTW - Mean Temperature of Water](https://gpsd.gitlab.io/gpsd/NMEA.html#_mtw_mean_temperature_of_water) @JasminFragnaud #77
- [x] [MWV - Wind Speed and Angle](https://gpsd.gitlab.io/gpsd/NMEA.html#_mwv_wind_speed_and_angle) @ALTinners #63
- [ ] [OLN - Omega Lane Numbers](https://gpsd.gitlab.io/gpsd/NMEA.html#_oln_omega_lane_numbers)
- [ ] [OSD - Own Ship Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_osd_own_ship_data)
- [ ] [R00 - Waypoints in active route](https://gpsd.gitlab.io/gpsd/NMEA.html#_r00_waypoints_in_active_route)
- [ ] [RLM – Return Link Message](https://gpsd.gitlab.io/gpsd/NMEA.html#_rlm_return_link_message)
- [ ] [RMA - Recommended Minimum Navigation Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_rma_recommended_minimum_navigation_information)
- [ ] [RMB - Recommended Minimum Navigation Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_rmb_recommended_minimum_navigation_information)
- [x] [RMC - Recommended Minimum Navigation Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_rmc_recommended_minimum_navigation_information) @clemarescx #66
- [ ] [ROT - Rate Of Turn](https://gpsd.gitlab.io/gpsd/NMEA.html#_rot_rate_of_turn)
- [ ] [RPM - Revolutions](https://gpsd.gitlab.io/gpsd/NMEA.html#_rpm_revolutions)
- [ ] [RSA - Rudder Sensor Angle](https://gpsd.gitlab.io/gpsd/NMEA.html#_rsa_rudder_sensor_angle)
- [ ] [RSD - RADAR System Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_rsd_radar_system_data)
- [ ] [RTE - Routes](https://gpsd.gitlab.io/gpsd/NMEA.html#_rte_routes)
- [ ] [SFI - Scanning Frequency Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_sfi_scanning_frequency_information)
- [ ] [STN - Multiple Data ID](https://gpsd.gitlab.io/gpsd/NMEA.html#_stn_multiple_data_id)
- [ ] [TDS - Trawl Door Spread Distance](https://gpsd.gitlab.io/gpsd/NMEA.html#_tds_trawl_door_spread_distance)
- [ ] [TFI - Trawl Filling Indicator](https://gpsd.gitlab.io/gpsd/NMEA.html#_tfi_trawl_filling_indicator)
- [ ] [TLB - Target Label](https://gpsd.gitlab.io/gpsd/NMEA.html#_tlb_target_label)
- [ ] [TLL - Target Latitude and Longitude](https://gpsd.gitlab.io/gpsd/NMEA.html#_tll_target_latitude_and_longitude)
- [ ] [TPC - Trawl Position Cartesian Coordinates](https://gpsd.gitlab.io/gpsd/NMEA.html#_tpc_trawl_position_cartesian_coordinates)
- [ ] [TPR - Trawl Position Relative Vessel](https://gpsd.gitlab.io/gpsd/NMEA.html#_tpr_trawl_position_relative_vessel)
- [ ] [TPT - Trawl Position True](https://gpsd.gitlab.io/gpsd/NMEA.html#_tpt_trawl_position_true)
- [ ] [TRF - TRANSIT Fix Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_trf_transit_fix_data)
- [x] [TTM - Tracked Target Message](https://gpsd.gitlab.io/gpsd/NMEA.html#_ttm_tracked_target_message) @Tapped #128
- [ ] [VBW - Dual Ground/Water Speed](https://gpsd.gitlab.io/gpsd/NMEA.html#_vbw_dual_groundwater_speed)
- [ ] [VDR - Set and Drift](https://gpsd.gitlab.io/gpsd/NMEA.html#_vdr_set_and_drift)
- [x] [VHW - Water speed and heading](https://gpsd.gitlab.io/gpsd/NMEA.html#_vhw_water_speed_and_heading) @ekuinox #84
- [ ] [VLW - Distance Traveled through Water](https://gpsd.gitlab.io/gpsd/NMEA.html#_vlw_distance_traveled_through_water)
- [ ] [VPW - Speed - Measured Parallel to Wind](https://gpsd.gitlab.io/gpsd/NMEA.html#_vpw_speed_measured_parallel_to_wind)
- [x] [VTG - Track made good and Ground speed](https://gpsd.gitlab.io/gpsd/NMEA.html#_vtg_track_made_good_and_ground_speed)
- [ ] [VWR - Relative Wind Speed and Angle](https://gpsd.gitlab.io/gpsd/NMEA.html#_vwr_relative_wind_speed_and_angle)
- [ ] [WCV - Waypoint Closure Velocity](https://gpsd.gitlab.io/gpsd/NMEA.html#_wcv_waypoint_closure_velocity)
- [x] [WNC - Distance - Waypoint to Waypoint](https://gpsd.gitlab.io/gpsd/NMEA.html#_wnc_distance_waypoint_to_waypoint) #110 by @jarrod817
- [ ] [WPL - Waypoint Location](https://gpsd.gitlab.io/gpsd/NMEA.html#_wpl_waypoint_location)
- [ ] [XDR - Transducer Measurement](https://gpsd.gitlab.io/gpsd/NMEA.html#_xdr_transducer_measurement)
- [ ] [XTE - Cross-Track Error, Measured](https://gpsd.gitlab.io/gpsd/NMEA.html#_xte_cross_track_error_measured)
- [ ] [XTR - Cross Track Error - Dead Reckoning](https://gpsd.gitlab.io/gpsd/NMEA.html#_xtr_cross_track_error_dead_reckoning)
- [x] [ZDA - Time & Date - UTC, day, month, year and local time zone](https://gpsd.gitlab.io/gpsd/NMEA.html#_zda_time_date_utc_day_month_year_and_local_time_zone) @ekuinox
- [x] [ZFO - UTC & Time from origin Waypoint](https://gpsd.gitlab.io/gpsd/NMEA.html#_zfo_utc_time_from_origin_waypoint) @taavit #87
- [x] [ZTG - UTC & Time to Destination Waypoint](https://gpsd.gitlab.io/gpsd/NMEA.html#_ztg_utc_time_to_destination_waypoint) @taavit #87
### [Other sentences](https://gpsd.gitlab.io/gpsd/NMEA.html#_other_sentences) **(low priority)**
- TODO: Find information on the internet for those additional messages if possible
- [x] TXT (u-blox)
- [ ] ACK - Alarm Acknowledgement
- [ ] ADS - Automatic Device Status
- [ ] AKD - Acknowledge Detail Alarm Condition
- [ ] ALA - Set Detail Alarm Condition
- [ ] ASD - Autopilot System Data
- [ ] BEC - Bearing & Distance to Waypoint - Dead Reckoning
- [ ] CEK - Configure Encryption Key Command
- [ ] COP - Configure the Operational Period, Command
- [ ] CUR - Water Current Layer
- [ ] DCR - Device Capability Report
- [ ] DDC - Display Dimming Control
- [ ] DOR - Door Status Detection
- [ ] DSC - Digital Selective Calling Information
- [ ] DSE - Extended DSC
- [ ] DSI - DSC Transponder Initiate
- [ ] DSR - DSC Transponder Response
- [ ] ETL - Engine Telegraph Operation Status
- [ ] EVE - General Event Message
- [ ] FIR - Fire Detection
- [ ] MWD - Wind Direction & Speed
- [ ] WDR - Distance to Waypoint - Rhumb Line
- [ ] WDC - Distance to Waypoint - Great Circle
- [ ] ZDL - Time and Distance to Variable Point
### [Vendor extensions](https://gpsd.gitlab.io/gpsd/NMEA.html#_vendor_extensions) **(low priority)**
- [ ] [PASHR - RT300 proprietary roll and pitch sentence](https://gpsd.gitlab.io/gpsd/NMEA.html#_pashr_rt300_proprietary_roll_and_pitch_sentence)
- [ ] [PGLOR - Quectel](https://gpsd.gitlab.io/gpsd/NMEA.html#_pglor_quectel)
- [ ] [PGRME - Garmin Estimated Error](https://gpsd.gitlab.io/gpsd/NMEA.html#_pgrme_garmin_estimated_error)
- [x] [PGRMZ - Garmin Altitude](https://gpsd.gitlab.io/gpsd/NMEA.html#_pgrmz_garmin_altitude) @Turbo87 #59
- [ ] [PJLTS - Jackson Labs GPSDO Status](https://gpsd.gitlab.io/gpsd/NMEA.html#_pjlts_jackson_labs_gpsdo_status)
- [ ] [PJLTS - Jackson Labs Time and 3D velocity](https://gpsd.gitlab.io/gpsd/NMEA.html#_pjlts_jackson_labs_time_and_3d_velocity)
- [ ] [PMGNST - Magellan Status](https://gpsd.gitlab.io/gpsd/NMEA.html#_pmgnst_magellan_status)
- [ ] [PRWIZCH - Rockwell Channel Status](https://gpsd.gitlab.io/gpsd/NMEA.html#_prwizch_rockwell_channel_status)
- [ ] [PUBX 00 - u-blox Lat/Long Position Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_pubx_00_u_blox_latlong_position_data)
- [ ] [PUBX 01 - u-blox UTM Position Data](https://gpsd.gitlab.io/gpsd/NMEA.html#_pubx_01_u_blox_utm_position_data)
- [ ] [PUBX 03 - u-blox Satellite Status](https://gpsd.gitlab.io/gpsd/NMEA.html#_pubx_03_u_blox_satellite_status)
- [ ] [PUBX 04 - u-blox Time of Day and Clock Information](https://gpsd.gitlab.io/gpsd/NMEA.html#_pubx_04_u_blox_time_of_day_and_clock_information)
- [ ] [TMVTD - Transas VTS / SML tracking system report](https://gpsd.gitlab.io/gpsd/NMEA.html#_tmvtd_transas_vts_sml_tracking_system_report)

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。