Пример #1
0
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);
}
Пример #2
0
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;
}
Пример #3
0
void startError(void) {
	LEDBlue_SetVal();
	LEDRed_SetVal();
	stopBeep();
	printf("start Error!\r\n");
	FreeRTOS0_vTaskResume(taskHandles[taskErrorHandle]);
	printf("start Error 2!\r\n");
}
Пример #4
0
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);
}
Пример #5
0
void initBeep(void) {
	stopBeep();
}