Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

windows betaflight usb cli matekf411 gamepad emax tinyhawk rtf issue

A topic by DallasRob created Jan 27, 2019 Views: 1,692 Replies: 5
Viewing posts 1 to 4

Hello.

Sorry about the weird title but I think that it will help future searchers since I don't see a way to enter tags.

I'm trying to get a EMax Tinyhawk RTF system working with FPV Freerider.

Being an RTF bundle the controller is simplistic so I'm connecting it to windows via the Betaflight cli usb interface using Oscar Liang's instructions.  Windows sees the controller as a MATEKF411 gamepad and all appears well in the gamepad properties.  All six channels work as expected in the testing tool.  This is true on both  windows 7 and windows 10 machines.  No other 3rd party gamepad drivers are loaded on either machine.

Freerider sees the controller but during the calibration phase, the little circles appear to jump around instead of moving smoothly.  To me this seems like the same problem that the Taranis 9D has (the -100 to 100 issue) but I am unable to confirm that.

The controller works as expected in Velocidrone but Velocidrone kinda stinks.

I'm happy to help debug in any way that I can.

Regards,

Rob

Developer

Yes, it sounds like it could be the same issue as with the Taranis X9D. On the Taranis it is pretty simple to change the endpoints to work with Freerider but I guess there is no such possibility with your RTF transmitter.

What might work is to change the endpoints in the Betaflight CLI using the rxrange command. Not sure if it will help (or if it will be a practical solution even if it would help) but it could be worth a try. 

There is more info on how to adjust endpoints in Betaflight here (towards the end of the post) : https://oscarliang.com/adjust-tx-channel-mid-end-point/

I realized that I forget to update this.  Sorry for doing this so late.

Thanks for the reply.

I bought a Taranis X9D+ and can confirm that the Betaflight CLI usb interface acts the same way as the X9D does without changing the endpoints.

I agree that changing the endpoints in Betaflight wouldn't be very practical since I'd have to flash the whoop each time I wanted to do this and flash back afterwards.  It's a bit sad since I was hoping to use this as a controller for the kids to use to keep them away from the Taranis.

This isn't meant to be a dis in any way but isn't this an issue with your input code?  Calibration is supposed to show which input is what and what range of values they supply.  I notice that your calibration routine only looks at one value per axis so I have to assume that it assumes that the input's range of value is always 0 to 100.  Turns out that's a bad assumption.

I know it's sometimes scary to get in there and change things but is it really that bad?  Couldn't the input code do the range translation before it sends the data to your sim?  That would excise this wart on what otherwise is a beautiful piece of software.

Anyway I purchased and threw in a tip figuring that even at twice the price it was inexpensive.

Thanks for sharing your software,

Rob

Developer

Thank you for the information. I use Unity's built in input manager, which, with the benefit of hindsight, probably wasn't the best idea (since I've learned that Unity's input system is, well, know not to be the best to put it that way). (Unity is the engine I use for development). If I had known this when I first started out developing the sim I would probably have looked into other alternatives. The way it is now, I can only read the values that come through the Unity input manager. Therefore it is not some thing I can change in my own code. I would need to change to a completely different input system. I am hesitant to do that now, since if I did it might fix the issue that you describe, but it might instead cause other unexpected issues to people who now has their setup working perfect.

What do you mean by "noticed that your calibration routine only looks at one value per axis"? (The row of little circles above the OK button when going though the calibrate controller procedure shows the values exactly as I see them in the input manager).

Could this be done with throttle scaling in Betaflight CLI, and possibly made automatic using whatever technique the Tinyhak 2 uses to switch profiles between 1S and 2S batteries (assuming it could also detect the absence of a battery)?   My boys and I are new to the hobby and the Tinyhawk controller is all we have right now. We'd really like to get this to work if possible. 

Developer

I wouldn't get my hopes up for the throttle scaling unfortunately. All four control channels would need to be altered, and in addition to being scaled they also need to be moved (to go from 0 to +100 instead of -100 to +100). Sorry I couldn't give a more hopeful reply at this time.