5c97379765
date: 2026-08-01T16:05:18 master commit: 3a05c03079d796f533f342489b3f681cfd21f98d
56 lines
1.4 KiB
C
56 lines
1.4 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
#include "board/body/bldc/bldc_defs.h"
|
|
|
|
// ******************** Prototypes ********************
|
|
typedef void (*board_init)(void);
|
|
typedef void (*board_init_bootloader)(void);
|
|
typedef void (*board_enable_can_transceiver)(uint8_t transceiver, bool enabled);
|
|
|
|
struct board {
|
|
GPIO_TypeDef * const led_GPIO[3];
|
|
const uint8_t led_pin[3];
|
|
const uint8_t led_pwm_channels[3]; // leave at 0 to disable PWM
|
|
board_init init;
|
|
board_init_bootloader init_bootloader;
|
|
const bool has_spi;
|
|
};
|
|
|
|
// ******************* Definitions ********************
|
|
#define HW_TYPE_BODY 0xB1U
|
|
|
|
// Pin definitions
|
|
// CAN
|
|
#define CAN_TX_PORT GPIOD
|
|
#define CAN_TX_PIN 1
|
|
#define CAN_RX_PORT GPIOD
|
|
#define CAN_RX_PIN 0
|
|
#define CAN_TRANSCEIVER_EN_PORT GPIOD
|
|
#define CAN_TRANSCEIVER_EN_PIN 12
|
|
|
|
// Ignition and charging detection
|
|
#define IGNITION_SW_PORT GPIOC
|
|
#define IGNITION_SW_PIN 15
|
|
#define CHARGING_DETECT_PORT GPIOC
|
|
#define CHARGING_DETECT_PIN 13
|
|
|
|
// Dotstar LED
|
|
#define DOTSTAR_CLK_PORT GPIOB
|
|
#define DOTSTAR_CLK_PIN 3
|
|
#define DOTSTAR_DATA_PORT GPIOB
|
|
#define DOTSTAR_DATA_PIN 5
|
|
|
|
// Mici Power On
|
|
#define OBDC_POWER_ON_PORT GPIOB
|
|
#define OBDC_POWER_ON_PIN 12
|
|
|
|
// GPU Power On
|
|
#define GPU_POWER_ON_PORT GPIOD
|
|
#define GPU_POWER_ON_PIN 8
|
|
|
|
// Ignition On
|
|
#define OBDC_IGNITION_ON_PORT GPIOB
|
|
#define OBDC_IGNITION_ON_PIN 11
|