Das hier
string ServerProcess::getTextData()
{
ostringstream text;
double dVoltage = this->mExtension->readVoltage();
text << "Voltage" << dVoltage << "\n";
return text.str();
}
macht Probleme, wenn gleichzeitig die Display-Routingen bzw. zur Zeit die Main Schleife mit der debug-Ausgabe auf die I2C-Hardware zugreift. Insb. da für die Spannungsmessungen erst ein Multiplexer richtig umgeschaltet werden muss. Da kann bei nicht geblocktem Zugriff nur Mist ergeben.
Lösungen:
- Gegenseitige Versperrung? "Lock-File" als Variable? (Könnte Ärger machen)
- Sonst einen Daten-Sammler-Thread der die Daten bereit stellt? Ist vielleicht das beste. In der Main-Schleife werden die Messwerte aktualisiert und in lok. Variablen gespeichert. Auf diese greift dann bei Bedarf das Display bzw. der TCP-Server zu.
Das hier
string ServerProcess::getTextData(){ostringstream text;double dVoltage = this->mExtension->readVoltage();text << "Voltage" << dVoltage << "\n";return text.str();}macht Probleme, wenn gleichzeitig die Display-Routingen bzw. zur Zeit die Main Schleife mit der debug-Ausgabe auf die I2C-Hardware zugreift. Insb. da für die Spannungsmessungen erst ein Multiplexer richtig umgeschaltet werden muss. Da kann bei nicht geblocktem Zugriff nur Mist ergeben.
Lösungen: