@@ -218,6 +218,7 @@ const
218
218
* message.
219
219
* @param pin The analog pin to which the value is sent.
220
220
* @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).
221
222
*/
222
223
void FirmataMarshaller::sendAnalog (uint8_t pin, uint16_t value)
223
224
const
@@ -226,7 +227,7 @@ const
226
227
227
228
if ( (0xF >= pin) && (0x3FFF >= value) ) {
228
229
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) );
230
231
} else {
231
232
sendExtendedAnalog (pin, sizeof (value), reinterpret_cast <uint8_t *>(&value));
232
233
}
@@ -313,7 +314,11 @@ const
313
314
void FirmataMarshaller::sendPinStateQuery (uint8_t pin)
314
315
const
315
316
{
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);
317
322
}
318
323
319
324
/* *
0 commit comments