Ejemplo n.º 1
0
/**
 * @brief
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiUart1SidebarForwardBackwardsButtonsCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	if (Event == GUITouchEvent_Up)
	{
		if (ButtonId == GUIButtonId_Uart1SidebarBackwards)
		{
			/* Decrease the page by one step */
			GUIContainer_DecrementPage(GUIContainerId_SidebarUart1);
		}
		else if (ButtonId == GUIButtonId_Uart1SidebarForwards)
		{
			/* Increase the page by one step */
			GUIContainer_IncrementPage(GUIContainerId_SidebarUart1);
		}

		/* Update the state of the forward and backwards buttons to indicate if the ends have been reached */
		GUIContainerPage activePage = GUIContainer_GetActivePage(GUIContainerId_SidebarUart1);
		GUIContainerPage lastPage = GUIContainer_GetLastPage(GUIContainerId_SidebarUart1);
		if (activePage == GUIContainerPage_1)
			GUIButton_SetState(GUIButtonId_Uart1SidebarBackwards, GUIButtonState_DisabledTouch);
		else
			GUIButton_SetState(GUIButtonId_Uart1SidebarBackwards, GUIButtonState_Enabled);

		if (activePage == lastPage)
			GUIButton_SetState(GUIButtonId_Uart1SidebarForwards, GUIButtonState_DisabledTouch);
		else
			GUIButton_SetState(GUIButtonId_Uart1SidebarForwards, GUIButtonState_Enabled);
	}
}
Ejemplo n.º 2
0
/**
 * @brief
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiUart1ParityButtonCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	if (Event == GUITouchEvent_Up)
	{
		GUIDisplayState displayState = GUIContainer_GetDisplayState(GUIContainerId_PopoutUart1Parity);

		if (displayState == GUIDisplayState_Hidden)
		{
			GUI_SetActiveLayer(GUILayer_1);
			GUIButton_SetLayer(GUIButtonId_Uart1Parity, GUILayer_1);
			GUIButton_SetState(GUIButtonId_Uart1Parity, GUIButtonState_Enabled);
			GUIContainer_Draw(GUIContainerId_PopoutUart1Parity);
		}
		else if (displayState == GUIDisplayState_NotHidden)
		{
			GUIContainer_Hide(GUIContainerId_PopoutUart1Parity);
			GUI_SetActiveLayer(GUILayer_0);
			GUIButton_SetLayer(GUIButtonId_Uart1Parity, GUILayer_0);
			GUIButton_SetState(GUIButtonId_Uart1Parity, GUIButtonState_Disabled);

			/* Refresh the main text box */
			guiUart1ManageMainTextBox(true);
		}
	}
}
Ejemplo n.º 3
0
/**
 * @brief	Callback for the enable button
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiCan1EnableButtonCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	static bool enabled = false;

	if (Event == GUITouchEvent_Up)
	{
		if (enabled)
		{
			ErrorStatus status = can1SetConnection(CANConnection_Disconnected);
			if (status == SUCCESS)
			{
				enabled = false;
				GUIButton_SetTextForRow(GUIButtonId_Can1Enable, "Disabled", 1);
				GUIButton_SetState(GUIButtonId_Can1Top, GUIButtonState_Disabled);

				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "< Bit Rate:", 0);
				GUIButton_SetState(GUIButtonId_Can1BitRate, GUIButtonState_Disabled);
			}
		}
		else
		{
			ErrorStatus status = can1SetConnection(CANConnection_Connected);
			if (status == SUCCESS)
			{
				enabled = true;
				GUIButton_SetTextForRow(GUIButtonId_Can1Enable, "Enabled", 1);
				GUIButton_SetState(GUIButtonId_Can1Top, GUIButtonState_Enabled);

				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "Bit Rate:", 0);
				GUIButton_SetState(GUIButtonId_Can1BitRate, GUIButtonState_DisabledTouch);
			}
		}
	}
}
Ejemplo n.º 4
0
/**
 * @brief
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiUart1ParitySelectionCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	if (Event == GUITouchEvent_Up)
	{
		UARTParity newParity;
		switch (ButtonId)
		{
			case GUIButtonId_Uart1ParityNone:
				GUIButton_SetTextForRow(GUIButtonId_Uart1Parity, "None", 1);
				newParity = UARTParity_None;
				break;
			case GUIButtonId_Uart1ParityOdd:
				GUIButton_SetTextForRow(GUIButtonId_Uart1Parity, "Odd", 1);
				newParity = UARTParity_Odd;
				break;
			case GUIButtonId_Uart1ParityEven:
				GUIButton_SetTextForRow(GUIButtonId_Uart1Parity, "Even", 1);
				newParity = UARTParity_Even;
				break;
			default:
				newParity = 0xFFFF;
				break;
		}

		UARTSettings* settings = uart1GetSettings();
		SemaphoreHandle_t* settingsSemaphore = uart1GetSettingsSemaphore();
		/* Try to take the settings semaphore */
		if (newParity != 0xFFFF && *settingsSemaphore != 0 && xSemaphoreTake(*settingsSemaphore, 100) == pdTRUE)
		{
			settings->parity = newParity;
			uart1UpdateWithNewSettings();

			/* Restart the channel if it was on */
			if (settings->connection == UARTConnection_Connected)
				uart1Restart();

			/* Give back the semaphore now that we are done */
			xSemaphoreGive(*settingsSemaphore);
		}

		/* Hide the pop out */
		GUIContainer_Hide(GUIContainerId_PopoutUart1Parity);
		GUI_SetActiveLayer(GUILayer_0);
		GUIButton_SetLayer(GUIButtonId_Uart1Parity, GUILayer_0);
		GUIButton_SetState(GUIButtonId_Uart1Parity, GUIButtonState_Disabled);

		/* Refresh the main text box */
		guiUart1ManageMainTextBox(true);
	}
}
Ejemplo n.º 5
0
/**
 * @brief	Callback for the enable button
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiUart1EnableButtonCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	static bool enabled = false;

	if (Event == GUITouchEvent_Up)
	{
		if (enabled)
		{
			ErrorStatus status = uart1SetConnection(UARTConnection_Disconnected);
			if (status == SUCCESS)
			{
				enabled = false;
				GUIButton_SetTextForRow(GUIButtonId_Uart1Enable, "Disabled", 1);
				GUIButton_SetState(GUIButtonId_Uart1Top, GUIButtonState_Disabled);

				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "< Baud Rate:", 0);
				GUIButton_SetState(GUIButtonId_Uart1BaudRate, GUIButtonState_Disabled);
				GUIButton_SetTextForRow(GUIButtonId_Uart1Parity, "< Parity:", 0);
				GUIButton_SetState(GUIButtonId_Uart1Parity, GUIButtonState_Disabled);
			}
		}
		else
		{
			ErrorStatus status = uart1SetConnection(UARTConnection_Connected);
			if (status == SUCCESS)
			{
				enabled = true;
				GUIButton_SetTextForRow(GUIButtonId_Uart1Enable, "Enabled", 1);
				GUIButton_SetState(GUIButtonId_Uart1Top, GUIButtonState_Enabled);

				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "Baud Rate:", 0);
				GUIButton_SetState(GUIButtonId_Uart1BaudRate, GUIButtonState_DisabledTouch);
				GUIButton_SetTextForRow(GUIButtonId_Uart1Parity, "Parity:", 0);
				GUIButton_SetState(GUIButtonId_Uart1Parity, GUIButtonState_DisabledTouch);
			}
		}
	}
}
Ejemplo n.º 6
0
/**
 * @brief
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiUart1BaudRateSelectionCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	if (Event == GUITouchEvent_Up)
	{
		UARTBaudRate newBaudRate;
		switch (ButtonId)
		{
			case GUIButtonId_Uart1BaudRate4800:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "4800 bps", 1);
				newBaudRate = UARTBaudRate_4800;
				break;
			case GUIButtonId_Uart1BaudRate7200:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "7200 bps", 1);
				newBaudRate = UARTBaudRate_7200;
				break;
			case GUIButtonId_Uart1BaudRate9600:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "9600 bps", 1);
				newBaudRate = UARTBaudRate_9600;
				break;
			case GUIButtonId_Uart1BaudRate19k2:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "19200 bps", 1);
				newBaudRate = UARTBaudRate_19200;
				break;
			case GUIButtonId_Uart1BaudRate28k8:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "28800 bps", 1);
				newBaudRate = UARTBaudRate_28800;
				break;
			case GUIButtonId_Uart1BaudRate38k4:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "38400 bps", 1);
				newBaudRate = UARTBaudRate_38400;
				break;
			case GUIButtonId_Uart1BaudRate57k6:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "57600 bps", 1);
				newBaudRate = UARTBaudRate_57600;
				break;
			case GUIButtonId_Uart1BaudRate115k:
				GUIButton_SetTextForRow(GUIButtonId_Uart1BaudRate, "115200 bps", 1);
				newBaudRate = UARTBaudRate_115200;
				break;
			default:
				newBaudRate = 0;
				break;
		}

		UARTSettings* settings = uart1GetSettings();
		SemaphoreHandle_t* settingsSemaphore = uart1GetSettingsSemaphore();
		/* Try to take the settings semaphore */
		if (newBaudRate != 0 && *settingsSemaphore != 0 && xSemaphoreTake(*settingsSemaphore, 100) == pdTRUE)
		{
			settings->baudRate = newBaudRate;
			uart1UpdateWithNewSettings();

			/* Restart the channel if it was on */
			if (settings->connection == UARTConnection_Connected)
				uart1Restart();

			/* Give back the semaphore now that we are done */
			xSemaphoreGive(*settingsSemaphore);
		}

		/* Hide the pop out */
		GUIContainer_Hide(GUIContainerId_PopoutUart1BaudRate);
		GUI_SetActiveLayer(GUILayer_0);
		GUIButton_SetLayer(GUIButtonId_Uart1BaudRate, GUILayer_0);
		GUIButton_SetState(GUIButtonId_Uart1BaudRate, GUIButtonState_Disabled);

		/* Refresh the main text box */
		guiUart1ManageMainTextBox(true);
	}
}
Ejemplo n.º 7
0
/**
 * @brief
 * @param	Event: The event that caused the callback
 * @param	ButtonId: The button ID that the event happened on
 * @retval	None
 */
