added callback on serialport open. Moved serialport init to bottom of constructor