fishpepper / OpenGround

frsky compatible opensource firmware for the flysky fs-i6s
GNU General Public License v3.0
84 stars 30 forks source link

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

Closed andymac4182 closed 7 years ago

andymac4182 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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

maymayday90 commented 8 years ago

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

maymayday90 commented 8 years ago

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 commented 8 years ago

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

andymac4182 commented 8 years ago

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 commented 8 years ago

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

fishpepper commented 8 years ago

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 commented 8 years ago

@fishpepper I have emailed that address now :)

cj1324 commented 8 years ago

@fishpepper

Does this project help you? https://github.com/tipouic/DIY-Multiprotocol-TX-Module/tree/flysky_afhds2a

add1ct3dd commented 7 years ago

Subbed

totterfree commented 7 years ago

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

jacobbloy commented 7 years ago

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 commented 7 years ago

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

jacobbloy commented 7 years ago

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

Tesla99 commented 7 years ago

I have the i6s. What do u need?

jacobbloy commented 7 years ago

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 commented 7 years ago

This pcb on the other side I guess https://static.rcgroups.net/forums/attachments/1/3/6/1/8/5/a9237516-44-image.jpg

jacobbloy commented 7 years ago

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 commented 7 years ago

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

maymayday90 commented 7 years ago

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

maymayday90 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

We are looking into it.

andymac4182 commented 7 years ago

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

jacobbloy commented 7 years ago

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 commented 7 years ago

Maymayday90 Can I connect the ppm out to my crossfire?

maymayday90 commented 7 years ago

Haven't checked this yet. Will try in the next day or two.

VR-69 commented 7 years ago

Ok perfect let me know :)

kevinlynn commented 7 years ago

Sent you an email about helping with the a7105 chip and getting afhds + afhds 2a out of an i6s / evo

Like most here I prefer frsky but there are so many toy drones that use the older flysky protocol(afhds) If afhds could be added to the evolution then you could use it to control many micro drones from Banggood. Since there's some code already available from the deviation folk and also the multi protocol module it seems like this should be easier than figuring out the protocol the hard way.

Thanks

DaveP2017 commented 7 years ago

Hi All

Well I've digged and I've dug, I've poked and I've prodded just about everything on the Evolution pcb and came up with zilch in the quest for anything resembling a ppm signal....

Which is probably why no one has posted their failure after all this time... I however have no pride so don't mind admitting defeat.

So an rx with ppm out connected directly to a 4 in 1 multi module looks the easy fudge at this time

https://www.youtube.com/watch?v=ez0ia-UhHdM

jacobbloy commented 7 years ago

So you tried the PD5 pin on the mcu? I'm getting the evolution in a couple of days but I feel like it is turned off in the firmware maybe the next thing is trying to get the i6s firmware loaded on the evolution.

andymac4182 commented 7 years ago

@jacobbloy The pin outs aren't identical between the two controllers. @fishpepper tested OpenGround and its similar but the ADC set up isn't the same.

jacobbloy commented 7 years ago

That's a bummer. But was worth a try. I guess it will take some more time. But I feel we will eventually have an open firmware for this transmitter that can have an external module.

DaveP2017 commented 7 years ago

So you tried the PD5 pin on the mcu?

Yes... pin 86 and also the other 99 as well, lol

andymac4182 commented 7 years ago

@jacobbloy It wouldn't take much to have this ported. I know there are a few people talking about it but no one that has actually done any work yet.

kevinlynn commented 7 years ago

Has anyone noted how to get the turnigy evolution into DFU mode? The i6s had pads you could jumper but the mt6 doesn't. MT6 also has a set of holes labeled H1 with a test pad that is looks to be labeled UPDATA that I haven't seen in the original board.

It looks like the BOOT0 pin (pin 94) no longer has those traces going to pad and would need to be jumped on the resistor pads. Has anyone done this?

andymac4182 commented 7 years ago

@kevinlynn I believe its the same as the i6s according to an email I received from @fishpepper.

kevinlynn commented 7 years ago

The i6s has a resistor on R59 just like the mt6 has. The only difference appears to be the pads (R60) on the i6s making it easier to jumper. I was really just asking because it would be nice if someone had traced it and found the pads elsewhere. I'm in the process of breaking out the pins to make it easy to work on this while the case is assembled and I'll admit that soldering onto smd components always makes me nervous. :)

fishpepper commented 7 years ago

Right, R59 is the same. One side of R59 goes to gnd, the other one goes to the boot pin. Make sure to pull that one high (3.3V).

DaveP2017 commented 7 years ago

Sorry to be going off of the original topic, but ...

@kevinlynn the smaller smd sizes always used to make me nervous until I got a roll of kapton tape and masked everything within a 'large' radius

kevinlynn commented 7 years ago

@fishpepper I'm confused, if I'm jumping R59 (BOOT0) with ground, if I pull 3.3v on the side of R59 that goes to boot0 then wont that cause a short?

Doesn't BOOT0 get 3.3v from powering up the radio once it's jumped?

@DaveP2017 - Thanks for the tip on the kapton tape. Don't you find it's hell to remove after you're done soldering?

kevinlynn commented 7 years ago

I think I get it. The stm32f072 discovery board has boot0 being enabled by jumpering between P2.5 (vdd) and P2.6 (boot0). So it's not a jumper across the resistor but from the boot0 to vdd.

DaveP2017 commented 7 years ago

@kevinlynn

The kapton peels away just fine if you don't hammer it onto the pcb, lol

but from the boot0 to vdd.

yes... and in the order of 3v ish ( section 4.7 in the st.com manual)

kevinlynn commented 7 years ago

Pinout of J4 on MT6: O | O | O | O | O --+-----+----+---+--- 3 | G | S | S | N v | N | W | W | R 3 | D | D | C | S | | I | L | T | | O | K |

It doesn't display well for that.. so let me try it sideways. :)


o - 3v3 | o - gnd | o - swdio | o - swclk | o - nrst | ___|

This seems to be what I'm getting when I'm tracing wires. I'll test the 3.3v once I power it back up and see if that's legit.

jacobbloy commented 7 years ago

Is the firmware you pulled off of the evolution?

kevinlynn commented 7 years ago

Yeah. It's the original firmware so it can't get lost.