nhknhk, на скорую руку, не вникал толком, особо не чистил - работает или не?
Из изменений - исправил пины на PA_2, PA_0, номера лучше использовать из PinNames.h, а не свою, убрал почти весь вывод отладки и чуть поправил логику переключения вход\выход, ну и снес все, что касается библиотеки...