@@ -218,6 +218,7 @@ const
218218 * message.
219219 * @param pin The analog pin to which the value is sent.
220220 * @param value The value of the analog pin (0 - 1024 for 10-bit analog, 0 - 4096 for 12-bit, etc).
221+ * @note The maximum value is 14-bits (16384).
221222 */
222223void FirmataMarshaller::sendAnalog (uint8_t pin, uint16_t value)
223224const
@@ -226,7 +227,7 @@ const
226227
227228 if ( (0xF >= pin) && (0x3FFF >= value) ) {
228229 FirmataStream->write (ANALOG_MESSAGE|pin);
229- transformByteStreamToMessageBytes (sizeof (value), reinterpret_cast <uint8_t *>(&value), 2 );
230+ transformByteStreamToMessageBytes (sizeof (value), reinterpret_cast <uint8_t *>(&value), sizeof (value) );
230231 } else {
231232 sendExtendedAnalog (pin, sizeof (value), reinterpret_cast <uint8_t *>(&value));
232233 }
@@ -313,7 +314,11 @@ const
313314void FirmataMarshaller::sendPinStateQuery (uint8_t pin)
314315const
315316{
316- sendSysex (PIN_STATE_QUERY, sizeof (pin), &pin);
317+ if ( (Stream *)NULL == FirmataStream ) { return ; }
318+ FirmataStream->write (START_SYSEX);
319+ FirmataStream->write (PIN_STATE_QUERY);
320+ FirmataStream->write (pin);
321+ FirmataStream->write (END_SYSEX);
317322}
318323
319324/* *
0 commit comments