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

Define a new Servo 2.0 interface that is decoupled from AnalogWrite #78

Open
soundanalogous opened this issue Dec 24, 2016 · 4 comments

Comments

@soundanalogous
Copy link
Member

soundanalogous commented Dec 24, 2016

The current Servo interface uses the Firmata Analog message to set it's value. This creates tight coupling between ServoFirmata and AnalogWrite and AnalogOutputFirmata.

We need a new Servo interface that uses Sysex. Does anyone have an opinion on changes to the existing firmata servo interface?

@dtex
Copy link
Contributor

dtex commented Jan 2, 2017

I would like to see multiServo that allows me to pass a position for each member in a group of servos in a single message (see multiStepper).

@rwaldron
Copy link

rwaldron commented Jan 9, 2017

Ability to write in degrees or µsec (the latter is nice for high resolution writing)

It just occurred to me that I think EXTENDED_ANALOG provides this

@dtex
Copy link
Contributor

dtex commented Jan 9, 2017

Also worth noting that not all servos are 180 degrees so you'd have to be able to pass in the physical range of the servo as part of a configuration command in firmata. If that happens, I want to be able to specify radians as a configuration option because radians are better than degrees for IK work. Having to convert back and forth slows things down.

@zoooofu
Copy link

zoooofu commented Jan 12, 2017

I would suggest to add an optional feature ID for servo usage, SERVO_OPERATION for example. Like what I2C_REQUEST having done, the existing servo interface servoWrite(pin, degree) would be one mode of it. However, servoWrite() function can only make servo move as we requesting, we also need to know the state of servo in some cases. So, I think it would be nice to add servoRead() function, which would be one mode of SERVO_OPERATION as well.

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

No branches or pull requests

4 participants