WT588D's BUSY output - Kyuchumimo/Micro-Joy-Home-Video-Computer GitHub Wiki
The WT588D voice module has an output pin called BUSY. This pin is used to know if an voice is currently being played. It is useful to play voice sequences one after another without interruptions and without needing to know their duration.
The BUSY pin status is activated (it's status can be configured as low or high) after sending data.
According to the data sheet, the BUSY pin status response time occurs after 20 ms, however, during testing, it was observed that this time is actually 32 ms or two 1/60 frames.
Example
# play all WT588D 220 voices one after another using one-line serial port mode, busy LOW
for i in range(220):
voice.send_oneline(i) # voice playback command
time.sleep_ms(32) # wait for BUSY response
while not busy.value(): # wait for the current voice to finish playing.
pass
time.sleep(0.3) # time separation between voices