Skip to content
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

various enhancements (closes most of #456, closes #451) #470

Merged
merged 18 commits into from
May 21, 2021

Conversation

rosecitytransit
Copy link
Contributor

@rosecitytransit rosecitytransit commented May 16, 2021

See list I worked from at #456 (also closes #451)

Notes:

  • I'm guessing silenceFrames should really be a boolean like it originally was, that it should do "real time" recording of calls, as in including the silence between transmissions
  • I did not include logging of P25 phase 2 slot # like I was wanting
  • I'd really like to have a daily counter in Call::create_filename() that can be put in the daily log file/on the live Web page; it would allow calls to have a fixed row number based on start time (even if an earlier-started call ends/arrives later) and identify when calls are not listed on the Web page
  • I'd like to have radio IDs from the control channel and voice frames logged to 2 separate lists
  • I'm wondering if there's a better way to do the daily log rather than opening and closing the file each call, such as using Boost Log
  • call priority, duplex, circuit/packet mode may not have been implemented in all places
  • I re-did all of the commits (by saving them as patches before hard resetting); hopefully everything got put back

this is really meant for unit-unit calls, and where the new transmission is reversed

to keep transmissions together, message.talkgroup and message.source could be switched here (not doing so if real talkgroups and radio IDs can overlap)
@rosecitytransit rosecitytransit marked this pull request as ready for review May 16, 2021 09:10
@robotastic
Copy link
Collaborator

Thanks @rosecitytransit !! This looks like it should clean up the silence/idle frame stuff that had been lurking in the code.

I am a little hesitant to add in the daily-log functionality. I am trying to keep the core of TR focused. Would it be possible to something similar as part of the upload-script? I would process the associated .json file and append a line to the end of the log file. This seems like it would be a great plugin. I am going to focus on getting the plugin system working next. It would allow for these types of customization. Can you separate out the daily-log changes as a separate PR?

One thing I will have to thoroughly double check in the future, is how TR and OpenMHZ handle timezones and the concept of a day. TR uses local time I think and openmhz uses that time... I think.

Can you tell me a little more about Voice Chan vs Control Chan source IDs? Do they differ ever? Would there be a reason for tracking them separately?

For future PRs, it is easiest if you keep them focused on a single set of changes. It makes it easier to see what parts are related... and I can also tackle small ones quicker. :)

Thanks for trying to make TR better!!

@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 16, 2021

I do apologize that I waited to submit everything at once. I know I should have done it as I went along. As can be seen here or here, I had some of it done 25 days ago.

I am willing to reset and rebuild the commits again (I have the patches created/saved) and either leave out the unwanted ones, or just submit them piece-by-piece.

As for control channel vs. voice frames radio IDs, I could send you raw signals from each to show how I don't get many of them on the control channel.

Also, one of the reasons why I wanted to include the daily logs is that the live Web page uses them so as to not have to read 100's of individual JSON files. But given that I'm not sure I'm adding to them in the best way, I'd be fine with submitting the function separately.

@robotastic
Copy link
Collaborator

Thanks @rosecitytransit ! I went through and tried to slice it up in to changes that could be approved right away vs others that need more research.

I want to to try and figure out why the Source IDs are not in the Control Channel but are in the Voice Channel.

I like the daily log concept, but I would like to find a more flexible way of doing it. People may want different time scales of summerization or for it to end up somewhere besides a text file. Having it be part of the Upload Script would give that flexibility, but ultimately it would be a great use of the Plug-In system... I will go focus on getting that working.

Can you go up the PR with the features that I tagged up above to include?

@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 17, 2021

To clarify before I rebuild things:
modify main.cc in 917abd9

leave out b69d64d

modify 7a3447b to remove daily log parts (and maybe put controlWarnUpdate README entry with it's commit)

leave out 1bd55e1

leave out and look into 9792d95

leave out 1bd55e1

leave out d210033 since it uses the daily log

also what's your thought on 2108519 ? I only really need it due to lack of control channel updates for unit-unit calls, but otherwise it's not good for transmission mode (nor is the re-tune function).

@robotastic
Copy link
Collaborator

That is much clearer - I didn't realize they were sort of separated by Commit.

I miseed 2108519 - lets add that into the PR. It seems like it would only add functionality.

It is probably worth reinvestigating how Errors are calculated and recorded. I think there is some better code that was added to OP25 that could be used in the future.

What you propose above looks good to me. Can you submit a PR based upon that?

but should it (and timeDiff and statusTimeDiff) be ints instad of floats?
may not be implemented in all places
if you don't care about post-voice data, (un)comment lines in p25p1_fdma.cc as noted
some people, like me, are recording from systems they are not uploading

could also ensure that key is correct length
goes w/commit 366cd3b

also add some voice processing debug messages
@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 19, 2021

OK, I reset my branch and (hopefully correctly) re-added just the commits you were OK with. It should be ready to go now.

I'll add the other things (daily log, live Web page, etc in other PRs after you merge this one). I'll also get some trunk messages w/frequency/talk group of 0 for you.

@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 20, 2021 via email

@rosecitytransit
Copy link
Contributor Author

should be good to go

@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 21, 2021 via email

@rosecitytransit
Copy link
Contributor Author

rosecitytransit commented May 21, 2021 via email

@robotastic
Copy link
Collaborator

Good point on the Time Diff-ing being an int, vs a float. Not sure why I did it that way. Let's merge what you have in. We can can move those calculations over to be ints down the road.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Closing calls based on voice channel termination
3 participants