Go to file
Marcos Chaparro 723abcb09f Remove ST DAC library and use the DAC by direct register access
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-02-19 11:40:49 -03:00
ChibiOS_3.0.2 Remove ST DAC library and use the DAC by direct register access 2019-02-19 11:40:49 -03:00
appconf Major 2019 update 2019-02-18 19:30:19 +01:00
applications Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
build_all Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
hwconf Remove ST DAC library and use the DAC by direct register access 2019-02-19 11:40:49 -03:00
libcanard Major 2019 update 2019-02-18 19:30:19 +01:00
mcconf Major 2019 update 2019-02-18 19:30:19 +01:00
nrf Major 2019 update 2019-02-18 19:30:19 +01:00
tests/packet_recovery Major 2019 update 2019-02-18 19:30:19 +01:00
.gitignore Add gitigore 2015-10-08 17:51:21 +02:00
.travis.yml Increase traveis build coverage to most hardware versions 2019-01-31 20:59:10 -03:00
CHANGELOG Major 2019 update 2019-02-18 19:30:19 +01:00
CONTRIBUTING Major 2019 update 2019-02-18 19:30:19 +01:00
Makefile Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
README.md More README information and badges 2019-01-27 01:20:13 -03:00
board.c FW3.28: dual throttle curves, ntc beta factor config, board file added 2017-09-06 21:13:28 +02:00
board.h FW3.28: dual throttle curves, ntc beta factor config, board file added 2017-09-06 21:13:28 +02:00
buffer.c Shifting signed 32-bit value by 31 bits is undefined behaviour 2019-01-25 00:09:08 -03:00
buffer.h FW 3.7 2016-11-04 15:18:34 +01:00
chconf.h FW 2.3: MAJOR UPDATE: FOC!! 2015-12-08 21:01:23 +01:00
comm_can.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
comm_can.h Major 2019 update 2019-02-18 19:30:19 +01:00
comm_usb.c Major 2019 update 2019-02-18 19:30:19 +01:00
comm_usb.h Major 2019 update 2019-02-18 19:30:19 +01:00
comm_usb_serial.c FW3.28: dual throttle curves, ntc beta factor config, board file added 2017-09-06 21:13:28 +02:00
comm_usb_serial.h FW 3.7 2016-11-04 15:18:34 +01:00
commands.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
commands.h Major 2019 update 2019-02-18 19:30:19 +01:00
conf_general.c Remove duplicated flux linkage detection function 2019-02-19 10:55:40 -03:00
conf_general.h Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
conf_mc_app_default.h Major 2019 update 2019-02-18 19:30:19 +01:00
crc.c FW 3.7 2016-11-04 15:18:34 +01:00
crc.h FW 3.7 2016-11-04 15:18:34 +01:00
datatypes.h Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
digital_filter.c FW 3.7 2016-11-04 15:18:34 +01:00
digital_filter.h FW 3.7 2016-11-04 15:18:34 +01:00
eeprom.c Do not write flash memory if MCU VDD is below 2.9V 2019-01-10 11:14:00 -03:00
eeprom.h FW 3.7 2016-11-04 15:18:34 +01:00
encoder.c Major 2019 update 2019-02-18 19:30:19 +01:00
encoder.h Major 2019 update 2019-02-18 19:30:19 +01:00
flash_helper.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
flash_helper.h FW 3.7 2016-11-04 15:18:34 +01:00
gpdrive.c Calculate deadtime for gpdrive.c 2019-02-19 11:01:28 -03:00
gpdrive.h Major 2019 update 2019-02-18 19:30:19 +01:00
halconf.h Major 2019 update 2019-02-18 19:30:19 +01:00
irq_handlers.c Last commit asserted a FAULT_CODE_NONE but it shouldnt be used like that, it caused issues on boot 2019-01-08 19:23:43 -03:00
isr_vector_table.h Ported to ChibiOS 3, refactoring, cleanup, added safe start delay after fault for PPM app, removed unused ST libraries 2015-10-08 23:09:39 +02:00
ld_eeprom_emu.ld Ported to ChibiOS 3, refactoring, cleanup, added safe start delay after fault for PPM app, removed unused ST libraries 2015-10-08 23:09:39 +02:00
led_external.c Fix shadowed variables. Add -Wshadow. 2019-01-28 16:52:02 -03:00
led_external.h FW 3.7 2016-11-04 15:18:34 +01:00
ledpwm.c FW 3.7 2016-11-04 15:18:34 +01:00
ledpwm.h FW 3.7 2016-11-04 15:18:34 +01:00
main.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
mc_interface.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
mc_interface.h Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
mcpwm.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
mcpwm.h Major 2019 update 2019-02-18 19:30:19 +01:00
mcpwm_foc.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
mcpwm_foc.h Major 2019 update 2019-02-18 19:30:19 +01:00
mcuconf.h Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
packet.c Major 2019 update 2019-02-18 19:30:19 +01:00
packet.h Major 2019 update 2019-02-18 19:30:19 +01:00
pi_stm32.cfg Removed software servo driver, fixed hw servo driver to work with all hardwares 2018-02-28 10:22:25 +01:00
servo_dec.c FW 3.7 2016-11-04 15:18:34 +01:00
servo_dec.h FW 3.7 2016-11-04 15:18:34 +01:00
servo_simple.c Removed software servo driver, fixed hw servo driver to work with all hardwares 2018-02-28 10:22:25 +01:00
servo_simple.h FW 3.7 2016-11-04 15:18:34 +01:00
stm32-bv_openocd.cfg
stm32f4xx_conf.h Restore capability of enabling parameter assertion of peripheral libraries 2019-01-28 16:47:10 -03:00
terminal.c Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
terminal.h First official commit after the VESC Project release 2017-09-04 21:12:43 +02:00
timeout.c Avoid watchdog resets if CAN is not used 2019-02-19 10:59:38 -03:00
timeout.h Extend watchdog coverage with IWDG, a watchdog running from an independent LF oscillator. If any of the threads being monitored does not report for more than 12ms, a reset will be asserted. When a WDG reset happens, the user can see it in the fault logs from vesc tool 2019-01-24 12:19:44 -03:00
utils.c Major 2019 update 2019-02-18 19:30:19 +01:00
utils.h Resolve merge conficts with major 2019 release 2019-02-18 20:25:52 -03:00
ws2811.c Fix shadowed variables. Add -Wshadow. 2019-01-28 16:52:02 -03:00
ws2811.h FW 3.7 2016-11-04 15:18:34 +01:00

