Compare commits
21 Commits
feature-ca
...
led_fet_br
Author | SHA1 | Date | |
---|---|---|---|
f315a8c1f9 | |||
1161ed6c42 | |||
e60c2fa6d2 | |||
5ebd6e6779 | |||
70ef49418b | |||
96a6424baa | |||
6436fecd85 | |||
3b4e67d740 | |||
c21ad44f9c | |||
abe066df79 | |||
da24c84835 | |||
7ed695dace | |||
c194308080 | |||
3e768dbdef | |||
e2b823c901 | |||
0b661709da | |||
a88af55928 | |||
274466e017 | |||
94ded84e82 | |||
57e57a07bb | |||
6ec3740aaf |
43
.github/workflows/workflow.yml
vendored
Normal file
43
.github/workflows/workflow.yml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
name: CI
|
||||
on:
|
||||
push:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
# pull_request:
|
||||
# types: [opened, synchronize, reopened]
|
||||
|
||||
# checkout, install make and try to build
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config: [motortest, motortest_peter, feedcode-front, feedcode-back, greyhash]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: 'true'
|
||||
|
||||
- name: Install make
|
||||
run: |
|
||||
sudo apt update -y
|
||||
sudo apt install -y binutils-arm-none-eabi gcc-arm-none-eabi libnewlib-arm-none-eabi cmake make
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
continue-on-error: true
|
||||
run: |
|
||||
cmake -DCMAKE_BUILD_TYPE=Release .
|
||||
make -j$(nproc) ${{ matrix.config }}
|
||||
|
||||
# github artifacts
|
||||
- name: Upload logs if failed
|
||||
if: ${{ steps.build.outcome == 'failure' }}
|
||||
uses: actions/upload-artifact@v2.2.4
|
||||
with:
|
||||
path: |
|
||||
./CMakeFiles/CMakeOutput.log
|
||||
./CMakeFiles/CMakeError.log
|
5
.gitignore
vendored
5
.gitignore
vendored
@ -3,3 +3,8 @@ CMakeCache.txt
|
||||
CMakeFiles
|
||||
Makefile
|
||||
cmake_install.cmake
|
||||
*.bin
|
||||
*.hex
|
||||
*.elf
|
||||
*.a
|
||||
*.map
|
||||
|
179
CMakeLists.txt
179
CMakeLists.txt
@ -10,10 +10,11 @@ SET(CMAKE_SYSTEM_NAME Generic)
|
||||
|
||||
set(COMMON_FLAGS "-mcpu=cortex-m3 -mthumb -Wall -fdata-sections -ffunction-sections")
|
||||
set(CMAKE_ASM_FLAGS "${COMMON_FLAGS} -x assembler-with-cpp")
|
||||
set(CMAKE_C_FLAGS "${COMMON_FLAGS} -std=gnu11")
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} -std=c++17")
|
||||
set(CMAKE_C_FLAGS "${COMMON_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${COMMON_FLAGS}")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
set(COMMON_LINKER_FLAGS "-specs=nosys.specs -T${CMAKE_SOURCE_DIR}/STM32F103RCTx_FLASH.ld -lc -lm -lnosys -lstdc++ -Wl,--gc-sections -Wl,-Map=${CMAKE_BINARY_DIR}/hover.map,--cref")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${COMMON_LINKER_FLAGS}")
|
||||
@ -33,12 +34,7 @@ include_directories(
|
||||
bobbycar-protocol
|
||||
)
|
||||
|
||||
#add_definitions(-DMOTOR_TEST)
|
||||
#add_definitions(-DFEATURE_IGNORE_OTHER_MOTOR)
|
||||
add_definitions(-DFEATURE_BUTTON)
|
||||
#add_definitions(-DPETERS_PLATINE)
|
||||
|
||||
add_executable(firmware.elf
|
||||
add_library(stm32_hal STATIC
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c
|
||||
@ -54,40 +50,163 @@ add_executable(firmware.elf
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c
|
||||
STM32CubeF1/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c
|
||||
startup_stm32f103xe.s
|
||||
system_stm32f1xx.c
|
||||
)
|
||||
|
||||
add_library(emanuel_foc_model STATIC
|
||||
bobbycar-foc-model/BLDC_controller.h
|
||||
bobbycar-foc-model/BLDC_controller.c
|
||||
bobbycar-foc-model/BLDC_controller_data.c
|
||||
bobbycar-foc-model/rtwtypes.h
|
||||
|
||||
bobbycar-protocol/protocol.h
|
||||
|
||||
startup_stm32f103xe.s
|
||||
system_stm32f1xx.c
|
||||
|
||||
config.h
|
||||
defines.h
|
||||
main.cpp
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT firmware.hex
|
||||
COMMAND arm-none-eabi-objcopy -O ihex firmware.elf firmware.hex
|
||||
DEPENDS firmware.elf)
|
||||
add_library(bobbycar-protocol INTERFACE
|
||||
)
|
||||
|
||||
add_custom_command(OUTPUT firmware.bin
|
||||
COMMAND arm-none-eabi-objcopy -O binary -S firmware.elf firmware.bin
|
||||
DEPENDS firmware.elf)
|
||||
|
||||
add_custom_target(firmware ALL
|
||||
SOURCES firmware.hex firmware.bin)
|
||||
|
||||
add_custom_target(flash
|
||||
COMMAND st-flash --reset write firmware.bin 0x8000000
|
||||
SOURCES firmware.bin)
|
||||
|
||||
#
|
||||
# motor test
|
||||
#
|
||||
add_executable(motortest.elf config.h defines.h main.cpp)
|
||||
target_link_libraries(motortest.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
||||
target_compile_options(motortest.elf PRIVATE
|
||||
-DMOTOR_TEST
|
||||
-DFEATURE_IGNORE_OTHER_MOTOR
|
||||
# -DHALL_BCA
|
||||
# -DPWM_FREQ_12KHZ
|
||||
# -DFEATURE_BUTTON
|
||||
# -DPETERS_PLATINE
|
||||
# -DHUART2
|
||||
# -DHUART3
|
||||
# -DFEATURE_SERIAL_CONTROL
|
||||
# -DFEATURE_SERIAL_FEEDBACK
|
||||
# -DLOG_TO_SERIAL
|
||||
# -DFEATURE_CAN
|
||||
# -DCAN_LOG_UNKNOWN_ADDR
|
||||
# -DIS_BACK
|
||||
)
|
||||
add_custom_command(OUTPUT motortest.hex COMMAND arm-none-eabi-objcopy -O ihex motortest.elf motortest.hex DEPENDS motortest.elf)
|
||||
add_custom_command(OUTPUT motortest.bin COMMAND arm-none-eabi-objcopy -O binary -S motortest.elf motortest.bin DEPENDS motortest.elf)
|
||||
add_custom_target(motortest ALL SOURCES motortest.hex motortest.bin)
|
||||
add_custom_target(flash-motortest COMMAND st-flash --reset write motortest.bin 0x8000000 SOURCES motortest.bin DEPENDS motortest.bin)
|
||||
|
||||
#
|
||||
# motor test peter
|
||||
#
|
||||
add_executable(motortest_peter.elf config.h defines.h main.cpp)
|
||||
target_link_libraries(motortest_peter.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
||||
target_compile_options(motortest_peter.elf PRIVATE
|
||||
#-DMOTOR_TEST
|
||||
-DFEATURE_IGNORE_OTHER_MOTOR
|
||||
-DHALL_ABC
|
||||
# -DPWM_FREQ_12KHZ
|
||||
# -DFEATURE_BUTTON
|
||||
-DPETERS_PLATINE
|
||||
# -DFEATURE_INVERT_HALL
|
||||
# -DHUART2
|
||||
# -DHUART3
|
||||
# -DFEATURE_SERIAL_CONTROL
|
||||
# -DFEATURE_SERIAL_FEEDBACK
|
||||
# -DLOG_TO_SERIAL
|
||||
-DFEATURE_CAN
|
||||
# -DCAN_LOG_UNKNOWN_ADDR
|
||||
-DIS_BACK
|
||||
)
|
||||
add_custom_command(OUTPUT motortest_peter.hex COMMAND arm-none-eabi-objcopy -O ihex motortest_peter.elf motortest_peter.hex DEPENDS motortest_peter.elf)
|
||||
add_custom_command(OUTPUT motortest_peter.bin COMMAND arm-none-eabi-objcopy -O binary -S motortest_peter.elf motortest_peter.bin DEPENDS motortest_peter.elf)
|
||||
add_custom_target(motortest_peter ALL SOURCES motortest_peter.hex motortest_peter.bin)
|
||||
add_custom_target(flash-motortest_peter COMMAND st-flash --reset write motortest_peter.bin 0x8000000 SOURCES motortest_peter.bin DEPENDS motortest_peter.bin)
|
||||
|
||||
|
||||
#
|
||||
# feedc0de front
|
||||
#
|
||||
add_executable(feedcode-front.elf config.h defines.h main.cpp)
|
||||
target_link_libraries(feedcode-front.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
||||
target_compile_options(feedcode-front.elf PRIVATE
|
||||
# -DMOTOR_TEST
|
||||
-DFEATURE_IGNORE_OTHER_MOTOR
|
||||
-DHALL_BCA
|
||||
# -DPWM_FREQ_12KHZ
|
||||
# -DFEATURE_BUTTON
|
||||
-DPETERS_PLATINE
|
||||
# -DHUART2
|
||||
# -DHUART3
|
||||
# -DFEATURE_SERIAL_CONTROL
|
||||
# -DFEATURE_SERIAL_FEEDBACK
|
||||
# -DLOG_TO_SERIAL
|
||||
-DFEATURE_CAN
|
||||
# -DCAN_LOG_UNKNOWN_ADDR
|
||||
# -DIS_BACK
|
||||
)
|
||||
add_custom_command(OUTPUT feedcode-front.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode-front.elf feedcode-front.hex DEPENDS feedcode-front.elf)
|
||||
add_custom_command(OUTPUT feedcode-front.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode-front.elf feedcode-front.bin DEPENDS feedcode-front.elf)
|
||||
add_custom_target(feedcode-front ALL SOURCES feedcode-front.hex feedcode-front.bin)
|
||||
add_custom_target(flash-feedcode-front COMMAND st-flash --reset write feedcode-front.bin 0x8000000 SOURCES feedcode-front.bin DEPENDS feedcode-front.bin)
|
||||
|
||||
#
|
||||
# feedc0de back
|
||||
#
|
||||
add_executable(feedcode-back.elf config.h defines.h main.cpp)
|
||||
target_link_libraries(feedcode-back.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
||||
target_compile_options(feedcode-back.elf PRIVATE
|
||||
# -DMOTOR_TEST
|
||||
-DFEATURE_IGNORE_OTHER_MOTOR
|
||||
# -DHALL_BCA
|
||||
# -DPWM_FREQ_12KHZ
|
||||
# -DFEATURE_BUTTON
|
||||
-DPETERS_PLATINE
|
||||
# -DHUART2
|
||||
# -DHUART3
|
||||
# -DFEATURE_SERIAL_CONTROL
|
||||
# -DFEATURE_SERIAL_FEEDBACK
|
||||
# -DLOG_TO_SERIAL
|
||||
-DFEATURE_CAN
|
||||
# -DCAN_LOG_UNKNOWN_ADDR
|
||||
-DIS_BACK
|
||||
)
|
||||
add_custom_command(OUTPUT feedcode-back.hex COMMAND arm-none-eabi-objcopy -O ihex feedcode-back.elf feedcode-back.hex DEPENDS feedcode-back.elf)
|
||||
add_custom_command(OUTPUT feedcode-back.bin COMMAND arm-none-eabi-objcopy -O binary -S feedcode-back.elf feedcode-back.bin DEPENDS feedcode-back.elf)
|
||||
add_custom_target(feedcode-back ALL SOURCES feedcode-back.hex feedcode-back.bin)
|
||||
add_custom_target(flash-feedcode-back COMMAND st-flash --reset write feedcode-back.bin 0x8000000 SOURCES feedcode-back.bin DEPENDS feedcode-back.bin)
|
||||
|
||||
#
|
||||
# greyhash
|
||||
#
|
||||
add_executable(greyhash.elf config.h defines.h main.cpp)
|
||||
target_link_libraries(greyhash.elf stm32_hal emanuel_foc_model bobbycar-protocol)
|
||||
target_compile_options(greyhash.elf PRIVATE
|
||||
# -DMOTOR_TEST
|
||||
-DFEATURE_IGNORE_OTHER_MOTOR
|
||||
# -DHALL_BCA
|
||||
-DPWM_FREQ_12KHZ
|
||||
# -DFEATURE_BUTTON
|
||||
-DPETERS_PLATINE
|
||||
# -DHUART2
|
||||
-DHUART3
|
||||
-DFEATURE_SERIAL_CONTROL
|
||||
-DFEATURE_SERIAL_FEEDBACK
|
||||
# -DLOG_TO_SERIAL
|
||||
# -DFEATURE_CAN
|
||||
# -DCAN_LOG_UNKNOWN_ADDR
|
||||
# -DIS_BACK
|
||||
)
|
||||
add_custom_command(OUTPUT greyhash.hex COMMAND arm-none-eabi-objcopy -O ihex greyhash.elf greyhash.hex DEPENDS greyhash.elf)
|
||||
add_custom_command(OUTPUT greyhash.bin COMMAND arm-none-eabi-objcopy -O binary -S greyhash.elf greyhash.bin DEPENDS greyhash.elf)
|
||||
add_custom_target(greyhash ALL SOURCES greyhash.hex greyhash.bin)
|
||||
add_custom_target(flash-greyhash COMMAND st-flash --reset write greyhash.bin 0x8000000 SOURCES greyhash.bin DEPENDS greyhash.bin)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# util targets
|
||||
add_custom_target(debug
|
||||
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg)
|
||||
|
||||
add_custom_target(unlock0
|
||||
COMMAND openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f1x unlock 0")
|
||||
add_custom_target(unlock1
|
||||
|
@ -8,6 +8,7 @@ sudo pacman -Sy --noconfirm \
|
||||
arm-none-eabi-gdb \
|
||||
arm-none-eabi-newlib \
|
||||
cmake \
|
||||
make \
|
||||
openocd \
|
||||
stlink
|
||||
|
||||
@ -15,7 +16,10 @@ git clone --recursive git@github.com:bobbycar-graz/bobbycar-controller-firmware.
|
||||
cd bobbycar-controller-firmware/
|
||||
cmake -DCMAKE_BUILD_TYPE=Release .
|
||||
make unlock0 # needed only once per board
|
||||
make flash
|
||||
make flash-motortest
|
||||
make flash-feedc0de-front
|
||||
make flash-feedc0de-back
|
||||
make flash-greyhash
|
||||
```
|
||||
|
||||
## Hardware
|
||||
|
Submodule bobbycar-foc-model updated: 88f8d8b2ce...79db2855e9
Submodule bobbycar-protocol updated: 39f76cb62b...496e2556f4
35
config.h
35
config.h
@ -1,17 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef PETERS_PLATINE
|
||||
#ifdef PWM_FREQ_12KHZ
|
||||
#define PWM_FREQ 12000 // PWM frequency in Hz
|
||||
#else
|
||||
#define PWM_FREQ 16000 // PWM frequency in Hz
|
||||
#endif
|
||||
#define DEAD_TIME 48 // PWM deadtime
|
||||
//#ifdef MOTOR_TEST
|
||||
// #define DELAY_IN_MAIN_LOOP 10
|
||||
//#else
|
||||
#define DELAY_IN_MAIN_LOOP 5
|
||||
//#endif
|
||||
#define TIMEOUT 5 // number of wrong / missing input commands before emergency off
|
||||
#define A2BIT_CONV 50 // A to bit for current conversion on ADC. Example: 1 A = 50, 2 A = 100, etc
|
||||
|
||||
// ADC conversion time definitions
|
||||
@ -47,16 +41,10 @@
|
||||
* Then you can verify voltage on value 6 (to get calibrated voltage multiplied by 100).
|
||||
*/
|
||||
#define BAT_FILT_COEF 655 // battery voltage filter coefficient in fixed-point. coef_fixedPoint = coef_floatingPoint * 2^16. In this case 655 = 0.01 * 2^16
|
||||
#define BAT_CALIB_REAL_VOLTAGE 3970 // input voltage measured by multimeter (multiplied by 100). For example 43.00 V * 100 = 4300
|
||||
#define BAT_CALIB_ADC 1492 // adc-value measured by mainboard (value nr 5 on UART debug output)
|
||||
|
||||
#define BAT_CELLS 10 // battery number of cells. Normal Hoverboard battery: 10s
|
||||
#define BAT_LOW_LVL1_ENABLE 0 // to beep or not to beep, 1 or 0
|
||||
#define BAT_LOW_LVL2_ENABLE 1 // to beep or not to beep, 1 or 0
|
||||
#define BAT_LOW_LVL1 (360 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE // gently beeps at this voltage level. [V*100/cell]. In this case 3.60 V/cell
|
||||
#define BAT_LOW_LVL2 (350 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE // your battery is almost empty. Charge now! [V*100/cell]. In this case 3.50 V/cell
|
||||
#define BAT_LOW_DEAD (337 * BAT_CELLS * BAT_CALIB_ADC) / BAT_CALIB_REAL_VOLTAGE // undervoltage poweroff. (while not driving) [V*100/cell]. In this case 3.37 V/cell
|
||||
#define BAT_CALIB_REAL_VOLTAGE 4800 // input voltage measured by multimeter (multiplied by 100). For example 43.00 V * 100 = 4300
|
||||
#define BAT_CALIB_ADC 1845 // adc-value measured by mainboard (value nr 5 on UART debug output)
|
||||
|
||||
#define BAT_CELLS 12 // battery number of cells. Normal Hoverboard battery: 10s
|
||||
|
||||
/* Board overheat detection: the sensor is inside the STM/GD chip.
|
||||
* It is very inaccurate without calibration (up to 45°C). So only enable this funcion after calibration!
|
||||
@ -66,17 +54,10 @@
|
||||
* Enable warning and/or poweroff and make and flash firmware.
|
||||
*/
|
||||
#define TEMP_FILT_COEF 655 // temperature filter coefficient in fixed-point. coef_fixedPoint = coef_floatingPoint * 2^16. In this case 655 = 0.01 * 2^16
|
||||
#define TEMP_CAL_LOW_ADC 1655 // temperature 1: ADC value
|
||||
#define TEMP_CAL_LOW_DEG_C 358 // temperature 1: measured temperature [°C * 10]. Here 35.8 °C
|
||||
#define TEMP_CAL_HIGH_ADC 1588 // temperature 2: ADC value
|
||||
#define TEMP_CAL_HIGH_DEG_C 489 // temperature 2: measured temperature [°C * 10]. Here 48.9 °C
|
||||
#define TEMP_WARNING_ENABLE 0 // to beep or not to beep, 1 or 0, DO NOT ACTIVITE WITHOUT CALIBRATION!
|
||||
#define TEMP_WARNING 600 // annoying fast beeps [°C * 10]. Here 60.0 °C
|
||||
#define TEMP_POWEROFF_ENABLE 0 // to poweroff or not to poweroff, 1 or 0, DO NOT ACTIVITE WITHOUT CALIBRATION!
|
||||
#define TEMP_POWEROFF 650 // overheat poweroff. (while not driving) [°C * 10]. Here 65.0 °C
|
||||
|
||||
#define INACTIVITY_TIMEOUT 8 // minutes of not driving until poweroff. it is not very precise.
|
||||
|
||||
#define TEMP_CAL_LOW_ADC 1593 // temperature 1: ADC value
|
||||
#define TEMP_CAL_LOW_DEG_C 400 // temperature 1: measured temperature [°C * 10]. Here 40.0 °C
|
||||
#define TEMP_CAL_HIGH_ADC 1463 // temperature 2: ADC value
|
||||
#define TEMP_CAL_HIGH_DEG_C 623 // temperature 2: measured temperature [°C * 10]. Here 62.3 °C
|
||||
|
||||
|
||||
// ############################### INPUT ###############################
|
||||
|
60
defines.h
60
defines.h
@ -23,33 +23,90 @@
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
#ifdef PETERS_PLATINE
|
||||
|
||||
#ifdef HALL_CAB
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_11
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_12
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_10
|
||||
#elif HALL_CBA
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_11
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_10
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_12
|
||||
#elif HALL_BAC
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_10
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_12
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_11
|
||||
#elif HALL_BCA
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_10
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_11
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_12
|
||||
#elif HALL_ABC
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_12
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_10
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_11
|
||||
#else //HALL_ACB
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_12
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_11
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_10
|
||||
#endif
|
||||
|
||||
#define LEFT_HALL_U_PORT GPIOC
|
||||
#define LEFT_HALL_V_PORT GPIOC
|
||||
#define LEFT_HALL_W_PORT GPIOC
|
||||
|
||||
#ifdef HALL_CAB
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_6
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_5
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_7
|
||||
#elif HALL_CBA
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_6
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_7
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_5
|
||||
#elif HALL_BAC
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_7
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_5
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_6
|
||||
#elif HALL_BCA
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_7
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_6
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_5
|
||||
#elif HALL_ABC
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_5
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_7
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_6
|
||||
#else //HALL_ACB
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_5
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_6
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_7
|
||||
#endif
|
||||
|
||||
#define RIGHT_HALL_U_PORT GPIOB
|
||||
#define RIGHT_HALL_V_PORT GPIOB
|
||||
#define RIGHT_HALL_W_PORT GPIOB
|
||||
#else
|
||||
#ifdef HALL_BCA
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_7
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_6
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_5
|
||||
#else
|
||||
#define LEFT_HALL_U_PIN GPIO_PIN_5
|
||||
#define LEFT_HALL_V_PIN GPIO_PIN_6
|
||||
#define LEFT_HALL_W_PIN GPIO_PIN_7
|
||||
#endif
|
||||
|
||||
#define LEFT_HALL_U_PORT GPIOB
|
||||
#define LEFT_HALL_V_PORT GPIOB
|
||||
#define LEFT_HALL_W_PORT GPIOB
|
||||
|
||||
#ifdef HALL_BCA
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_12
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_11
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_10
|
||||
#else
|
||||
#define RIGHT_HALL_U_PIN GPIO_PIN_10
|
||||
#define RIGHT_HALL_V_PIN GPIO_PIN_11
|
||||
#define RIGHT_HALL_W_PIN GPIO_PIN_12
|
||||
#endif
|
||||
|
||||
#define RIGHT_HALL_U_PORT GPIOC
|
||||
#define RIGHT_HALL_V_PORT GPIOC
|
||||
@ -128,6 +185,9 @@
|
||||
#define LED_PIN GPIO_PIN_2
|
||||
#define LED_PORT GPIOB
|
||||
|
||||
#define LIGHT_PIN GPIO_PIN_3
|
||||
#define LIGHT_PORT GPIOB
|
||||
|
||||
#define BUZZER_PIN GPIO_PIN_4
|
||||
#define BUZZER_PORT GPIOA
|
||||
|
||||
|
@ -36,7 +36,7 @@ extern "C" {
|
||||
*/
|
||||
#define HAL_MODULE_ENABLED
|
||||
#define HAL_ADC_MODULE_ENABLED
|
||||
/* #define HAL_CAN_MODULE_ENABLED */
|
||||
#define HAL_CAN_MODULE_ENABLED
|
||||
/* #define HAL_CAN_LEGACY_MODULE_ENABLED */
|
||||
/* #define HAL_CEC_MODULE_ENABLED */
|
||||
#define HAL_CORTEX_MODULE_ENABLED
|
||||
@ -129,7 +129,7 @@ extern "C" {
|
||||
#define PREFETCH_ENABLE 1U
|
||||
|
||||
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
|
||||
#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */
|
||||
#define USE_HAL_CAN_REGISTER_CALLBACKS 1 /* CAN register callback disabled */
|
||||
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
|
||||
#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
|
||||
#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
|
||||
|
Reference in New Issue
Block a user