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

Serial protocol channel mapper #2801

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

pacaj2am
Copy link

Possibility to map serial channels to allow exclusion of CH5 for fixed wings gyros.

Previous pull was rejected, so tried to implement based on the recommendation.

@pacaj2am
Copy link
Author

@pkendall64 is this what you expected?

@pacaj2am pacaj2am force-pushed the serial-protocol-channel-mappings branch from 3084389 to 51c19f6 Compare June 19, 2024 20:35
@pacaj2am
Copy link
Author

tested with oscilloscope, all ok

@pacaj2am pacaj2am marked this pull request as ready for review June 19, 2024 22:54
@pkendall64
Copy link
Collaborator

This is on the right track, but I think the UI part will need some work. We need to somehow merge the PWM and channel mapping together to create a concise simple UI for users.

@pacaj2am
Copy link
Author

This is on the right track, but I think the UI part will need some work. We need to somehow merge the PWM and channel mapping together to create a concise simple UI for users.

I was thinking about that - and did separate channel list for serial, reasons:

  • there are serial only receivers, without PWM
  • number of PWM channels is different from fixed 16 channels on serial ports
  • adding that to PWM channels, where you must select Serial output was super confusing

What I tried as well and looked slightly better was to have 2 columns with 2 channels per row.

Should I prepare 2nd PR with Serial config in the upper config part?

@pacaj2am
Copy link
Author

@pkendall64: prepared updated preview:
image

Original implementation:
image

For me is the original bit less confusing.

@pacaj2am
Copy link
Author

did some more previews - having the Channels in 2/4 columns looks way better:
image
image

@pkendall64
Copy link
Collaborator

pkendall64 commented Jun 20, 2024

Yeah, maybe the second is clearer.
If we go with the second then we'd be able to also select LQ and RSSIdBm as values to be output on some channels and that would resolve another issue as well.

Another issue is that we now have 2 potential serial outputs. So it may be better to relabel the columns, and hide the column is that serial is not configured and hide the entire section if no serial output is configured.

Output Channel Serial 1 Serial 2

Or something similar.

@pacaj2am
Copy link
Author

Yeah, maybe the second is clearer. If we go with the second then we'd be able to also select LQ and RSSIdBm as values to be output on some channels and that would resolve another issue as well.

Another issue is that we now have 2 potential serial outputs. So it may be better to relabel the columns, and hide the column is that serial is not configured and hide the entire section if no serial output is configured.

Output Channel Serial 1 Serial 2
Or something similar.

Not 100% sure, what second mean :-) I will add 2nd serial option as well the LQ and RSSIdbm. But I need a bit of guidance - how to map both values to CRSF/SBUS/other serial protocols.

@pkendall64
Copy link
Collaborator

pkendall64 commented Jun 20, 2024

second was referring to the second screenshot, in the seperate section.

@pacaj2am
Copy link
Author

second was referring to the second screenshot, in the separate section.

Just to be completely sure - separate section with 1 column.

How what about the mapping of RSSI and LQ mapping?

@pacaj2am
Copy link
Author

and one more question - what is a good receiver with possibility of 2 serial ports?

@pkendall64
Copy link
Collaborator

The BetaFPV SuperP 14 channel receiver is a good one. You can configure the second serial on any of the pins.

@pacaj2am
Copy link
Author

pacaj2am commented Jun 21, 2024

Yeah, maybe the second is clearer. If we go with the second then we'd be able to also select LQ and RSSIdBm as values to be output on some channels and that would resolve another issue as well.

Another issue is that we now have 2 potential serial outputs. So it may be better to relabel the columns, and hide the column is that serial is not configured and hide the entire section if no serial output is configured.

Output Channel Serial 1 Serial 2
Or something similar.

Like this? There still might be space for 2 channels on one row. More needs to be done for LQ and RSSI. will try to finish it during weekend.
image

@pacaj2am pacaj2am marked this pull request as draft June 21, 2024 01:04
@pacaj2am
Copy link
Author

@pkendall64 who was doing the webUI things for serial port? It's a bit mess, the updates now are coming from various sources - Airport settings, Serial, Serial 2, etc.

What would be better solution - small refactor or introduction of a small controller handling all the events and getting UI in one state (showing/hiding the particular config options?).

@awigen
Copy link
Contributor

awigen commented Jul 30, 2024

Please consider a more general approach which mixes the incoming channels so it is not serial output specific.

I've been working on a generic mixer to support RX gyros #2869

@pacaj2am
Copy link
Author

Please consider a more general approach which mixes the incoming channels so it is not serial output specific.

I've been working on a generic mixer to support RX gyros #2869

ok, will do... summer break now, but might get to finish that next week :-)

@Tiefflieger68
Copy link

any action here?
this would be a great feature...

@OzDruiD
Copy link

OzDruiD commented Oct 2, 2024

any action here? this would be a great feature...

Indeeed- very keen on this as well. (sbus remapping etc)

@pkendall64
Copy link
Collaborator

The dev team are investigating/working on removing the ARM channel requirement completely for full-res modes.So that will remove the need for all this complication with channel mapping.

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.

5 participants