FactbirdHQ / ublox-short-range-rs

A driver crate for the entire u-blox short range family in Rust
6 stars 2 forks source link

[RFC] Extended data mode #1

Closed MathiasKoch closed 3 years ago

MathiasKoch commented 4 years ago

Relevant links:

unizippro commented 3 years ago

Motivation

In order to send data via open connections, the library has to support Extended Data Mode. Which at this point is not supported by the ATAT library.

Proposed Solution

Modify the ATAT library to support EDM. By enabeling the use of custom response code and error code matchers as worked on in https://github.com/BlackbirdHQ/atat/issues/42.

It also comes with a few other hurdles to overcome.

Alternatives

An alternative would be to add an interpreting layer in front of ATAT in the event making it compatible with EDM causes too many problems. Another alternative would be to use the code from ATAT and build a custom library for ATAT+EDM

Implementation steps

unizippro commented 3 years ago

Update to solution

An update to the proposed solution.

Motivation

The former solution was on further inspection not possible without an extensive rewrite of ATAT. The idea of a interpreting layer would be good if not for the trouble of also having non-AT communication over the same stream, necessitating the excistance of a way to send around the ATAT library.

Proposed Solution

Write an EDM library. This will build upon the traits from ATAT in order to use those for parsing of commands, responses and URCs.

Implementation steps