Add support for this proposed format that Digitrax, NCE, and Soundtraxx are using to implement playable whistle, usually on function 127.
http://www.nmra.org/standards/DCC/WGpublic/9910241/9910241.html
The typical send protocol is: DHI=0x0, IM1=0x3c, IM2=0x3d, IM3=0x7f, IM4=0x0, IM5=0x0 where IM4 can range from 0-127 for Digitrax, or 255 as per the NMRA proposal.
Consider adding a function like PacketScheduler::setAnalogFunction(uint16_t address, uint8_t channel, uint8_t value) Also add a mechanism to set a flag for the range ( [0..127] or [0..255] ) or just handle that before passing the byte if Digitrax sound decoder compatibility is required.