software serial .available() gives inconsistent behavior