void guiCan1BitRateSelectionCallback(GUITouchEvent Event, uint32_t ButtonId)
{
	if (Event == GUITouchEvent_Up)
	{
		CANBitRate newBitRate;
		switch (ButtonId)
		{
			case GUIButtonId_Can1BitRate10k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "10kbit/s", 1);
				newBitRate = CANBitRate_10k;
				break;
			case GUIButtonId_Can1BitRate20k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "20kbit/s", 1);
				newBitRate = CANBitRate_20k;
				break;
			case GUIButtonId_Can1BitRate50k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "50kbit/s", 1);
				newBitRate = CANBitRate_50k;
				break;
			case GUIButtonId_Can1BitRate100k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "100kbit/s", 1);
				newBitRate = CANBitRate_100k;
				break;
			case GUIButtonId_Can1BitRate125k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "125kbit/s", 1);
				newBitRate = CANBitRate_125k;
				break;
			case GUIButtonId_Can1BitRate250k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "250kbit/s", 1);
				newBitRate = CANBitRate_250k;
				break;
			case GUIButtonId_Can1BitRate500k:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "500kbit/s", 1);
				newBitRate = CANBitRate_500k;
				break;
			case GUIButtonId_Can1BitRate1M:
				GUIButton_SetTextForRow(GUIButtonId_Can1BitRate, "1Mbit/s", 1);
				newBitRate = CANBitRate_1M;
				break;
			default:
				newBitRate = 0;
				break;
		}

		CANSettings* settings = can1GetSettings();
		SemaphoreHandle_t* settingsSemaphore = can1GetSettingsSemaphore();
		/* Try to take the settings semaphore */
		if (newBitRate != 0 && *settingsSemaphore != 0 && xSemaphoreTake(*settingsSemaphore, 100) == pdTRUE)
		{
			settings->bitRate = newBitRate;
			can1UpdateWithNewSettings();

			/* Restart the channel if it was on */
			if (settings->connection == CANConnection_Connected)
				can1Restart();

			/* Give back the semaphore now that we are done */
			xSemaphoreGive(*settingsSemaphore);
		}

		/* Hide the pop out */
		GUIContainer_Hide(GUIContainerId_PopoutCan1BitRate);
		GUI_SetActiveLayer(GUILayer_0);
		GUIButton_SetLayer(GUIButtonId_Can1BitRate, GUILayer_0);
		GUIButton_SetState(GUIButtonId_Can1BitRate, GUIButtonState_Disabled);

		/* Refresh the main text box */
		guiCan1ManageMainTextBox(true);
	}
}