- Posts: 4402
Developing a universal module
- PhracturedBlue
- Topic Author
- Offline
I can't actually test the devo module in the multi-module right now because mine is connected to the module itself. So I need to have the devo module in its original socket to use the multi-module, and it does not work to have it installed in both places at the moment
Please Log in or Create an account to join the conversation.
- nusbr
- Offline
- Posts: 43
Is it possible to use the DEVO Module in its original socket with Multi Module connected?
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
I was able to set it up the way you have it installed, and I could bind, but range is really short (like a few inches). I have no idea why, but I can at least debug it now.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
I've updated the nightly build. Make sure to use nightly ac4f0b2 or newer.
Please Log in or Create an account to join the conversation.
- nusbr
- Offline
- Posts: 43
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
With that I'm confident enough to start shipping out my spare modules. For those of you who contacted me regarding that, you should be hearing back from me in the next several days.
Please Log in or Create an account to join the conversation.
- blackmoon
- Offline
- Posts: 402
MM installed, hardware.ini :
;Only useful for transmitters with an after-market vibration motor
;enable-haptic=1
;
;switch_types: 3x2, 3x1, 2x2
extra-switches=3x2
;
[modules]
; there is no need to enable the cyrf6936 module unless
; it is wired to an alternate port. It is Enabled automatically otherwise
enable-cyrf6936 = B12
; has_pa-cyrf6936 = 1
enable-a7105=S1
has_pa-a7105=1
enable-cc2500=S3
has_pa-cc2500=1
enable-nrf24l01=S402
has_pa-nrf24l01=1
enable-multimod = A13
Power up give a CYRF module missing...other modules seem detected, but can't bind with any of them
Going to verify all connections but at first glance they appear to be ok, then will reap all the modules of the MM and test them separately.
Will come back in a couple of days and report.
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.
- blackmoon
- Offline
- Posts: 402
I understand now, I did some testing before ripping the MM apart.
As the module is really compressed inside the Devo7E its likely that some bad contact was going on, as I opened the TX, the CYRF module was detected to, no more missing modules.
Now for the bad part :
1.
I was able to bind and test on the bench the FLYSKY and SKYARTEC protocol, bind ok and servos and motors works on my quads and helicopters.
Unfortunately, none of my HISKY, DEVO, DSM2 stuff binds...
2.
I had on one occasion the TX rebooting continuously (it's what I think) blank screen and long beep. I join the file "error.tx" if it helps.
I had disconnected the A7105 module when it occurred.
3.
I commented all occurrence to modules in hardware.ini, hoping I could test the CYRF module alone.
No joy, the devo7E complained about missing MM, the strange thing is that the all protocols had the asterisk before them. I think it should at least have all the CYRF protocols working, becasue on the devo7E, B12 should be used.
After a while the TX froze and rebooted. I join the error file named : "errors_mm_disabled_hwini"
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
even with the MultiMod installed, you should be able to go back to 4.0.1. can you ensure your DEVO binds properly there? As I said there have been big changes to the initialization stuff, so it is quite possible that the CYRF6936 stuff doesn't work on the Devo7e
Your 1st crash indicates that the crash happened during the module initialization and the 2nd during module de-initialization. On the Devo7e, the errors.txt doesn't include the module backtrace which makes these much less useful. I should fix that
Please Log in or Create an account to join the conversation.
- victzh
- Offline
- Posts: 1386
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
You must use the latest nightly-build (which was uploaded today: e623f92) with this (though the latest nightly will also work with the old Rev2 avr.hex as well).
There are 2 changes:
1) The multi-module will not respond to a version query until after it has been initialized to control a switch, and the CSN line has toggled at least once. The purpose of this change is to allow the multi-module to co-exist with older firmware, since otherwise the multi-module could communicate on MISO and corrupt built-in module data
2) I added more-robust detection of the nrf24L01
I'm still not happy with reliability. I don't know why I get occasional module initialization issues. It appears to have something to do with the SCK pin. If I attach the logic-analyzer to the SCK pin it is 100% reliable, but without it, I get occasional initialization issues. I've tried adding a small cap to the SCK pin without benefit. The LA has very low input cap, so maybe that isn't it. I'm currently at a loss as to what is going on It is difficult to debug something you can't measure.
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
If not you should set:
has_pa-cyrf6936 = 0
That should let you bind your Devo protocols properly.
Edit: Also, I verified that the nrf24L01 is working properly on my Devo7e with the multimod as well. If you still have issues, upgrade to the latest nightly and Avr.hex V3
Please Log in or Create an account to join the conversation.
- blackmoon
- Offline
- Posts: 402
I'll upgrade and try that. I'm afraid that my NRF is toasted, it's very sensitive to over voltage, I already cooked one when I was making the SoloPro ppm module from kile.
Anyway I'll make some testing, this weekend, and keep you posted.
Thanks for pursuing this.
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.
- blackmoon
- Offline
- Posts: 402
I hope that NRF's initialization will be better in the latest one, but I'm going to strip that one from the MM so I can deport it, less strain on the 7E interiors.
The only one not complying is the CYRF, made the has_pa-cyrf6936 = 0 but no go... after I upgrade to the latest nightly if it's the same I'll check the antenna because it seems broken.
Anyway, I'm glad I didn't toast the NRF and made some progress in debugging this.
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
I am starting to build the multi-module. I think the pinout of the P1 should be written in the main WiKi page
Note the pin order of the module (with the AVR facing skyward and 'P1' horizontal):
7 5 3 1
8 6 4 2
P1
And need to write what is pin 1 is and so on ....
I read also : "The relevant pins on the 8-pin header are: 2: Vdd 3: Reset 4: MOSI 5: MISO 6: SCK 7: Vss"
With my USBasp, I don't have VSS, only GND, MOSI, VCC,MISO,SCK and RST. I guess VCC = Vdd and Rest = RST
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Topic Author
- Offline
- Posts: 4402
bitbucket.org/PhracturedBlue/deviation/wiki/ModuleList
The Multi-Module pins are reversed compared to all other modules, which is probably very confusing.
And yes Your connectivity is correct. There are multiple names used for these funtions:
Vdd = Vcc (on the programmer, hook this to the 3.3V pin regardless of what voltage your programmer uses), but you should generally program with 3.3V or without any tarnsceiver modules installed
RST = Reset
Vss = GND
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
PhracturedBlue wrote: I've updated the ModuleList with the proper connectivity here:
bitbucket.org/PhracturedBlue/deviation/wiki/ModuleList
The Multi-Module pins are reversed compared to all other modules, which is probably very confusing.
And yes Your connectivity is correct. There are multiple names used for these funtions:
Vdd = Vcc (on the programmer, hook this to the 3.3V pin regardless of what voltage your programmer uses), but you should generally program with 3.3V or without any tarnsceiver modules installed
RST = Reset
Vss = GND
Thanks PB,
My USBasp is delivering 5V so ... I will program it first in order to not cook RFchips. It should be highlighted in red IMHO. By the way, I am trying to make a video for a step by step procedure.
Please Log in or Create an account to join the conversation.
- SeByDocKy
- Offline
- Posts: 1016
There is another thing I don't understand with the photo of the "P1" pinout. so according to your photo
P1 (view from top)
7 5 3 1
8 6 4 2
with 7 = GND, 5 = MISO, 3 = Reset, 1 = +5V
8 = CSN, 6 = SCK, 4 = MOSI, 2 = +3.3V
or if I return the PCB, I see a square pin in 1 position. Usually, such square is designing the ground ? It means that it's reversed as you wrote ?
Please Log in or Create an account to join the conversation.
- Home
- Forum
- Development
- Development
- Developing a universal module