Stap 9: Debugging de Firmata van de Arduino schets - met behulp van sendString en drukwerk
Omdat Firmata maakt gebruik van de seriële interface van de Ardiuno, kan niet de Arduino IDE seriële monitor worden gebruikt op hetzelfde moment die firmata wordt uitgevoerd. Dit maakt het debuggen van een Firmata Sketch moeilijk om te doen.
Zowel StandrardFirmata als FirmataPlus implementeren de sendString-methode. Deze methode tekenreeksgegevens pakketten en stuurt het naar de client als onderdeel van STRING_DATA SysEx bericht. Wanneer PyMata een STRING_DATA SysEx-bericht ontvangt, drukt het inhoud van het bericht naar de Python-console.
Wij willen soms wel, de huidige waarde van een interne schets variabele vergezeld van een aanduiding voor een soort afdrukken. FirmataPlus aan de redding! De functie van drukwerk een id-tekenreeks en een gegevenswaarde als de invoerparameters accepteert, en elk als STRING_DATA-berichten verzendt naar de client. PyMata geeft de debug-informatie aan de console van de Python debugging een beetje gemakkelijker te maken.
Hier is de code van de FirmataPlus voor drukwerk:
void printData(char * id, long data) { char myArray[64] ; String myString = String(data); myString.toCharArray(myArray, 64) ; Firmata.sendString(id) ; Firmata.sendString(myArray); }