nonblocking for higher framerates implemented, auto restart of disconnected and reconnected device, connection device callbacks