/** * @brief * @param None * @retval None */ void lcdChangeDisplayStateOfSidebar(uint32_t SidebarId) { GUIDisplayState displayState = GUIContainer_GetDisplayState(SidebarId); if (displayState == GUIDisplayState_NotHidden) { /* Hide this sidebar and display the last active instead */ GUIContainer_Hide(SidebarId); GUIContainer_Draw(prvIdOfLastActiveSidebar); /* Set the last active as active now */ prvIdOfActiveSidebar = prvIdOfLastActiveSidebar; prvIdOfLastActiveSidebar = GUIContainerId_SidebarEmpty; } else if (displayState == GUIDisplayState_Hidden) { /* Hide the active sidebar and display this sidebar instead */ GUIContainer_Hide(prvIdOfActiveSidebar); GUIContainer_Draw(SidebarId); /* Save the old active sidebar and set this sidebar as the new active one */ prvIdOfLastActiveSidebar = prvIdOfActiveSidebar; prvIdOfActiveSidebar = SidebarId; } if (prvIdOfActiveSidebar != GUIContainerId_SidebarSystem) { prvActiveChannelHasChanged = true; } }
/** * @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); } } }
/** * @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); } }
/** * @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); } }
/** * @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); } }