Compare commits

...

2 Commits

Author SHA1 Message Date
Julian Marmier 6d92da3a10 add mock buttons 2024-05-23 21:33:52 +02:00
Julian Marmier 9ef44b8ebb Add code for constant CAN message sending 2024-05-23 21:25:35 +02:00
2 changed files with 32 additions and 8 deletions

View File

@ -9,8 +9,8 @@ extern "C" {
#define NUM_BUTTONS 6
#define NUM_ENCS 2
#define BUTTON_MIN_INTERVAL 50 // ms
#define ENC_MAX_PHASE 50 // ms
#define BUTTON_MIN_INTERVAL 50 // ms
#define ENC_MAX_PHASE 50 // ms
typedef enum { UMK_BTN_PRESSED, UMK_ENC_CW, UMK_ENC_CCW } ButtonMessageKind;
@ -25,4 +25,4 @@ void ui_thread_entry(ULONG _);
}
#endif
#endif // __INC_ui_H
#endif // __INC_ui_H

View File

@ -1,14 +1,21 @@
#include "ui.h"
#include <stdint.h>
#include "hx8357d.h"
#include "main.h"
#include "stm32h7a3xx.h"
#include "stm32h7xx_hal.h"
#include "stm32h7xx_hal_gpio.h"
#include "tx_api.h"
#include "hx8357d.h"
#include "main.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 _) {
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]) {
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
tx_thread_sleep(1);
}