update to firmware

made fading non-blocking, but I think it has some bugs
dealt with the issue of only having 4 functions