FRC-Utilities / QDriverStation-Rust

Cross-platform clone of the FRC Driver Station (in development)
MIT License
0 stars 0 forks source link

Integration with ds-rs & project ideas #1

Open alex-spataru opened 4 years ago

alex-spataru commented 4 years ago

There are two ways that we can approach this problem:

  1. Use the limited C API exposed by ds-rs.
  2. Switch completely to Rust and use qmetaobject-rs or qml-rust to load the QML interface.

Personally, I have never worked with Rust. But I am willing to learn it because it is a systems programming language, which really interests me (aside of C/C++, I have only worked with Python and Ada).

riftware commented 4 years ago

Never looked at rust myself. Are you thinking of using a dll to act as your interface to the Rust project? I mean the DLL will expose your C++ api to the QT UI? The DLL would be written in Rust but expose a more full fledged api?

alex-spataru commented 4 years ago

@riftware As fas as I understand, we need to compile the ds-rs as a library, and then use its exposed C API with the QDriverStation UI (and a Qt-wrapper header for the ds-rs API). I am still figuring out how to compile it 😆

StripedMonkey commented 4 years ago

I'm not at all familiar with how rust works unfortunately, I'm not much of a rust guy either D: (Python noobs ftw) However, I think it's probably cleaner to simply have QDS become rust-based with QML and go from there. It would at minimum simplify the build process, as the one thing I'm incredibly attached to with rust is it's build system.

Really all QDS is supposed to be is a Driver Station lookalike, it shouldn't be much more than a frontend for ds-rs no? At least as far as I'm aware there's barely any real complexity needed for QDS if it were to use ds-rs as it's backend. If this project needs help I might be able to help a bit. I'm Alumni at this point though.