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); }
bool taskAccelerometerWork(bool likelyError) { int32_t accelerationX = abs(MMA0_GetX()); //(MMA0_GetX()/16384)*980665 int32_t accelerationY = abs(MMA0_GetY()); //100000 int32_t accelerationZ = abs(MMA0_GetZ()); int32_t sum = accelerationX + accelerationY + accelerationZ; // printf("Soma = %ld!\r\n", sum); if (likelyError) { if (!((accelerationX == accelerationY) && (accelerationY == accelerationZ))) { likelyError = 0; } } if (sum < 5000) { LEDBlue_SetVal(); LEDRed_ClrVal(); printf("QUEDA LIVRE!\r\n"); startBeep(); FreeRTOS0_vTaskDelay(500 / portTICK_RATE_MS); } else { LEDRed_SetVal(); LEDBlue_ClrVal(); stopBeep(); } return likelyError; }
void startError(void) { LEDBlue_SetVal(); LEDRed_SetVal(); stopBeep(); printf("start Error!\r\n"); FreeRTOS0_vTaskResume(taskHandles[taskErrorHandle]); printf("start Error 2!\r\n"); }
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); }
void initBeep(void) { stopBeep(); }