usbipd-win
nom
usbipd-win | nom | |
---|---|---|
17 | 85 | |
3,133 | 9,054 | |
- | 1.2% | |
8.9 | 7.4 | |
6 days ago | 9 days ago | |
C# | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
usbipd-win
-
What's Your Primary Operating System for Development on Your PC/Laptop?
If (like me) you're stuck on Windows, WSL2 is really awesome. It's super fast, and requires very minimal setup to get it up and running. The VS Code integration is superb. You can even connect USB devices to WSL now, which makes it very suitable for embedded. You get nearly the performance of a full OS install, unlike a typical VM. On my machine it's about 50% faster than Virtualbox.
-
Planespotting with Rust: using nom to parse ADS-B messages
ADS-B is a protocol used by aircrafts to broadcast their position, altitude, speed, and other information. Nowadays, the majority of aircrafts broadcast ADS-B messages constantly. Anyone with the right equipment can listen to these messages. You can buy a relatively cheap USB dongle with an antenna on Amazon and install drivers for it on Linux. In my case I used usbipd-win to mount the USB device inside Ubuntu running in WSL2. Then I installed the Linux drivers and dump1090, a program that makes use of these drivers and then outputs ADS-B messages in a format that is easy to parse. While you can use dump1090 to display a neat table full of information about aircrafts, I wanted to use its raw output capabilities to parse ADS-B messages myself. It starts a simple TCP server that outputs raw ADS-B messages wrapped in Mode-S Beast frames. I'm not sure what Beast means, but I found something that looks like its spec here.
-
Running Xrdp Xfce4 on top of Ubuntu/WSL2
Anyway, in the meantime you can try using usbipd-win. Start with:
-
Expansion Cards - Are they detected as a seperate device?
Hi, I'm using usbipd to redirect USB devices to a remote virtual machine (USB/IP) for my work and I'd like to know if the expansion cards are detected as their own devices, especially the Ethernet expansion card.
-
WSL2 on Zen4 Ryzen: similar performance to running bare metal Linux
What about USB devices support ?
Is there any more integrate solution than:
https://github.com/dorssel/usbipd-win/
-
Adb devices not listing connect device
There is even a GUI available for usbip-win if you please. Start here: https://github.com/dorssel/usbipd-win
-
Formatting a micro SD card via a USB adapter with WSL2 and Windows 11
I installed usbipd as outlined here. When I run lsusb, I can see my USB drive:
-
Windows Terminal is now the default Windows 11 22H2 console
Though I see https://github.com/dorssel/usbipd-win may actually work properly as a full usb passthrough now for WSL2?
-
Use your Steam Deck as an expensive game controller
For server (e.g. machine that provides devices), https://github.com/dorssel/usbipd-win is a bit more mature - they grabbed the driver infrastructure from virtualbox to handle the issues with code signing.
-
Why doesn't my Windows 7 Virtual Machine on Hyper-V detect my iPod Touch 2nd Generation, and how do I get Hyper-V to detect it?
Check this project out. Works with WSL. Should work with Hyper-V too https://github.com/dorssel/usbipd-win
nom
-
Planespotting with Rust: using nom to parse ADS-B messages
Just in case you are not familiar with nom, it is a parser combinator written in Rust. The most basic thing you can do with it is import one of its parsing functions, give it some byte or string input and then get a Result as output with the parsed value and the rest of the input or an error if the parser failed. tag for example is used to recognize literal character/byte sequences.
-
Show HN: Rust nom parsing Starcraft2 Replays into Arrow for Polars data analysis
I may be the only one not familiar, but nom refers to https://github.com/rust-bakery/nom which looks like a pretty handy way to parse binary data in Rust.
-
Is this a good way to free up some memory?
Lots of people use nom for their parsing needs, but that's not the only game in town and there other options.
-
What is the state of the art for creating domain-specific languages (DSLs) with Rust?
As much as I love nom as well as other parser combinator libraries, regex-based parsers, BNF/EBNF-based parsers, etc. I always end up going back to plain old text-based char-by-char scanners.
-
What's everyone working on this week (22/2023)?
I am using nom / nom_locate to build the parser side because I've done a handful of other projects with it, and I plan to use tower-lsp to hook up the language server side.
-
Tokenizing
Look into a parsing library such as https://github.com/rust-bakery/nom
-
Something like pydantic but for just strings?
If we were in /r/learnrust I'd have recommended the nom crate for this.
- Nom: Parser Combinators Library in Rust
-
lua bytecode parser written in rust
Thanks to the flexibility of [nom](https://github.com/rust-bakery/nom), it is very easy to write your own parser in rust, read [this article](https://github.com/metaworm/luac-parser-rs/wiki/Write-custom-luac-parser) to learn how to write a luac parser
-
Should I revisit my choice to use nom?
I've been working on an assembler and right now it uses nom. While nom isn't great for error messages, good error messages will be important for this particular assembler (current code), so I've been attempting to use the methods described by Eyal Kalderon in Error recovery with parser combinators (using nom).
What are some alternatives?
container-desktop - Provides an alternative for Docker for Desktop on Windows using WSL2.
pest - The Elegant Parser
gsudo - Sudo for Windows
lalrpop - LR(1) parser generator for Rust
wsl-windows-toolbar-launcher - Adds linux GUI application menu to a windows toolbar
combine - A parser combinator library for Rust
usbip-win - USB/IP for Windows
pom - PEG parser combinators using operator overloading without macros.
easyWSL - Create WSL distros based on Docker Images.
rust-peg - Parsing Expression Grammar (PEG) parser generator for Rust
WSL-Context-Menu-Manager - Manages the context menu for your Linux tools in WSL/WSL2 for Windows.
chumsky - Write expressive, high-performance parsers with ease.