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

Would you be interested in porting this to the new Turnigy Evolution #1

Closed
andymac4182 opened this issue Oct 28, 2016 · 130 comments
Closed

Comments

@andymac4182
Copy link

andymac4182 commented Oct 28, 2016

Hi,

Have you had a look at whether it is possible to port this to the new Turnigy Evolution?

https://hobbyking.com/en_us/fpv-racer-radio-mode-2-white.html

https://www.youtube.com/watch?v=ZMHVIhZzSMI

Cheers,
Andrew

@fishpepper
Copy link
Owner

Should be no big deal. If someone sends me a tgy evolution i will have a look and if it uses the same hardware as the i6s i will port my code. It should be enough to have it 2-3 weeks for the initial porting. I am located in germany.

@maymayday90
Copy link

Yes, would also be very interested in this. As far as I know, hardware is almost identical, though I'll be getting my Evo soon and can double check.

Is there a PPM stream available either with stock firmware or your firmware? Thinking external modules. From your pinout documentation it seems like the current transceiver chip is fed data (serial?) instead of PPM.

Have you looked at the opentx or er9x repositories at all? Lots of good stuff in those as well. Could save you lots of work instead of writing from the ground up for some of these.

@fishpepper
Copy link
Owner

I know and use OpenTX on my main tx. The reason for writing openground from scratch is that opentx has way to many features i do not need at all on my quadcopters. I want something plain and simple. Not more ;)
The stock and CC2500 modules are both fed via SPI. Right now i do not plan adding ppm stream output as this adds unnecessary delays and i prefer the clean and direct connection to the module. The stock firmware could have a ppm output on the trainer port?!

@maymayday90
Copy link

I will agree on way too many features. More of a pick and choose as needed and pull across to OpenGround. But I'm not doing the hardwork, you are. My coding is not even close to being able to write stuff for this.

Reason for PPM out is for external modules. Frsky module (though you have that already with the CC2500 module, but was thinking an XJT module or something), DSMX module, and most importantly, my TBS Crossfire. :D

Would a PPM stream overload the CPU that badly? I know it's not the best STM processor out there, but would think it could handle it? Maybe have it so you could enable or disable it, check box style.

But just wishes from a guy that can't do it himself. ;)

@fishpepper
Copy link
Owner

PPM output e.g. on the trainer port should be no big deal. It can be generated by a hardware timer.

@maymayday90
Copy link

No trainer port on the Evolution. Would have to be hacked probably.

@maymayday90
Copy link

2016-11-10 20 50 33
2016-11-10 20 50 58

I'm sure you probably have pics already of this, but here's the internals of the Evolution. Seems almost identical to the i6s. There is no trainer port though, do you know where to get PPM out for an external module? Can it be pulled from one the lines going to the internal transceiver module?

Thanks!

@metalnow
Copy link

Is it possible rewrite the driver of stock RF module for TGY-EVO?

@andymac4182
Copy link
Author

andymac4182 commented Nov 15, 2016

I might be wrong but I that it wouldn't help due to the different modules doing different modulation. It would be good to see someone add support for FlySky as this is a great radio just not awesome receivers or firmware.

@andymac4182
Copy link
Author

@fishpepper I have sent you an email about how to send you the money for this if you are still interested 👍

@fishpepper
Copy link
Owner

The stock module uses a different chipset as FrSky. I have never used it and i do not know the flysky protocol. But soemone who does could easily add support for that in the code. Then one would have to use the flysky receivers as well.

@andymac4182: i did not get any email from you. Where did you send it to? Try fishpepper gmail.com Thanks :)

@andymac4182
Copy link
Author

@fishpepper I have emailed that address now :)

@cj1324
Copy link

cj1324 commented Nov 17, 2016

@add1ct3dd
Copy link

Subbed

@totterfree
Copy link

Also curious as to how this turns out. I'd love to be able to Tiny Whoop with the Evolution

@jacobbloy
Copy link

https://www.rcgroups.com/forums/showthread.php?t=2566271&page=18#post35433517

Adding a external module to the i6s might work for the evolution. The trainer port could be there just not active

@maymayday90
Copy link

Hmm yes, I like that. Can't see what's on that trainer pcb though, might be a conversion chip or something.

@jacobbloy
Copy link

who has a i6s that can have a look? mine is in the mail

@Tesla99
Copy link

Tesla99 commented Dec 17, 2016

I have the i6s. What do u need?

@jacobbloy
Copy link

You will need to pop it open then take a picture on the small pcb that the trainer port is soldered to. Need a pic of both sides so we can see if there is an ic or resistors ect. If we can replicate this board then we can try and add it into the evolution. If looks like the evolution has the plug header for it.

@jacobbloy
Copy link

@jacobbloy
Copy link

Then if there are no ic's ect on that little pcb, just above the header for the little pcb s wire harness, there is a pad labeled ppm out, we need to trace this back to the mcu and find out what pin it is using. If we can locate that we can see if the evolution has ppm on the pin also

