-
Notifications
You must be signed in to change notification settings - Fork 9
Add RealtimeDecoder for realtime processing #270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
- Add RealtimeDecoder struct for stateful real-time message processing - Add Python bindings with full type hints and PyO3 integration - Refactor CPR decoding code to eliminate duplication between batch and real-time processing - Update version to 0.4.14 - Maintain backward compatibility with existing APIs
50a129d to
8e38f5a
Compare
| if timestamps is None: | ||
| # Use current time for all messages | ||
| current_time = time.time() | ||
| timestamps = [current_time] * len(messages) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not totally sure this is the best idea.
|
Thank you I will be able to have a look in the coming days 👍 Just a minor comment I have as I check from the phone, I will probably revert the version change in your commit 😅 |
|
Thanks! I know I'm dropping a big PR on you out of the blue without any
design discussion, so feel free to reject any or all of this if it doesn't
make sense for the project.
…On Mon, Aug 4, 2025 at 3:21 AM Xavier Olive ***@***.***> wrote:
*xoolive* left a comment (xoolive/jet1090#270)
<#270 (comment)>
Thank you I will be able to have a look in the coming days 👍
Just a minor comment I have as I check from the phone, I will probably
revert the version change in your commit 😅
—
Reply to this email directly, view it on GitHub
<#270 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAN6EBDYIKSQAJXWIXUNLXT3L4CWJAVCNFSM6AAAAACC6CLAGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTCNBZGQZDIOJWGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
|
Sorry I didn't have time to look at it yet, and the days off don't help :) Another question about what you have in mind: for the moment, all the real-time decoding is taken care of by the jet1090 executable (in the same workspace, documentation https://mode-s.org/jet1090/). So what's the use case? Do you think wrapping the |
|
Good question! Since they are organized as separate crates and the python bindings are only for rs1090 I thought it made sense to implement this functionality there to keep that self-contained. This would enable rs1090 to handle all the low-level decoding while jet1090 just handles the higher-level/UI functionality. Functionally it seems like exposing the jet1090 processing should work, I just didn't get deep enough in that code to know how to do it. Totally up to you! |
|
Thank you for the update. Maybe I will reimplement things by moving code from crate to crate rather than using your PR, but will definitely keep your suggestions open and credit for the idea. Let's leave this open for now 👍 |
|
Sounds good! I ended up not needing this for the project I was working on,
so no worries on my end what you decide to do or when.
…On Tue, Aug 26, 2025 at 9:13 AM Xavier Olive ***@***.***> wrote:
*xoolive* left a comment (xoolive/jet1090#270)
<#270 (comment)>
Thank you for the update.
I will consider this all a bit later, probably after implementing the pure
Rust rtlsdr though 😉
Maybe I will reimplement things by moving code from crate to crate rather
than using your PR, but will definitely keep your suggestions open and
credit for the idea.
Let's leave this open for now 👍
—
Reply to this email directly, view it on GitHub
<#270 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAN6EBHUSP6CDHBBBYKHWQD3PRMODAVCNFSM6AAAAACC6CLAGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTEMRUGEZDQNRUHE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Intent
Enable realtime message processing by creating a stateful RealtimeDecoder class which maintains aircraft state across
decodecalls to for position decoding. The RealtimeDecoderdecode()method matches the API and behavior of the existingrs1090.decode().Running the new example script should return something like the following
Context
I wanted to use rs1090 in python to do live decoding, particularly of aircraft position, which currently does not seem practical (if possible at all).
Notes
short_flights.csvrecording with a minute's worth of messages, containing 486 total messages with 163 positions from 9 different aircraft.