-
Notifications
You must be signed in to change notification settings - Fork 18
Add gsmenu #62
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?
Add gsmenu #62
Conversation
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.
Suggestion stage 1
gsmenu.sh
Outdated
echo -e "1\n20\n25\n30\n35\n40\n45\n50\n55\n58" | ||
;; | ||
"values air wfbng air_channel") | ||
iw list | grep MHz | grep -v disabled | grep -v "radar detection" | grep \* | tr -d '[]' | awk '{print $4 " (" $2 " " $3 ")"}' | grep '^[1-9]' | sort -n | uniq |
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.
No need for | grep -v "radar detection"
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.
I intentionally left out the "radar detection" channels because they might cause interference, and wfg-ng does not support radar detection. Novice users may not be aware of such issues, so this makes the tool more reliable for them.
We already have 25 5GHz channels to choose from, so there’s no need to add more that could lead to a poor experience.
What do you think ?
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.
I think the user should be able to choose which channel to use. If you can set the DFS channel manually but the gsmenu can't, it will cause confusion. In addition, most areas probably don't have radar.
then | ||
sed -i 's/^render =.*/render = air/' /config/scripts/osd | ||
killall msposd_rockchip | ||
else |
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.
If not enable msposd ExternalSurfaceWidget in pp_rk's osd config file, enable gs rendering will always Shared memory 'msposd' does not exist. Waiting...
and cause gsmenu Segmentation fault. Add [ ! -e /dev/shm/msposd ] && exit 1
to return error when msposd ExternalSurfaceWidget is not enabled.
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.
Can you give more details ? I can not reproduce this.
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.
Bugs:
|
Suggestions optimize button operation logic.
|
|
I changed the navigation to a 4 button only version. Please give it a try. Edit: still working on the back button handleing Edit 2: |
Bugs:
The user experience has been greatly improved compared to before, but there are still optimization suggestions:
I'm testing with my own image instead of the stock SBC image and can't test it fully, so we need more testers. Thanks again for your great work! |
Should be fixed now.
Cycling now is only done on the menu page level, you can go back useing the back button.
Will come later, i am currently focusing oon gettting something working for the Runcam VRX.
Tried that but found that needs recoloring all widgets.Guess i will add it to the "later" todo list ;)
You can use PP_rk useing "w,a,s,d,Enter" keys when started from console. It that what you mean ?
Correct, this will then also need some "cache refresh" logic. Grek also has some manual alink settings app that would greatly improve the speed. |
I now completely removed the back button (in ui only). Closeing the menu works using back. |
small bug:
There are many kinds of input devices, such as keyboards, joystick, Bluetooth remote controls, web buttons, etc. It is impossible for pp_rk to support all input devices. Can pp_rk provide something like an API so that external programs can simulate GPIO buttons through the API to operate pp_rk gsmenu? This can keep pp_rk simple and allow pp_rk to support a variety of input devices by external programs. Like MPV's Key bindings and JSON IPC, This is just a discussion, not a high priority. In addition, I think a tag should be added before gsmenu is merged |
bugs:
|
I think i fixed this race now
what version of wfb-ng are you useing ? can you update ? |
discuss:
|
works fine in the latest commit, thanks. |
137d9fc
to
c392adb
Compare
This merge request adds a menu to PixelPilot_rk.
The menu provides options to modify air and ground settings.
Navigation is controlled via a GPIO button, adhering to Ruby wiring conventions.
PixelPilot_rk will take ownership of the needed gpios.
Menu Navigation
Up/Down – Cycles through menu items (wraps around at the top and bottom of the page/sections).
Left/Right/Ok (Back/Menu/QA1 in Ruby terms) – Adjusts selected values.
Ok becomes Rec/QA1 when menu is not shown.
When not in menu any navigation key will open the menu.
Implementation Details
The actual logic for getting/setting values and their ranges is handled by the gsmenu.sh script.
Ensure the script is in your PATH (e.g., /usr/local/bin or /usr/bin).
Restart Functionality
The menu includes an option to restart PixelPilot_rk. For this to work, the startup script/service must handle the following exit codes:
1 – User requested restart.
2 – No restart requested.
Other – Unexpected termination (suggest restart).
Fixes
Resolves #15 – Adds the ability to exit PixelPilot from the menu.