@Tesla99
Copy link

Tesla99 commented Dec 18, 2016

Ok I'll click some pics and post them tomorrow. Lots of work today...

@maymayday90
Copy link

I have never had my fingers crossed this hard hoping it can be traced back on the Evolution...

@maymayday90
Copy link

capture

Looks like the PPM out is here, if there's no IC or anything on the separate PCB. Continuity check it to every pin on the ARM processor! And hope it's possible.

@francescromai
Copy link

francescromai commented Dec 20, 2016

Hello everybody! I'm new in that kind of projects, but it could be awesome if we can use the Evolution radio with frsky receivers!
Is there any chance?
Cheers

@jacobbloy
Copy link

We are looking into it.

@andymac4182
Copy link
Author

@francescromai Yes it is possible. It is just when someone or @fishpepper has time to port the code.

@jacobbloy
Copy link

it seems like the ppm signal on the i6s is coming from the PD5 pin on the stm32f07 chip with a 200ohm resistor in line. there is no second ic on the trainer port pcb as you can see on the pics attached. is some one has the turnigy evolution a 200ohm resistor and a Oscilloscope you could check is there is actually in fact a ppm signal that i accessible on the evolution.
you will need to connect it up to actual put it in trainer mode i think.
img_9496
img_9495
img_9494

@VR-69
Copy link

VR-69 commented Jan 11, 2017

Maymayday90 Can I connect the ppm out to my crossfire?

@ponnex
Copy link

ponnex commented May 14, 2017

@lunohod is the uploaded .bin files from the stock firmware that came with evolution or are those from the march updated firmware? :D

@lunohod
Copy link

lunohod commented May 14, 2017 via email

@IdefixRC
Copy link

Hi guys,

just received my Evolution and the RF module.
Is there a list of what works or does not work yet with the evolution after openground conversion?

Thanks !

@lunohod
Copy link

lunohod commented Aug 19, 2017 via email

@MrSatoV
Copy link

MrSatoV commented Aug 19, 2017 via email

@IdefixRC
Copy link

@jacobbloy : Just flashed the hex simply using the Betaflight configurator firmware flasher. After soldering the boot pad it showed up as DFU in the Betaflight configurator and flashing the hex as local firmware file worked flawlessly !! Thanks for providing the file 🥇


jacobbloy
Can some one els please test this .hex file with an stink? you can use stink utilities on windows.https://drive.google.com/open?id=0Bym9XrdeViekQXJ6dE8yZUdKYVU

@andymac4182
Copy link
Author

Be cool to work towards an alternative firmware/hardware tx for FrSky. Similar to what the FU-RC guys are working on. Something controlled via a phone as a screen similar to the Mavic controller. Sounds like this is becoming a great firmware for the quad racing industry.

@IdefixRC
Copy link

@fishpepper
First of all: AWESOME work. Thanks a lot for putting the effort in (Eine super Leistung :-) )
After testing the hex from jacobblow above and finding out that it was based on his own fork which explained why I had so many issues. I compiled from the latest master and flashed the binary via DFU onto the evolution..

It boots up very quickly and all the menu's as well as the stick calibration work fine.
I have however issues getting it to talk to the receiver.

