| ▼ can_library | |
| can_common.h | Common functions and data structures used in every node in the CAN library |
| can_init.c | CAN library initialization, IRQ setup, and filter setup |
| can_rx.c | Common CAN RX queue, task, and callback handling |
| can_tx.c | Common CAN TX queue, task, and callback handling |
| faults_common.c | Event-based FIDR system |
| faults_common.h | Event-based FIDR system |
| ▼ common | |
| ► amk | |
| amk.c | Modernized AMK driver |
| amk.h | Modernized AMK driver |
| ► bangbang | |
| bangbang.c | Generic bang-bang controller with hysteresis and minimum switch interval |
| bangbang.h | Generic bang-bang controller with hysteresis and minimum switch interval |
| ► bmi088 | |
| bmi088.c | BMI088 IMU driver |
| bmi088.h | BMI088 IMU driver |
| ► common_defs | |
| common_defs.h | Common defs for the entire firmware repository. Dont let this get too out of control please |
| ► freertos | |
| freertos.c | Wrapper macros for FreeRTOS constructs (tasks, queues, semaphores) to simplify static memory allocation and initialization |
| freertos.h | Wrapper macros for FreeRTOS constructs (tasks, queues, semaphores) to simplify static memory allocation and initialization |
| FreeRTOSConfig.h | |
| ► heartbeat | |
| heartbeat.c | Shared heartbeat task implementation for status LEDs |
| heartbeat.h | Shared heartbeat task implementation for status LEDs |
| ► izze_imu | |
| izze_imu.h | |
| ► lerp_lut | |
| lerp_lut.c | Linear interpolation lookup table (LUT) |
| lerp_lut.h | Linear interpolation lookup table (LUT) |
| ► nextion | |
| nextion.c | Nextion display driver interface |
| nextion.h | Nextion display driver interface |
| ► phal | |
| adc.h | |
| can.h | |
| crc.h | |
| dma.h | |
| flash.h | |
| gpio.h | |
| phal_mcu.h | MCU architecture selector for PHAL layer (auto-defines PHAL_ARCH_*) |
| rcc.h | |
| rtc.h | |
| spi.h | |
| usart.h | |
| ► phal_F4_F7 | |
| ► adc | |
| adc.c | |
| adc.h | |
| ► can | |
| can.h | |
| ► crc | |
| crc.c | Hardware CRC32 w/ software fallback |
| crc.h | Hardware CRC32 w/ software fallback |
| ► dma | |
| dma.c | Basic DMA Peripheral HAL library for setting up DMA transfers |
| dma.h | |
| ► flash | |
| flash.c | |
| flash.h | |
| ► gpio | |
| gpio.h | GPIO Driver for STM32F4/F7 Devices |
| ► pwm | |
| pwm.c | |
| pwm.h | |
| ► rcc | |
| rcc.h | RCC Configuration Driver for STM32F4 Devices |
| ► rtc | |
| rtc.h | RTC Configuration Driver for STM32F4 Devices |
| ► spi | |
| spi.c | PER Serial Peripheral Interface Device driver for STM32F4 and STM32F7 |
| spi.h | |
| ► usart | |
| usart.c | |
| usart.h | |
| phal_F4_F7.h | |
| ► phal_G4 | |
| ► adc | |
| adc.c | |
| adc.h | |
| ► dma | |
| dma.c | Basic DMA Peripheral HAL library |
| dma.h | |
| ► fdcan | |
| fdcan.c | G4 FDCAN |
| fdcan.h | |
| fdcan_priv.h | |
| ► gpio | |
| gpio.c | GPIO Driver for STM32L432 Devices |
| gpio.h | GPIO Driver for STM32L432 Devices |
| ► rcc | |
| rcc.h | RCC Configuration Driver for STM32F4 Devices |
| ► spi | |
| spi.c | G4 SPI |
| spi.h | |
| ► usart | |
| usart.h | |
| phal_G4.h | |
| ► sdio | |
| sdio.c | Secure Digital Input Output Interface driver for STM32F4 |
| sdio.h | |
| ► strbuf | |
| strbuf.c | Fixed-size string builder. Useful for building large CMD strings before transmission |
| strbuf.h | Fixed-size string builder. Useful for building large CMD strings before transmission |
| ► syscalls | |
| syscalls.h | |
| ► ublox | |
| nav_pvt.c | UBX NAV-PVT message definition and decoder function |
| nav_pvt.h | UBX NAV-PVT message definition and decoder function |
| nav_relposned.c | UBX NAV-RELPOSNED message definition and decoder function |
| nav_relposned.h | UBX NAV-RELPOSNED message definition and decoder function |
| ► utils | |
| abs.h | Absolute value functions utility header |
| clamp.h | Utility header to clamp a value to a bounded range |
| countof.h | Macro-based countof implementation |
| linear_algebra.h | Linear algebra functions utility header |
| max.h | Maximum value functions utility header |
| min.h | Minimum value functions utility header |
| rescale.h | Utility header to linearly map values from one range to another |
| units.h | SI and Imperial unit defs and conversion functions |
| ► watchdog | |
| watchdog.c | Basic watchdog implementation |
| watchdog.h | Basic watchdog implementation |
| ▼ source | |
| ► a_box | |
| ► adbms | |
| adbms.c | Primary logic and interface for ADBMS battery management system driver |
| adbms.h | Primary logic and interface for ADBMS battery management system driver |
| adbms6380.c | Low level BMS driver specific to ADBMS6380 chip |
| adbms6380.h | Low level BMS driver specific to ADBMS6380 chip |
| commands.c | Listing of all ADBMS commands |
| commands.h | Listing of all ADBMS commands |
| pec.c | Calculation of PEC (CRC15, CRC10) for ADBMS communication |
| pec.h | Calculation of PEC (CRC15, CRC10) for ADBMS communication |
| ► charging_fsm | |
| charging_fsm.c | Charger control state machine implementation |
| charging_fsm.h | Charger control state machine implementation |
| ► telemetry | |
| telemetry.c | ABOX Telemetry task implementations |
| telemetry.h | ABOX Telemetry task implementations |
| ► thermistor | |
| thermistor.c | Thermistor lookup table from datasheet |
| thermistor.h | Thermistor lookup table from datasheet |
| main.c | "Abox" node source code |
| main.h | "Abox" node source code |
| ► daq | |
| ► can_irq | |
| can_irq.c | Timestamped frame producers from CAN RX IRQ |
| can_irq.h | Timestamped frame producers from CAN RX IRQ |
| ► ethernet | |
| ethernet.c | Implementation of the ethernet thread for wireless data acquisition |
| ethernet.h | Implementation of the ethernet thread for wireless data acquisition |
| w5500_callbacks.c | Implementation of the W5500 SPI callbacks for ethernet communication |
| ► rtc_sync | |
| rtc_sync.c | Synchronization of the RTC peripheral with the GPS UTC time |
| rtc_sync.h | Synchronization of the RTC peripheral with the GPS UTC time |
| ► sd_card | |
| sd_card.c | Logging of received bus messages onto an SD card |
| sd_card.h | Logging of received bus messages onto an SD card |
| ► spmc | |
| spmc.c | Custom SPMC designed for high throughput handling of CAN message streams |
| spmc.h | Custom SPMC designed for high throughput handling of CAN message streams |
| timestamped_frame.h | Definition for timestamped CAN frames |
| main.c | "DAQ" node source code |
| main.h | "DAQ" node source code |
| ► dashboard | |
| ► driver_interface | |
| ► pages | |
| amk.c | AMK page implementation |
| amk.h | AMK page implementation |
| calibration.c | Calibration page implementation |
| calibration.h | Calibration page implementation |
| faults.c | Faults page implementation |
| faults.h | Faults page implementation |
| race.c | Race page implementation |
| race.h | Race page implementation |
| vcu.c | VCU page implementation |
| vcu.h | |
| colors.h | Color definitions for LCD display |
| driver_interface.h | |
| lcd.c | LCD display management |
| lcd.h | LCD display management |
| menu_system.c | Implementation of menu system for LCD display interface |
| menu_system.h | Implementation of menu system for LCD display interface |
| ► pedals | |
| pedals.c | Pedal processing logic |
| pedals.h | |
| ► telemetry | |
| telemetry.c | DASHBOARD telemetry task implementations |
| telemetry.h | DASHBOARD telemetry task implementations |
| main.c | "Dashboard" node source code |
| main.h | |
| ► driveline | |
| ► oil_temps | |
| oil_temps_table.h | Oil temp lookup table from datasheet |
| config.h | |
| main.c | "Driveline" node source code |
| pin_defs.h | "Driveline" node pin definitions and related constants |
| ► f4_testing | |
| f4_testing.h | |
| onboarding_26.c | Onboarding 26 starter file |
| ► g4_testing | |
| g4_testing.h | |
| main.h | |
| ► main_module | |
| ► sdc | |
| sdc.c | SDC task implementation |
| sdc.h | SDC task implementation |
| ► telemetry | |
| telemetry.c | MAIN MODULE telemetry task implementations |
| telemetry.h | MAIN MODULE telemetry task implementations |
| ► vehicle_fsm | |
| vehicle_fsm.c | Master vehicle state machine implementation |
| vehicle_fsm.h | Master vehicle state machine implementation |
| vehicle_init.c | Vehicle initialization implementation |
| vehicle_init.h | Vehicle initialization implementation |
| main.c | "Main Module" node source code |
| main.h | "Main Module" node source code |
| ► pdu | |
| ► cooling | |
| ► fan_control | |
| fan_control.h | |
| cooling.h | |
| cooling_bangbang.h | |
| ► faults | |
| faults.h | |
| ► flow_rate | |
| flow_rate.h | |
| ► led | |
| led.c | |
| led.h | |
| ► state | |
| state.h | |
| ► switches | |
| switches.h | |
| ► telemetry | |
| telemetry.h | |
| main.c | "PDU" node source code |
| main.h | "PDU" node source code |
| ► torque_vector | |
| ► control_loop | |
| control_loop.c | Main torque vectoring control loop |
| control_loop.h | Main torque vectoring control loop |
| ► sensors | |
| gps.c | GPS RX and parsing thread |
| imu.c | IMU calibration and coordinate transformations |
| sensors.h | TV Managed sensor header |
| ► telemetry | |
| telemetry.c | TORQUE VECTOR telemetry task implementations |
| telemetry.h | TORQUE VECTOR telemetry task implementations |
| ► vcu | |
| vcu.h | |
| main.c | "Torque Vector" node source code |
| main.h | "Torque Vector" node source code |