Merging the code and simplify the program

I realized that the code was too complicated to use. So I decided to
make the code simpler so that we have more flexibility. So now the PC
controller will transfer value on a channel first then data basis. This
way, if we are going to write a external port program it will be easier.
The goal of this commit is to reduce the amount of code being executed
at the DMX controller since that might contribute to communication
delays.