Is there an easier way to do all of this?

I updated my first link with commented code. My packet structure and modes are at the bottom. Yes the only differences in the "Sorts" and "do's" are the arrays that they reference. How could I use a single two-dimensional array, when the data will differ between the channels? I also don't understand what you meant by tables. Examples would be simply amazing...