Servos
This is the current proposal for adding Servo support based on feedback from Bjoern Hartmann, Shigeru Kobayashi, and Erik Sjodin. The core idea is to just add a "config" message, then use the
SET_PIN_MODE
message to attach/detach Servo support to a pin. This is how hardware PWM is currently handled. This would save space in the protocol by reusing theSET_PIN_MODE
message, but the host software implementation could have a different interface, e.g. Arduino'sattach()
anddetach()
.minPulse, maxPulse, and angle are all 14-bit unsigned integers. Angle is in degrees. The
SERVO_CONFIG
can be sent at any time to change the settings./* servo config * -------------------- * 0 START_SYSEX (0xF0) * 1 SERVO_CONFIG (0x70) * 2 pin number (0-127) * 3 minPulse LSB (0-6) * 4 minPulse MSB (7-13) * 5 maxPulse LSB (0-6) * 6 maxPulse MSB (7-13) * 7 angle LSB (0-6) * 8 angle MSB (7-13) * 9 END_SYSEX (0xF7) */This is just the standard
SET_PIN_MODE
message:/* set digital pin mode * -------------------- * 1 set digital pin mode (0xF4) (MIDI Undefined) * 2 pin number (0-127) * 3 state (INPUT/OUTPUT/ANALOG/PWM/SERVO, 0/1/2/3/4) */Then the normal
ANALOG_MESSAGE
data format is used to send data./* write to servo, servo write is performed if the pins mode is SERVO * ------------------------------ * 0 ANALOG_MESSAGE (0xE0-0xEF) * 1 value lsb * 2 value msb*/
regardsINIT
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
FOUND_XBEE