so far things are going well on the 'high level' side. i'm working hard to build every function to recurse into a programming state. this means we don't really care if we're in a mode 5 loop or if the ecm is unlocked, if we call a programming function, it'll deal with that. i just sent a mode 6 request and it managed to recurse into an unlocked state and send the request. this kind of logic will be invaluable for automatic recovery.