int playBeep (unsigned short frequency, unsigned int duration) { if (asynchronousBeep(frequency, duration*4)) { asyncWait(duration); stopBeep(); return 1; } if (startBeep(frequency)) { asyncWait(duration); stopBeep(); return 1; } return synchronousBeep(frequency, duration); }
static int beeperPlay (NoteDevice *device, unsigned char note, unsigned int duration) { logMessage(LOG_DEBUG, "tone: msec=%d note=%d", duration, note); if (!note) { accurateDelay(duration); return 1; } if (asynchronousBeep(getIntegerNoteFrequency(note), duration*4)) { accurateDelay(duration); stopBeep(); return 1; } if (startBeep(getIntegerNoteFrequency(note))) { accurateDelay(duration); stopBeep(); return 1; } return synchronousBeep(getIntegerNoteFrequency(note), duration); }