Bind mode: Put the RX into bind mode (2 solid LED's), as soon as I hit bind on the TX one RX led starts blinking as it should indicating that it receives the bind packets. However upon restart of both TX and RX, the RX simply blinks indicating no connection.

TX Clone: I tried that next. Put the Evolution in Clone TX mode, powered my taranis up and hit bind. The evolution started with the autocalibration etc and finished with "please switch off now".
After powering it back up the RX still could not connect (powering the taranis up makes it connect instantly to the taranis).

Any ideas on what I'm doing wrong? I assume that the TX module connections are fine given it can send and receive (at least looks like that from the tests above).

Thanks

@fishpepper
Copy link
Owner

fishpepper commented Aug 20, 2017

This sounds strange. Were you really close to the rx? Try it at a distance of 2m or more.
How does the hoptable look like? It should be printed on the debug console during boot (a list of some hex values).

Please use the opencm3 branch for further developments, this is going to be replace master soon
https://github.com/fishpepper/OpenGround/tree/opencm3

That one uses the open source stm3 library instead of the st one. I attached output files for the latest revision of then opencm3 branch to this post.

openground_opencm3_4a57a5b6fb.zip

@IdefixRC
Copy link

Thanks for the quick reply. Yes the RX was very close. Will try again with some distance between it and the TX.

As for the opencm branch: is it stable enough for basic flying? Or should i try to get it working with the master first?

Thanks

@IdefixRC
Copy link

Tested with the RX a few meters away. Same behavior unfortunately.
Hoptable: is there a possibility to scroll up in the debug screen? It runs through to fast and the only hex values I see on the final screen are those behind: calib fscal1: 1B 20 24 1B 20 24 1B 20 24

Here is a Screenshot of the debug screen: https://goo.gl/photos/nyoLT5hk2WfeTKXx7

@hobojoe720
Copy link

Hey guys, read all this a while ago and forgot about it.
I see from the pics that there is a module to replace the built in FlySky one. is it possible to use the Multi Protocol module in that case? Or is that still a no go without going down the route of having the module external with a receiver feeding it signals?

Also, if I flash the HEX to my Evo, without changing the TX module, I assume I can still bind to all my existing flySky receivers?

@Patrick-Wilson
Copy link

Really interesting! I'll be testing this out soon on my Evolution.. Props to @fishpepper, great idea..

@lunohod
Copy link

lunohod commented Aug 24, 2017 via email

@IdefixRC
Copy link

@fishpepper
Was not able to run further tests during the week but will look into it again on the weekend.
Did you have time to look at the below? Any idea?

Tested with the RX a few meters away. Same behavior unfortunately.
Hoptable: is there a possibility to scroll up in the debug screen? It runs through to fast and the only hex values I see on the final screen are those behind: calib fscal1: 1B 20 24 1B 20 24 1B 20 24

Here is a Screenshot of the debug screen: https://goo.gl/photos/nyoLT5hk2WfeTKXx7

@fishpepper
Copy link
Owner

Unfortunately you can not scroll up in this screen.
You could place a while(1); after the debug print with the hop table for now.

@rav-rav
Copy link

rav-rav commented Aug 24, 2017

@hobojoe720
@lunohod
I did some initial work on porting code from the multiprotocol project here: https://github.com/rav-rav/OpenGround/commits/opencm3
4in1

@jacobbloy
Copy link

@rav-rav
It looks like you have intergrated the module with out a second mcu, is this correct?
It would be good if you could bring your branch inline with @fishpepper so this hid joystick integration are also added.

@rav-rav
Copy link

rav-rav commented Aug 25, 2017

@jacobbloy
Yes, this module does not have a second mcu and even fits into the enclosing. Unfortunately I didn't have much time to work further on it.

Here's an older version which does work using a serial connection to the module with mcu: https://github.com/rav-rav/OpenGround/commits/multi4in1serial

@shadow974
Copy link

shadow974 commented Aug 27, 2017

Just flashed the latest Opencm3-Edition to my turnigy evolution. The Hardware is detected correctly as Turnigy Evolution. The AD-Readings seems to be inverted. TX-Clone does nothing for me (stays in Setup menu)

Edit: On the master-branch the menu works and the TX-ID is synched.

@shadow974
Copy link

Ok, just found the part in the sources. The complete clone-process is commented out an the user ist thrown back to the main settings menu. But why?

I removed the comment-tag, compiled it without problems and it seems to run correctly. Have to try at home with my Taranis.

@shadow974
Copy link

shadow974 commented Aug 28, 2017

Ok, tested with my taranis and it never gets out of the "preparing autotune" part, so no luck with that. I tracked it down to the function frsky_autotune_do, in step "case (1)". It seems he never receives a valid frame?

The inverted AD-Values are because of my Stick Mode 1 Version (where you swap and rotate the gimbals inside)

@Patrick-Wilson
Copy link

Patrick-Wilson commented Aug 29, 2017

@shadow974 I have a mode 1 version, the inverted AD-values can be corrected by unplugging the gimbals from their connecting pcb and swapping the ribbon cables over after the swap and rotate.. worked for me..

Problem I am having, I suspect, is a dead CC2500 module? problems I am seeing are complete freeze / lockup when trying to bind or clone (have to pull the batteries out to power off) and I am getting no signal power level output reading in the UI.. Anyone had / corrected this?

@IdefixRC
Copy link

@fishpepper
Thanks for the reply. I went through the code but could not find the obvious place for the hoptable debug line. Assume it is one of the debug messages in debug.h?
Could you point me at the right file?

Thanks


Unfortunately you can not scroll up in this screen.
You could place a while(1); after the debug print with the hop table for now.

@fishpepper
Copy link
Owner

@ALL:
I just fixed the non-working clone tx and some other bugs that made the opencm3 branch non-working.
It's working again. Thanks for pointing out the issues! I merged the opencm3 into master, so now the code to use is the master branch again :)
I will close this issue now (tgy evolution is supported). Please re-open separate issues for any occuring problems. It's way easier to keep track what's going on!

@John-Titor
Copy link

@lunohod Did you (or someone else) finish the D16 work? Your repo looks like you were still working on it...

@lunohod
Copy link

lunohod commented Jan 30, 2018

@John-Titor Well, it's still work in progress, but I got D16 working. It was a fast and dirty hack to make it work right before my vacations back in summer. I just replaced D8 with D16, no telemetry, no binding. Right now I'm working on making both D8 and D16 work, gimme a week and I'll upload something working.

@John-Titor
Copy link

Thanks! I have to wait for my cc2500 module to show up, so no rush.

@lunohod
Copy link

lunohod commented Feb 2, 2018

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

No branches or pull requests