public void Dispose()
{
this.connections.ForEach(tt =>
{
Task.Run(async () => await tt.Item1.StopAsync()).Wait();
});
this.connections.Clear();
if (this.fmodSystem != null)
this.fmodSystem.Dispose();
foreach (var serialPort in this.serialPorts.Values)
serialPort.Close();
}