Compare commits
2 Commits
3f67d1571b
...
6d92da3a10
Author | SHA1 | Date |
---|---|---|
Julian Marmier | 6d92da3a10 | |
Julian Marmier | 9ef44b8ebb |
|
@ -9,8 +9,8 @@ extern "C" {
|
||||||
|
|
||||||
#define NUM_BUTTONS 6
|
#define NUM_BUTTONS 6
|
||||||
#define NUM_ENCS 2
|
#define NUM_ENCS 2
|
||||||
#define BUTTON_MIN_INTERVAL 50 // ms
|
#define BUTTON_MIN_INTERVAL 50 // ms
|
||||||
#define ENC_MAX_PHASE 50 // ms
|
#define ENC_MAX_PHASE 50 // ms
|
||||||
|
|
||||||
typedef enum { UMK_BTN_PRESSED, UMK_ENC_CW, UMK_ENC_CCW } ButtonMessageKind;
|
typedef enum { UMK_BTN_PRESSED, UMK_ENC_CW, UMK_ENC_CCW } ButtonMessageKind;
|
||||||
|
|
||||||
|
@ -25,4 +25,4 @@ void ui_thread_entry(ULONG _);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // __INC_ui_H
|
#endif // __INC_ui_H
|
||||||
|
|
|
@ -1,14 +1,21 @@
|
||||||
#include "ui.h"
|
#include "ui.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "hx8357d.h"
|
||||||
|
#include "main.h"
|
||||||
#include "stm32h7a3xx.h"
|
#include "stm32h7a3xx.h"
|
||||||
#include "stm32h7xx_hal.h"
|
#include "stm32h7xx_hal.h"
|
||||||
#include "stm32h7xx_hal_gpio.h"
|
#include "stm32h7xx_hal_gpio.h"
|
||||||
#include "tx_api.h"
|
#include "tx_api.h"
|
||||||
|
|
||||||
#include "hx8357d.h"
|
|
||||||
#include "main.h"
|
|
||||||
#include "vehicle.h"
|
#include "vehicle.h"
|
||||||
#include <stdint.h>
|
|
||||||
|
// TODO Remove for STW v2
|
||||||
|
#define MOCK_NUM_BUTTONS 5
|
||||||
|
#define MOCK_BUTTON_TICK_CHANGE 1000
|
||||||
|
uint32_t last_tick = 0;
|
||||||
|
uint8_t mock_button_counter = 0;
|
||||||
|
// END TODO
|
||||||
|
|
||||||
void ui_thread_entry(ULONG _) {
|
void ui_thread_entry(ULONG _) {
|
||||||
GPIO_TypeDef *button_ports[NUM_BUTTONS] = {BTN1_GPIO_Port, BTN2_GPIO_Port,
|
GPIO_TypeDef *button_ports[NUM_BUTTONS] = {BTN1_GPIO_Port, BTN2_GPIO_Port,
|
||||||
|
@ -43,7 +50,24 @@ void ui_thread_entry(ULONG _) {
|
||||||
if (press_event == 1 && button_states[1]) {
|
if (press_event == 1 && button_states[1]) {
|
||||||
tx_event_flags_set(&gui_update_events, GUI_UPDATE_NEXT_SCREEN, TX_OR);
|
tx_event_flags_set(&gui_update_events, GUI_UPDATE_NEXT_SCREEN, TX_OR);
|
||||||
}
|
}
|
||||||
vehicle_broadcast_buttons(button_states);
|
|
||||||
|
// TODO restore this for STW24-v2
|
||||||
|
// vehicle_broadcast_buttons(button_states);
|
||||||
|
// END TODO
|
||||||
|
|
||||||
|
// TODO (STW24) Remove for STW24-v2 !!
|
||||||
|
GPIO_PinState mock_button_states[MOCK_NUM_BUTTONS] = {mock_button_states};
|
||||||
|
mock_button_states[mock_button_counter] = GPIO_PIN_SET;
|
||||||
|
uint32_t now = HAL_GetTick();
|
||||||
|
// Wait 1s before moving to the next button
|
||||||
|
if (abs(now - last_tick) >= MOCK_BUTTON_TICK_CHANGE) {
|
||||||
|
mock_button_counter++;
|
||||||
|
mock_button_counter %= MOCK_NUM_BUTTONS;
|
||||||
|
}
|
||||||
|
|
||||||
|
vehicle_broadcast_buttons(mock_button_states);
|
||||||
|
// END TODO
|
||||||
|
|
||||||
// Release so other threads can get scheduled
|
// Release so other threads can get scheduled
|
||||||
tx_thread_sleep(1);
|
tx_thread_sleep(1);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue