Implemented most of the basic functionality, ChangeBaudrate and different Baudrates still not supported