PER Firmware
Loading...
Searching...
No Matches
driver_interface.c File Reference

thread to manage driver-facing LCD, buttons, LEDs More...

#include "driver_interface.h"
#include "can_library/faults_common.h"
#include "can_library/generated/DASHBOARD.h"
#include "can_library/generated/can_types.h"
#include "common/freertos/freertos.h"
#include "common/heartbeat/heartbeat.h"
#include "common/phal/gpio.h"
#include "common/watchdog/watchdog.h"
#include "lcd.h"
#include "main.h"
#include "pages/vcu.h"

Macros

#define ACTION_QUEUE_LENGTH   (10)
 
#define BUTTON_EXTI_MASK
 

Functions

 DEFINE_QUEUE (action_queue, driver_interface_action_t, ACTION_QUEUE_LENGTH)
 
void EXTI0_IRQHandler ()
 
void EXTI1_IRQHandler ()
 
void EXTI4_IRQHandler ()
 
void EXTI9_5_IRQHandler ()
 
void EXTI15_10_IRQHandler ()
 
void action_dispatcher (void)
 
void set_external_leds (void)
 
void driver_interface_periodic (void)
 

Variables

volatile uint16_t data_mark_index = 0
 
status_leds_t status_leds
 

Detailed Description

thread to manage driver-facing LCD, buttons, LEDs

Author
Irving Wang (irvin.nosp@m.gw@p.nosp@m.urdue.nosp@m..edu)

Macro Definition Documentation

◆ BUTTON_EXTI_MASK

#define BUTTON_EXTI_MASK
Value:
(EXTI_IMR1_IM0 | EXTI_IMR1_IM1 | \
EXTI_IMR1_IM4 | EXTI_IMR1_IM5 | \
EXTI_IMR1_IM6 | EXTI_IMR1_IM7 | \
EXTI_IMR1_IM8 | EXTI_IMR1_IM9 | \
EXTI_IMR1_IM11 | EXTI_IMR1_IM13 | \
EXTI_IMR1_IM14 | EXTI_IMR1_IM15)