Willkommen bei dieser Einführung zum CC2650-LaunchPad und zu den Cloud Development- Tools auf dev.ti.com. Sie erfahren hier, wie sich das LaunchPad programmieren und debuggen lässt und wie Sie mit einem Mobilgerät über Bluetooth mit dem LaunchPad interagieren. Das Projekt, mit dem wir das LaunchPad programmieren, heißt Project Zero. Dies ist eine einfache Anwendung, mit der Sie die LEDs steuern und den Tastenstatus abfragen können. Wir werden dabei mehrere Tools verwenden. Zunächst das LaunchPad selbst und dann TI Resource Explorer zum Zugriff auf die Anleitungen und zum Programmieren des LaunchPad mit einem Image des Projekts. Nach dem Programmieren verwenden wir Putty, um die Protokollausgabe des Bausteins anzuzeigen, und die App BLE Scanner für Android, um die Verbindung herzustellen und mit dem LaunchPad zu interagieren. Schließlich verwenden wir die CCS Cloud-IDE, um die Quellcodedateien des Projekts zu erstellen und das Projekt im Browser zu debuggen. Zunächst besuchen wir die Website dev.ti.com. Dort befindet sich der Link zum Resource Explorer. Wir öffnen den Ordner CC26xx Bluetooth Smart Project > Development Tools > LAUNCHXL > Documents. Hier finden wir die Anleitung für Project Zero. Auf dieser Seite werden die Voraussetzungen sowie die Schritte zum Programmieren des Bausteins und zum Verbinden mit Ihrem Mobilgerät beschrieben. Außerdem sind Links zu anderen Ressourcen in Resource Explorer und ein Link zu den Quelltextdateien mit einer Beschreibung vorhanden. Sehen wir uns zunächst die Schritte unter „Getting Started“ an. Der erste Schritt besteht darin, das LaunchPad an den Computer anzuschließen. Das haben wir bereits getan. In Schritt zwei wird das LaunchPad durch Klicken auf die Schaltfläche im Abschnitt „Sources“ programmiert. In Schritt drei wird das Tool Putty ausgeführt und eine Verbindung mit dem LaunchPad hergestellt. Wenn wir nach unten zum Abschnitt „Sources“ blättern, sehen wir dort die Schaltfläche. Wir klicken darauf. Das Image wird heruntergeladen. Wenn der Debugger tatsächlich verbunden ist, sollte die LED rot blinken. Der Vorgang ist abgeschlossen. Um die Ausgabe anzuzeigen, drücken wir die Reset-Taste neben dem USB-Kabel. Hier sind die in Putty angezeigten Meldungen zu sehen. Bei genauerer Betrachtung können wir erkennen, dass die Tasks initialisiert werden, der Bluetooth-Name eingerichtet wird, die Bluetooth-Dienste konfiguriert werden und der Name gesendet wird. Da das Gerät jetzt betriebsbereit ist und Bluetooth anbietet, können wir im letzten Schritt mit einem Mobilgerät eine Verbindung mit dem Launchpad herstellen. In der Anleitung wird dazu die Android-App BLE Scanner verwendet. Wir haben diese bereits heruntergeladen. Jetzt starten wir die App. Die App sucht automatisch nach Geräten in der Nähe. Wir suchen nach Project Zero und tippen auf „Connect“. Nach dem Verbinden werden alle Dienste angezeigt. Nun sehen wir uns in Schritt drei die drei benutzerdefinierten Dienste an. Diese haben ziemlich seltsame Namen, da BLE Scanner unsere Dienste nicht bekannt sind. Wir können aber die Dienste anhand ihrer UUID erkennen. Wenn wir uns nun den Dienst Nr. 1 anschauen, beginnt die UUID mit F000, gefolgt von 110. Dies ist der LED-Dienst. Der nächste Dienst hat die UUID F0001120. Dies ist der Tastendienst. Der dritte Dienst 1130 ist der Datendienst. Da wir dies nun wissen, schalten wir in Schritt vier die LEDs ein, indem wir den ersten Dienst 1110 verwenden. Wir erweitern den Dienst. Wir suchen nach dem ersten Merkmal und tippen auf „Write“. Wir möchten ein Byte-Array schreiben. In diesem soll der Wert 01 übertragen werden. Wenn wir einen Blick auf das LaunchPad werfen, stellen wir fest, dass momentan keine LED auf der rechten Seite leuchtet. Aber sobald wir 01 senden, leuchtet eine LED. Wir können im Putty-Terminalfenster sehen, dass LED 0 eingeschaltet wird. Nun machen wir das gleiche mit LED 1. Dazu senden wir in einem Byte-Array ebenfalls den Wert 01. Jetzt leuchten beide LEDs, und das Einschalten wird im Terminalfenster gemeldet. Der letzte Schritt der Anleitung ist ein Bonus. Hier legen wir fest, dass bei Tastenbetätigungen Benachrichtigungen gesendet werden. Lassen Sie uns das jetzt tun. Der Tastendienst ist der zweite benutzerdefinierte Dienst, F0001120. Es gibt die zwei benutzerdefinierten Merkmale „button 0“ und „button 1“. Beide können gelesen werden. Wenn wir auf „R“ tippen, wird der Wert 0 angezeigt. Tippen wir bei gedrückter Taste auf „R“, lautet der Wert 1. Um diesen Wert abzurufen, ohne durch Tippen auf „R“ eine Leseanforderung über Bluetooth zu senden, können wir die Benachrichtigungen durch Tippen auf „N“ aktivieren. Wenn wir nun die Taste drücken, wird der Wert in der App automatisch aktualisiert. Das war der erste Teil, in dem lediglich die ersten Schritte in Resource Explorer behandelt wurden. Abschließend werden wir Project Zero in die CCS Cloud-IDE importieren. Dazu wechseln wir zurück zu Resource Explorer, und suchen nach den Projektdateien von Project Zero. Wir wählen das Projekt ProjectZeroApp aus und klicken auf die Schaltfläche zum Importieren in CCS Cloud. Nach dem Importieren werden zwei Projekte im Arbeitsbereich angezeigt: ProjectZeroApp und ProjectZeroStack. Das Projekt ProjectZeroStack ist der Protokollstack und muss für jedes Projekt, an dem Sie arbeiten, nur einmal heruntergeladen werden. Das Projekt ProjectZeroApp, können Sie nach jeder Änderung herunterladen. Nun muss zuerst das Projekt ProjectZeroStack auf das LauchPad heruntergeladen werden. Wählen Sie es aus und klicken Sie oben im Bildschirm auf die Schaltfläche „Run“, um es zu erstellen und auf das Gerät herunterzuladen. Wählen Sie danach das Projekt ProjectZeroApp aus und klicken Sie auf die Schaltfläche „Debug“, die nun eine Stoppschaltfläche ist, da der Vorgang bereits gestartet wurde. Nach Abschluss des Vorgangs wird der Debugging-Modus aktiviert. Die erste Zeile in der Funktion „main“ ist gelb unterlegt, woran zu erkennen ist, dass das Projekt gestartet werden kann. Wenn wir nun oben rechts auf die Schaltfläche „Run“ klicken, wird die Ausführung gestartet. An den Meldungen im Terminalfenster ist zu erkennen, dass sich das LauchPad wieder im früheren Status befindet und seinen Gerätenamen sendet. Nun kann die Verbindung mit dem Mobilgerät hergestellt werden. Wir können jetzt wie zuvor die LEDs einschalten. Um Ihnen weitere Möglichkeiten von CCS Cloud zu zeigen, sehen wir uns die Ausgabe etwas näher an. Es wird gemeldet, dass in Zeile 847 von ProjectZero.c LED 0 eingeschaltet wird. Wenn wir uns diese Zeile in ProjectZero.c ansehen, stellen wir fest, dass dies die Protokollausgabe ist. In der Zeile davor befindet sich die Funktion PIN_setOutputValue , die den LED-Status anhand des Werts der Variablen „pChartData, data0“ festlegt. Wir müssen nun einen Haltepunkt in dieser Zeile setzen und wieder einen Wert an die LED senden. Wir setzen den Haltepunkt, indem wir neben der Zeile doppelklicken. Danach senden wir erneut einen Wert an die LED. Die LED leuchtet dann wieder. Wenn wir jetzt zurückkehren, sind keine Meldungen im Terminalfenster zu sehen. Wechseln wir zurück zur IDE, stellen wir fest, dass die Ausführung in der ausgewählten Zeile angehalten wurde. Jetzt geht es darum, den Wert von „pChartData, data0“ in das LED-Pin-Register zu schreiben. Auf der rechten Seite werden alle Variablen angezeigt, die derzeit aktiv sind. Beim Zoomen sehen wir, dass das erste Byte von „pChartData, data0“ 01 ist. Diesen Wert haben wir geschrieben. Jetzt ändern wir einmal diesen Wert in 0, damit die LED ausgeschaltet statt eingeschaltet wird. Dazu Doppelklicken wir auf den Wert und geben den neuen Wert 0 ein. Danach starten wir die Ausführung wieder mit der Schaltfläche „Run“. Wenn wir die Ausgabe im Terminalfenster prüfen, stellen wir fest, dass LED 0 ausgeschaltet wird, wohingegen der Wert 1 war. Und wir können erkennen, dass die LED eingeschaltet wurde. Damit ist diese kurze Demonstration der CCS Cloud-IDE abgeschlossen.