Rig Control (Technik)

Technisch ist diese App recht unspektakul├Ąr. Allerdings verwende ich Googles aktuellste Komponenten und sammle so weitere Erfahrungen im Einsatz mit ihnen: Das ConstraintLayout ist zwar noch nicht die Produktionsversion, aber auch die frische erste Beta funktioniert pr├Ąchtig nachdem auch die Alpha-Versionen bei mir ohne Probleme liefen. RecyclerViews haben bei mir jetzt die ListViews verdr├Ąngt, nachdem ich einen generischen Adapter (-> MultiselectAdapter) geschrieben habe, der die ListViews mit Cursors und ArrayLists als Datenquellen verheiratet und auch den Actionmode den ich bei den ListViews zu sch├Ątzen gelernt habe, jetzt auch den RecyclerViews zur Verf├╝gung stellt. Das alles gepaart mit der Databinding-Library die zum Einen den Codeaufwand reduziert und zum Anderen auch das MVVP Pattern stark beg├╝nstigt was der Code-Qualit├Ąt bestimmt nicht abtr├Ąglich ist. ;-)

Bei der Anbindung der Transceiver gibt es ja wohl unz├Ąhlige Kombinationsm├Âglichkeiten. Ich kann nat├╝rlich nicht alle Kombinationen testen - dazu fehlt mir die Hardware (und auch die Zeit ;-) ). Die ├ťbertragungart (Bluetooth oder USB) ist unabh├Ąngig vom Transceiver-Modell so da├č eigentlich jeder von der App unterst├╝tzte Transceiver auf beiden ├ťbertragungsarten funktionieren sollte sobald man ein geeignetes Interface dazwischen schaltet.

F├╝r die Anbindung ├╝ber Bluetooth ben├Âtige ich nur das SPP-Protokoll bei der Bluetooth-Verbindung. Alle Bluetooth-Interfaces, die dieses Protokoll unterst├╝tzen sollten also einsetzbar sein.

Zu den Libraries:

F├╝r die USB-Anbindung greife ich auf die USBSerial Library von Felipe Herranz zur├╝ck. Sie wird aktuell wohl noch gepflegt, ist im Zweifel auch als Quellcode zu bekommen und unterst├╝tzt die g├Ąngigen USB-seriell Wandlerchips. (Zumindest die bei mir auftauchenden FTDI aus dem SB-2000 und CP2102 aus dem TH-D72). Die Baudrate habe ich erst einmal fest auf 9600 Baud programmiert.

ACRA verwende ich, wie in allen meinen Projekten f├╝r die Fehlerverwaltung falls die App mal abst├╝rztt

OKIO wurde aus OKHTTP abgespalten. Das Konzept dieser Familie von Libraries gef├Ąllt mir aber sehr, so da├č ich mehr mit diesen Komponenten machen will. Hier verwende ich OKIO f├╝r die Kommunikation mit den Transceivern. Seine gepufferte Kommunikation und das flexible Auslesen von Werten unterschiedlichster Typen aus den Puffern machen es zur Library der Wahl f├╝r mich.

OpenCSV wird f├╝r den Im- und Export der Werte verwendet.

ACRA http://www.acra.ch
OKio https://github.com/square/okio
OpenCSV http://opencsv.sourceforge.net/
USBSerial https://github.com/felHR85/UsbSerial