This all could be much simpler with a lowl-vcom DTR function.