- Posts: 4402
Devo7e work
- PhracturedBlue
- Topic Author
- Offline
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
PhracturedBlue wrote: You could theoretically wire it new buttons into the matrix, but you can't use them for switches. The rules with the matrix is only one button can be detected at once. so you can't 'hold one down' and still use the buttons, and that is what would happen if you tried to wire up a switch.
I understand different scanning algoithm gives different beheavior.
My thinking is the routine would scan ALL cross points in the matrix (continoue scanning to the end no matter how many closes have been detected), should it detects B5/C7, it would register and hold it until the next scanning cycle..
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
pcbheaven.com/wikipages/How_Key_Matrices_Works/
You can reliably read 2 concurrent presses a button matrix, but if you read 3 you can get masking or ghosting, making it difficult to figure out what is going on. This is a hardware issue which can't be overcome with different algorithms to my knowledge without further modifying the hardware.
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
PhracturedBlue wrote: This page illustrates it well I think.
pcbheaven.com/wikipages/How_Key_Matrices_Works/
You can reliably read 2 concurrent presses a button matrix, but if you read 3 you can get masking or ghosting, making it difficult to figure out what is going on. This is a hardware issue which can't be overcome with different algorithms to my knowledge without further modifying the hardware.
thank you for the excellent explaination...
further elaboration on the 7e button matrix let me think like it this way:
assumming that column is the input to the matrix, then if I put a didoe in series with the to be added-on switch at B5/C7, then it would block the backward current coming from the buttons on other columns on the same row (C7) that would flow back into column B5 otherwise.. that seems to be abe to avoid the ghosting and masking problem..
the same applies to the B5/C9 switch
adding a mere two diodes is still a resonably simple mod..
Please Log in or Create an account to join the conversation.
- dehalo
- Offline
- Posts: 35
Can you tell me how I would connect a Devo 8s module instead of the 7E TX module?
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
You would have to measure / read the button matrix code to understand in which direction the diode has to be used (high on rows or low on rows).
Wouldn't it be easier to look for unused inputs where you can do whatever you want? There must exist a lot (GPIOD: only pin2 used, when I have read correctly). I am quite sure that some of them will have connections/testpads where a wire could be easily soldered.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- RoGuE_StreaK
- Offline
- Posts: 486
For example, throttle hold may not be something you need a physical toggle for, you know when it's turned on or off; then frees up the physical toggle for another purpose like dual rates or something, where a physical indicator of state is more readily required?
Momentary also doesn't need to be a push style button, could use the momentary toggles like some TX's have for Trainer; then you've got a big lever to quickly flick, but only interacting with the matrix in momentary mode.
Just throwing out some possible routes, to see if anything sticks
Please Log in or Create an account to join the conversation.
- domcars0
- Offline
- Posts: 390
Hi,RoGuE_StreaK wrote: For example, throttle hold may not be something you need a physical toggle for, you know when it's turned on or off; ....
I'm sorry but I do not understand what you mean? To fly my heli, I really
need the physical toggle to switch off quickly the motor in case of emergency...
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
Anyway, I will do an experiment in these two days using two diodes to short out B5/C7 and B5/C9 to test if it really affects the other button's operation. Right now I can confirm that no two buttons cannot be pressed at the same time...
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
So give it a shot. It should not be hard to patch it together.
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
PhracturedBlue wrote: I drew out the actual graph, and with the specific alignment of the 7e (B5/C7, B5/C9) and I think you are right that a switch + diode is sufficient to be able to detect those 2 switches plus one additional button-press.
So give it a shot. It should not be hard to patch it together.
good news. I will do the hard wiring today or tomorrow but.need your update on the fw for these switches to work..
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
Otherwise here is a completely untested build which creates the AIL_DR and ELE_DR switches.
This is only useful for cmpang with his modified tx. It probably won't break for anyone else, but I make no guarantees.
Please Log in or Create an account to join the conversation.
- RW9UAO
- Offline
- Posts: 25
Please Log in or Create an account to join the conversation.
- OnceAFly
- Offline
- Posts: 11
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
PhracturedBlue wrote: Do you know how to build and patch the code? If so I can provide the code.
Otherwise here is a completely untested build which creates the AIL_DR and ELE_DR switches.
This is only useful for cmpang with his modified tx. It probably won't break for anyone else, but I make no guarantees.
thanks very very much PB.. I will wire my 7e up and perform a test soonest possible...
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
OnceAFly wrote: How's the range test on shorted diode mod?
too busy at the moment due to our Chinese New Year.. too many social gathering.. initial range test at home when set to 1mW shown performance is no different from my Devo10. Will perform field range test soonest possible.
Please Log in or Create an account to join the conversation.
- Xermalk
- Offline
- Posts: 181
OnceAFly wrote: How's the range test on shorted diode mod?
150m+ along the ground (tx and rx 1.5m above ground). As thats where i ran out of space when testing with my master cp (it has a tiny single antenna).
Should be farther up in the air. Im waiting for temps above 0 before i try another range test.
Please Log in or Create an account to join the conversation.
- cmpang
- Offline
- Posts: 296
PhracturedBlue wrote: Do you know how to build and patch the code? If so I can provide the code.
Otherwise here is a completely untested build which creates the AIL_DR and ELE_DR switches.
This is only useful for cmpang with his modified tx. It probably won't break for anyone else, but I make no guarantees.
PB, I have wired up the switches with diodes and have the following observation:
1. After mapping the AIL_DR and ELE_DR to Ch3 and Ch4, it is able to control both channels output by flipping the switches.
2. However, the wiring have to be done on B7/C7 and B7/C9 instead of B5/C7 and B5/C9 according to the button matix table
3. Enabling either or both switches would lock up all the front panel buttons
4. After enable Ch3 by AIL DR switch, it can be disabled by engauging Thottle Up trim. This lead me to point 5 below.
5. Revisiting the ghosting/masking let me think that we have to engauge 3 or more button in order to confuse the matrix. However, after disconnecting all my wiring for further test, I found that the current firmware seems not able to detect two buttons at the same time. For example, I cannot perform trimmig on both elevator and rudder. This lead me think that the scanning routine is not a 'go through' but stop further scanning once a button is detected.
The is the observation so far. Not successful but very promising... would be glad if you can revisit the scanning procedure to see if there is any hint...
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Development
- Devo7e work