Example #1
0
File: util.c Project: Snafu/rc
void wait(unsigned int ms)
{
	handle_t handle;
	handle = SYSTM001_CreateTimer(ms, SYSTM001_ONE_SHOT, DelayHandler, NULL);
	delayExpired = FALSE;
	if(handle)
		(void) SYSTM001_StartTimer(handle);
	while(!delayExpired);
	(void) SYSTM001_DeleteTimer(handle);
}
Example #2
0
void removeTimer(uint32_t *status, handle_t *timerID)
{
	if(*timerID != 0)
	{
		*status = SYSTM001_StopTimer(*timerID);

		if(*status == DAVEApp_SUCCESS)
		{
			SYSTM001_DeleteTimer(*timerID);
			*timerID = 0;
		}
	}
}
void timerHandlerInitBluetooth(void *T)
{
	static uint8_t whichCommand = 0;

	commandsAndAnswers *temp = (commandsAndAnswers*)T;

	if(removeInitTimerRx == TRUE)
	{
		SYSTM001_DeleteTimer(HandlTimerReceiveAnsID);
		HandlTimerReceiveAnsID = 0;
		removeInitTimerRx = FALSE;
		whichCommand = stageOfInit;
	}

	if(TRUE == initStatus)
	{
		removeMainTimerStatus = TRUE;
	}

	if(FALSE == initStatus && canSend == TRUE)
	{
		//whichCommand = stageOfInit;
		volatile int length = strlen(temp->commandsBluetooth[whichCommand]);

		send(temp->commandsBluetooth[whichCommand], length);

		while((UART001_GetFlagStatus(&UART001_Handle0,UART001_TRANSFER_STATUS_BUSY_FLAG )==UART001_SET))
		{
			int h = 0;
		}

		canSend = FALSE;
		askAboutSending();
		HandlTimerReceiveAnsID = SYSTM001_CreateTimer(300,SYSTM001_ONE_SHOT,timerHandlerInitBluetoothReceive,NULL);
		SYSTM001_StartTimer(HandlTimerReceiveAnsID);
	}
}
void resetMeasurements(void)
{
	SYSTM001_StopTimer(TimerIdReadMeasurements);

	SYSTM001_DeleteTimer(TimerIdReadMeasurements);
}
Example #5
0
float readHumidity(void)
{
	if(canH)
	{
		canH = 0;
		I2C001_DataType data1;
		data1.Data1.TDF_Type = I2C_TDF_MStart;
		data1.Data1.Data = ((HTDU21D_ADDRESS << 1) | I2C_WRITE);
		I2C001_WriteData(&I2C001_Handle1,&data1);

		delay11(DELAY);

		I2C001_DataType data2;
		data2.Data1.TDF_Type = I2C_TDF_MTxData;
		data2.Data1.Data = TRIGGER_HUMD_MEASURE_NOHOLD;
		I2C001_WriteData(&I2C001_Handle1,&data2);

		delay11(DELAY);

		if(timerHumidOn == 0)
		{
			TimerRdHumid = SYSTM001_CreateTimer(55, SYSTM001_PERIODIC, readHumidTimerHandler, NULL);
			SYSTM001_StartTimer(TimerRdHumid);
			timerHumidOn = 1;
		}

		while(TRUE)
		{
			if(errorCounter > 3)
			{
				errorCounter = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				return 998;
			}
			else if(1 == wrong_checksum)
			{
				wrong_checksum = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				return 999;
			}
			else if(1 == readHumid)
			{
				readHumid = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				break;
			}
		}
	}
	return rh;
}
void removeReceiveTimer(void)
{
	SYSTM001_StopTimer(TimerIdRxMessage);
	SYSTM001_DeleteTimer(TimerIdRxMessage);
	TimerIdRxMessage = 0;
}
void removeMainTimer(void)
{
	SYSTM001_StopTimer(mainInitTimerID);
	SYSTM001_DeleteTimer(mainInitTimerID);
	mainInitTimerID = 0;
}