d-ronin / dRonin

The dRonin flight controller software.
http://dronin.org
Other
289 stars 167 forks source link

SPRacingF3, Dodo, TornadoF3: Modern acro board support #9

Closed fujin closed 8 years ago

fujin commented 9 years ago

All mentioned boards essentially run the spfr3 cleanflight. @jihlein has a branch in progress with naze32pro/dodo support. I spent a small amount of time adapting it to SPRacingf3. I also have some Tornadof3 here now which I believe runs the spfr3 as well, so potentially minimal modifications required.

The tornadof3 is my favorite of the bunch, no cp2102, signal llc buffer (unfortunately no ESC programming pass-thru), polulu 5v stepdown pin-out. It doesn't have sensors on SPI, so sensor bus detection may be required, or something.

tracernz commented 9 years ago

I'm personally not in favour of adding a whole lot of targets. The criteria for adding a new target should require it to offer something that existing boards do not. In this case the Sparky1 appears to be a superior design already. If we do add new targets it would ideally be in preference of/replace an existing target where possible.

fujin commented 9 years ago

This is basically just one commodity target with a few permutations of sensors. I feel like the *f3 boards are going to be pretty popular / widely available.

fujin commented 9 years ago

I was wrong, tornado f3 is a separate branch / hardware target. https://github.com/MotoLab/cleanflight/commit/1a9489f3af1330ed4d1812aa50005afd39c286ed apologies :)

tracernz commented 9 years ago

If we have a maintainer (@jihlein?) this may be viable. I'm sure we'll discuss it more on IRC before we make a decision. :D

jihlein commented 9 years ago

I have no issues supporting it, my port to the Dodo does however need some further work before it could be called ready for prime time (need to remove the bootloader). With a few minor changes, the Dodo target could also support the SPRacing board too.

I guess the biggest question is will anyone use it, is it worth the effort? I made the port for a neighbors son who liked what my Taulabs equipped Tricopter was capable of. He wasn't satisfied with "Cleanflight" on his Dodo board, and I couldn't help him thru the Cleanflight setup. Aiden is flying the Dodo with Taulabs pretty routinely and it seems to work well. I get a real kick out of helping him and his younger brother. Smart kids......

The Dodo/Taulabs capabilities were mentioned on the Dodo forum on RCGroups, but there was no further interest from other users. I don't know if that would change if it became an "official" target.

Thinking a little further, the Dodo port, minus the bootloader, gives back 16K of flash for other code features, and possibly frees up some heap space. This brings a little more capability to an F3 board as I ran out of flash space on the Naze32Pro while adding OpenLog support. I solved that by removing the support for NMEA GPS string decoding.......

jihlein commented 8 years ago

I was toying with the idea of renaming my Dodo port to F3racing. With a few small modifications to the sensors and their initializations, the port then could be used for the Dodo and both variants of the SPracing board.

tgreer commented 8 years ago

@jihlein I'm still curious about this... I have another board http://shop.myairbot.com/index.php/flip32f3aio-lite.html which gets flashed with the SPRF3 Hex under cleanflight, and has a MinimOSD on board also. It's a neat all in one board, would be good to have this supported :)

jihlein commented 8 years ago

@tgreer - I think the Dodo target in my "myNext" branch is very close.

It would need an update to not use the baro, and possibly to the oscillator frequency. Can you tell if the oscillator is 8 or 12 MHz?

I believe the rest of the IO is pin for pin compatible. The only exception is pwm outputs 3 and 4 do not work, as they are the USB pins, and I have not completed removing the bootloader. You can't use the bootloader as the USB pins are not hooked up though.

tracernz commented 8 years ago

If it wasn't for Naze flash size I'd almost be tempted to write a UART variant of the bootloader for these targets. :/

jihlein commented 8 years ago

@tgreer - I disabled the BMP280 in the Dodo target. I believe this should now run in the Flip32F3 board if it is truly SPRacingF3 compatible. You can find this test branch at:

https://github.com/jihlein/dronin/tree/flip32f3aio

Build and load the ef_dodo.hex file. Let me know if it works. The only issue I can think of is the oscillator might be the wrong frequency.

The branch is based off the latest next.

nathantsoi commented 8 years ago

awesome, has anyone tested this? cc @jihlein ?

jihlein commented 8 years ago

@nathantsoi - I don't believe the Flip32F3 branch has been tested by anyone. I do have a branch for the Dodo at: https://github.com/jihlein/dronin/tree/myNext. The Dodo target was put together for a friend of mine. An earlier version of it has been successfully flown. I'm not sure the latest version with all the latest merges from the last release though, as I don't have a board to test it on.

FWIW, both of the above mentioned targets were derived form my Naze32Pro branch, which I still actively fly.

mlyle commented 8 years ago

Closing-- we can evaluate targets on a case-by-case basis (just picked up RE1, picking up DTFc, have picked up Lux, so there's at least some progress in this area).