The main program synthesizes data and a periodic output-compare interrupt will output the data separated by a fixed time. a fifo queue is used to buffer data between a main program (e.g., main program calls fifo_put).