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

Does FAKE_SERVO need an alert when activating. #531

Open
blurfl opened this issue Aug 29, 2019 · 9 comments
Open

Does FAKE_SERVO need an alert when activating. #531

blurfl opened this issue Aug 29, 2019 · 9 comments
Labels

Comments

@blurfl
Copy link
Collaborator

blurfl commented Aug 29, 2019

It's been less than a week, and a user has gotten into "FAKE_SERVO" mode without realizing it.

I though that requiring a meta key to turn the function on, and printing the state would be enough to avoid inadvertent entry and indicate the change, but I may be wrong.

One option would be to put up a message box on entering the mode, with a note about how to get back out. That's complicated by the fact that the firmware controls the text of the message but cannot know the key used to trigger the state. Too, having that message box appear isn't needed for the intended user of "FAKE_SERVO" mode, only for explorers.

Another option would be to add a switch to the GC settings to enable the FS option. That would further protect against inadvertent activation through GC.

Other options? Is a 'fix' necessary?

@BarbourSmith
Copy link
Member

Hmmm tricky. What about a warning message that pops up if GC is launched in fake server mode? That might be easier to impliment and give folks a heads up about what might be going on

@blurfl
Copy link
Collaborator Author

blurfl commented Aug 29, 2019

How hard would it be f\or GC to know its just launched connected and capture the "FAKE_SERVO ON" text from there firmware? Wish GC had a startup connect macro sequence...

@madgrizzle suggested having a switch to enable it, separate from the choice of character. That has been pretty easy to set up:
Screen Shot 2019-08-29 at 12 33 53 PM

What do you think about that? A refinement might be that the 'FAKE_SERVO_OFF' key always works to shut it off, but the '...ON' key only works if the '...allowed' setting permits.

@madgrizzle
Copy link
Contributor

I think you could capture that message in a couple places in ground control. I think either in serialThread or the logger. Just do a string comparison on every string that arrives and then do what you want with it. I might do something like that in webcontrol and put up an icon to alert the user its in fake_servo mode.

As for your refinement, if for some reason you are in fake_servo and then disallow that mode, ideally it would put the controller out of fake_servo (issue the B99 OFF command). But then you have to monitor settings and seems like a lot of work. I suggest, as you suggested, that you should be able to exit fake_servo mode even if fake_servo is disallowed, but only enter it if fake_servo is allowed.

@blurfl
Copy link
Collaborator Author

blurfl commented Aug 29, 2019

Part of the issue comes from having the setting persist over restarts. If that was removed, GC wouldn't need to watch and alert.

@blurfl
Copy link
Collaborator Author

blurfl commented Aug 29, 2019

@madgrizzle, is having the setting persist over restarts a requirement for your use? This would be deafer safer without that...

@madgrizzle
Copy link
Contributor

So... if you are referring to something in groundcontrol, then don't worry about me.. I don't use GC. But if you are asking if the firmware should revert back to 'off' mode when it restarts, I think that would be problematic for me. When I develop, I stop and start webcontrol many, many times and it would be rather annoying to have to put it into fake_servo mode every time.

@madgrizzle
Copy link
Contributor

I think if someone 'allows' fake_servo mode to be enabled, then any issue they have is their own doing. So putting in that switch, in my opinion, is good enough. Don't try make it so idiot-proof that it defeats the purpose of doing it in the first place.. if you follow.

@blurfl
Copy link
Collaborator Author

blurfl commented Aug 29, 2019

I think I can tighten up the EEPROM test, using some value other than '1' to indicate FS mode. Any suggestions?

@madgrizzle
Copy link
Contributor

Not sure what you are referring to.. but if you want another number to use, 42 is the ultimate answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants