Can Rust be used to receive digital signals without using assembly language

Hello I’m learning RUST. if RUST is system programming language, can it be used to receive digital television signals or any other signals without using assembly language or any other language? I saw a operating system written in pure RUST.
Thank you.
edit
I mean write rust codes that convert television analog signals to digital without using assembly language or any other language (c or c++) on a microcontroller. thank you
1

If you have hardware, which enables you to change pin states or read them, of course.

Take a look at https://docs.rust-embedded.org

Of course the hardware has also to be supported by the Rust Compiler / LLVM Backend

1 Like

You will need some hardware to convert those Digital/Analog signals to something your PC/Laptop can decode/read. That is achieved by a Hybrid TV (ATSC/NTSC/QAM) tuner stick that connects to your machine via USB.

The brand Hauppauge has the best support driver-wise for Windows and Linux, so I suggest you pay the little more and actually get something that works. http://www.hauppauge.com/pages/products/data_hvr955q.html

The Linux kernel ships with Hauppauge drivers, so you should be able to use them: https://www.linuxtv.org/wiki/index.php/Hauppauge

These are the single channel tuner’s linux details:
https://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-955Q

At this point you should be able to watch TV on your computer using apps like VLC media player or Kaffeine.

I’m not sure how you then access the data from the device, but I’m sure there are a few code examples around.

1 Like

As others have said it depends on what you are trying to do exactly.

If you have an embedded device that has analog / digital inputs you’ll have to make sure that Rust is supported on that device (CPU architecture).

If you are connecting for example a USB-device to your Windows / Linux / MacOS computer then the OS + the drivers are responsible for talking to the device.
You can then just use an API (usually as a C or C++ library) to communicate to the device. And here you can use Rust and create bindings for these libraries.

If your question is more like if you can do bit-manipulation in Rust then the answer is yes, there are a bunch of crates on crates.io that help you do this.

1 Like