README.md

VESC firmware

License: GPL v3 Travis CI Status Codacy Badge Contributors Watchers Stars Forks

An open source motor controller firmware.

This is the source code for the VESC DC/BLDC/FOC controller. Read more at
http://vesc-project.com/

Supported boards

All of them!

Make sure you select your board in conf_general.h

//#define HW_VERSION_40
//#define HW_VERSION_45
//#define HW_VERSION_46 // Also for 4.7
//#define HW_VERSION_48
//#define HW_VERSION_49
//#define HW_VERSION_410 // Also for 4.11 and 4.12
#define HW_VERSION_60
//#define HW_VERSION_R2
//#define HW_VERSION_VICTOR_R1A
//#define HW_VERSION_DAS_RS
//#define HW_VERSION_PALTA
//#define HW_VERSION_RH
//#define HW_VERSION_TP
//#define HW_VERSION_75_300
//#define HW_VERSION_MINI4
//#define HW_VERSION_DAS_MINI

There are also many other options that can be changed in conf_general.h

Prerequisites

On an Ubuntu machine, install the gcc-arm-embedded toolchain

sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt update
sudo apt install gcc-arm-embedded

Add udev rules to use the stlink v2 programmer without being root

wget vedder.se/Temp/49-stlinkv2.rules
sudo mv 49-stlinkv2.rules /etc/udev/rules.d/
sudo udevadm trigger

Build and flash the bootloader

Build

Clone and build the firmware

git clone https://github.com/vedderb/bldc.git vesc_firmware
cd vesc_firmware
make

Flash it using an STLink SWD debugger

make upload

Contribute

Head to the forums to get involved and improve this project.

License

The software is released under the GNU General Public License version 3.0