Hi,
für die serielle Kommunikation mit einem Atmel µC verwende ich USBSerial in einem Service.
Klappt auch soweit prima, allerdings bricht hin und wieder die Kommunikation ohne erkennbaren Grund ab, das bedeutet, die NewData ISR wird nicht mehr ausgelöst, obwohl bis zum CP2102 Daten vom µC gesendet werden. Es gibt hier scheinbar ein Problem seitens Android mit einem reconnect.
Wird die App geschlossen und erneut geöffnet, funktioniert alles wieder bestens.
Da die seriellen Daten geloggt werden müssen bin ich auf eine fortlaufend lange Kommunikation angewiesen.
Den Service und die USB connection zu schließen und erneut zu öffen führt nicht zum Erfolg.
Die Idee ist nun, eine kleine 'Comm-App' (eigentlich nur ein Service) zu verwenden, die nur die Kommunikation erstellt und die Daten einer anderen, der 'Master-App' zur Verfügung stellt.
Die Master-App könnte bei einer Unterbrechung der Kommunikation die Comm-App schließen und erneut öffnen, so dass die Kommunikation wieder funktioniert.
Die Frage ist, wie kann ich am einfachsten den Datenaustausch zwischen beiden Apps bewerkstelligen.
Ist es möglich, dass die Master-App auf Variableninhalte der Comm-App direkten Zugriff bekommt?
Also ähnlich wie bei einem µC, da könnte eine feste Speicheradresse mit Daten beschrieben werden und von einem anderen Prozess ebenfalls gelesen/beschrieben werden.
Es dreht sich um den Austausch in beide Richtungen eines Strings, Länge max. 50 Bytes, 1x je Sekunde.
Die Variante mit Intents habe ich gelesen, erscheint mir aber recht aufwändig.
Ich bin recht neu in der Android-Welt und bitte um Nachsicht für vielleicht dämliche Fragen.
Grüße und vielen Dank, harry
für die serielle Kommunikation mit einem Atmel µC verwende ich USBSerial in einem Service.
Klappt auch soweit prima, allerdings bricht hin und wieder die Kommunikation ohne erkennbaren Grund ab, das bedeutet, die NewData ISR wird nicht mehr ausgelöst, obwohl bis zum CP2102 Daten vom µC gesendet werden. Es gibt hier scheinbar ein Problem seitens Android mit einem reconnect.
Wird die App geschlossen und erneut geöffnet, funktioniert alles wieder bestens.
Da die seriellen Daten geloggt werden müssen bin ich auf eine fortlaufend lange Kommunikation angewiesen.
Den Service und die USB connection zu schließen und erneut zu öffen führt nicht zum Erfolg.
Die Idee ist nun, eine kleine 'Comm-App' (eigentlich nur ein Service) zu verwenden, die nur die Kommunikation erstellt und die Daten einer anderen, der 'Master-App' zur Verfügung stellt.
Die Master-App könnte bei einer Unterbrechung der Kommunikation die Comm-App schließen und erneut öffnen, so dass die Kommunikation wieder funktioniert.
Die Frage ist, wie kann ich am einfachsten den Datenaustausch zwischen beiden Apps bewerkstelligen.
Ist es möglich, dass die Master-App auf Variableninhalte der Comm-App direkten Zugriff bekommt?
Also ähnlich wie bei einem µC, da könnte eine feste Speicheradresse mit Daten beschrieben werden und von einem anderen Prozess ebenfalls gelesen/beschrieben werden.
Es dreht sich um den Austausch in beide Richtungen eines Strings, Länge max. 50 Bytes, 1x je Sekunde.
Die Variante mit Intents habe ich gelesen, erscheint mir aber recht aufwändig.
Ich bin recht neu in der Android-Welt und bitte um Nachsicht für vielleicht dämliche Fragen.
Grüße und vielen Dank, harry