Menu buttons dont work properly with latest builds

More
15 Mar 2020 09:55 - 15 Mar 2020 14:54 #76070 by mj666
Upgrades one of my Devo10 from build 775e509 (Feb 2018) to recent 352a216 nightly. With the new build the menu up button (left top) is also acting as menu down. Both left buttons will always move down. Also the roll channel is kind of instable and drifting away to lower values without any stick movements. This is functioning properly with the older build.
Last edit: 15 Mar 2020 14:54 by mj666.

Please Log in or Create an account to join the conversation.

More
17 Mar 2020 06:35 - 17 Mar 2020 06:48 #76072 by mj666
I tested build 352a216 for quite some more time and it behaves definitely eratic on the Devo10. The offset drift of the roll channel can easily be seen in the BetaFlight configurator. If you center the gimbal the roll channel will follow but than it will lower its value by about 30 slowly with some delay. You can feel this also during flying (Quadcopters in Acro mode). In some rare cases the value sticks centered. During the 8 flights i did with this build i also had an glitch with lost control. I don't remember which protocol since i fly with DSMX and FrskyX. I reverted back to the proven nightly 775e509 (17.02.2019) which i was flying during last year. This build was working very reliable for al the time. I also tested build ac7f63e before and the button problem was also there. I'm not sure about the roll channel issue. Would be nice if someone can confirm a newer build then 775e509 is working without issues at the Devo10. I'm willing to try this also if you can provide me with the file. This will allow us the see better when these problems have started. The issues are reproduceable with a second Devo10 also (have 4 of them).
Last edit: 17 Mar 2020 06:48 by mj666.

Please Log in or Create an account to join the conversation.

More
18 Mar 2020 11:33 #76073 by Fernandez
sounds like RFI pick up or antenna issues, which can cause weird effects?

Please Log in or Create an account to join the conversation.

More
18 Mar 2020 12:10 #76074 by vlad_vy
It's not single case. Looks like devo10 build only has a problems.

Please Log in or Create an account to join the conversation.

More
18 Mar 2020 15:17 #76076 by mj666
The interruption of the link could be related to RFI and is may be a one time issue. On the other side I had no issues like this at this location (RC flying field) for the last few years. The misbehavior of the roll channel and the menu button will definitely not be related to RFI.

Fernandez wrote: sounds like RFI pick up or antenna issues, which can cause weird effects?

Please Log in or Create an account to join the conversation.

More
18 Mar 2020 15:23 #76077 by mj666
Already try to dig into the source cade to see which change could have caused this problems. Till now without much success. There are quite some changes about a year ago in areas wich have the potential to cause the problem.

vlad_vy wrote: It's not single case. Looks like devo10 build only has a problems.

Please Log in or Create an account to join the conversation.

More
19 Mar 2020 08:06 - 19 Mar 2020 13:03 #76078 by vlad_vy
I see that "devo10" (and devo6, devo8, devo12, devo12e) old button matrix Initialize_ButtonMatrix() code use PUSHPULL output for button lines, but new code (button_matrix.c) use OPENDRAIN output for button lines (for all transmitters). For example, T8SG V2 have pull up resistors 4.7 kOhm on these lines, so it work normally.

Old:
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO4 | GPIO5 | GPIO8 | GPIO9);

New:
GPIO_setup_output(BUTTON_MATRIX_ROW_OD, OTYPE_OPENDRAIN);

Probably it's worth to test
GPIO_setup_output(BUTTON_MATRIX_ROW_OD, OTYPE_PUSHPULL);
Last edit: 19 Mar 2020 13:03 by vlad_vy.

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 06:51 #76084 by mj666
Rebuild the Devo10 firmware from actual master with the recommended change and this looks to have fixed both problems. The menu button problem is confirmed but will do some more testing for the roll channel problem. Will you make this this change at the master or should I do a pull request. Many thanks for your help.

vlad_vy wrote: I see that "devo10" (and devo6, devo8, devo12, devo12e) old button matrix Initialize_ButtonMatrix() code use PUSHPULL output for button lines, but new code (button_matrix.c) use OPENDRAIN output for button lines (for all transmitters). For example, T8SG V2 have pull up resistors 4.7 kOhm on these lines, so it work normally.

Old:
gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO4 | GPIO5 | GPIO8 | GPIO9);

New:
GPIO_setup_output(BUTTON_MATRIX_ROW_OD, OTYPE_OPENDRAIN);

Probably it's worth to test
GPIO_setup_output(BUTTON_MATRIX_ROW_OD, OTYPE_PUSHPULL);

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 07:43 - 20 Mar 2020 07:43 #76085 by vlad_vy
I have to decide how to do it for devo10, devo12e, devo6, devo8, devo12 only, with common button matrix code.
Last edit: 20 Mar 2020 07:43 by vlad_vy.

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 08:38 #76086 by vlad_vy
Fixed.

Please Log in or Create an account to join the conversation.

More
20 Mar 2020 10:08 #76087 by mj666
Many thanks.

vlad_vy wrote: Fixed.

Please Log in or Create an account to join the conversation.

Time to create page: 0.039 seconds
Powered by Kunena Forum