Coder Social home page Coder Social logo

Comments (10)

shymega avatar shymega commented on May 26, 2024

Hey, I'm really interested in this issue, but I can't see any associated PRs (yet) or other activity regarding the proposal.

I'm writing embedded firmware for an STM32, and I currently use serialport-rs for the ARM64 Linux side of things, but I want to unify the traits I'm using, so they can be used in std environments, and no_std, with embedded-hal.

Now, I'll be honest: I'm not good with embedded yet. But I'd like to help provide my - limited - input on this matter, if possible. I'd really like to keep the same code for UART I/O, on ARM64/x86_64 and ARM.

My current implementation abstracts I/O into the core2::io::Read and core2::io::Write, but that doesn't work with serialport-rs yet.

I imagine this comment comes across as a `Hey, is there any progress on this?' - I want to reiterate that I would like to help make this possible, though.

Thank you!

from serialport-rs.

eldruin avatar eldruin commented on May 26, 2024

Thank you for your interest!
Here is some guidance on how this could be done:

  • For embedded-hal 0.2 support you could implement the serial traits maybe behind a feature flag like embedded-hal-0-2 (since it is the future legacy version)
  • For embedded-hal 1.0 we have removed the serial traits and will now recommend implementing the embedded-io traits. This could be done behind an embedded-io flag probably.
  • If there is interest in async, the traits in embedded-io-async could also be implemented here, probably behind an aptly-named feature.

from serialport-rs.

sirhcel avatar sirhcel commented on May 26, 2024

@dbrgn created #59 for this topic a while ago. It is focused on on older version of embedded-hal 1.0 but a good sketch how this could be done for embedded-hal 0.2.

Are there any plans to over serial I/O for embedded-io with embedded-hal-compat or a similar adapter in the future?

from serialport-rs.

eldruin avatar eldruin commented on May 26, 2024

Good point. It might be possible to bridge to embedded-io in embedded-hal-compat. Then maybe we could skip embedded-hal support entirely and just implement the embedded-io{,-async} traits here.

from serialport-rs.

shymega avatar shymega commented on May 26, 2024

Hi, sorry for my late reply.

I think, looking at the state of things, there's not a lot I can contribute without becoming a hindrance.

Is there a list of relevant PRs/issues/discussions worth subscribing to to keep track of things?

I've recently published a unified -MODEM crate, which uses code from other XMODEM/YMODEM crates to unify them into one single crate. It'd be really good to be able to use that with embedded-hal so that Rust code on embedded can interact with XMODEM. For example, this STM32 I'm working with currently uses XMODEM for updates.

from serialport-rs.

sirhcel avatar sirhcel commented on May 26, 2024

Hi, sorry for my late reply.

No problem. We all are doing this in our spare time and have plenty of other things to do.

I think, looking at the state of things, there's not a lot I can contribute without becoming a hindrance.

Is there a list of relevant PRs/issues/discussions worth subscribing to to keep track of things?

This issue here and #59 are the best known issues to me. Recently there were a lot of things going on with embedded-hal going towards 1.0 and I still need to keep up with them.

I've recently published a unified -MODEM crate, which uses code from other XMODEM/YMODEM crates to unify them into one single crate. It'd be really good to be able to use that with embedded-hal so that Rust code on embedded can interact with XMODEM. For example, this STM32 I'm working with currently uses XMODEM for updates.

This sounds interesting and might be a good candidate for verifying the porting efforts. Which is your crate?

from serialport-rs.

shymega avatar shymega commented on May 26, 2024

from serialport-rs.

eldruin avatar eldruin commented on May 26, 2024

It should be noted that we have removed the Serial traits from embedded-hal and we now encourage implementing and using the embedded-io traits which are basically the std::io traits but for no_std.

from serialport-rs.

shymega avatar shymega commented on May 26, 2024

I've been working on moving my txmodems crate from core2 to embedded-io, but experiencing a few issues. Mostly the lack of the unified Error type (iirc) that core2 has.

from serialport-rs.

shymega avatar shymega commented on May 26, 2024

Is there anything I can do to help? I heard vaguely some news about embedded-io reaching 1.0, so it seems like a good time to prod at this issue again.

from serialport-rs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.