updated for new gcc versions and fixed critical bug
fixed: usb data pins swapped