Samuel Sadok
dee8efef22
initialize USB interrupt pump before initializing USB device
2018-04-20 21:15:59 -07:00
Samuel Sadok
27574234d5
improve resilience and safety of entering DFU mode
...
- Disable interrupts before setting the reboot cookie
- Delay after NVIC_SystemReset before jumping to bootloader
(see comment for an explanation)
- Make a variable for the reboot cookie
- Do reboot cookie checks before C++ static initializers
2018-04-16 23:20:20 -07:00
Samuel Sadok
aee1a7343d
add property read/write functionality to ASCII protocol
...
Command examples:
r vbus_voltage
w axis0.config.enable_step_dir 1
2018-04-14 23:03:03 -07:00
Samuel Sadok
bd292b4775
fix comment
2018-04-13 16:17:05 -07:00
Samuel Sadok
44fd8090e1
add overvoltage protection
...
The motor phases will go into floating state as soon as an overvoltage condition is detected.
2018-04-10 15:49:16 -07:00
Samuel Sadok
b4fa53c849
fix encoder offset calibration and error handling
2018-04-10 15:49:00 -07:00
Samuel Sadok
8f02ddc052
fix USB patch file
2018-04-09 18:18:23 -07:00
Samuel Sadok
8972e4a8b1
reenable ASCII protocol (formerly "legacy" protocol)
2018-04-07 21:20:26 -07:00
Samuel Sadok
e264e1c326
rename legacy protocol to ASCII protocol
2018-04-07 13:25:19 -07:00
Samuel Sadok
61983a10da
store encoder_configs and controller_configs in NVM
2018-04-07 12:30:37 -07:00
Samuel Sadok
814454da00
set usb task pump priority to osPriorityAboveNormal
...
osPriorityNormal is the same priority as the communication task. If the USB pump task runs on the same priority, it sometimes fails to respond to the host in time, causing spurious halt conditions.
2018-04-06 22:19:03 -07:00
Samuel Sadok
b229fb16d3
Merge branch 'devel' into sam_refactoring
2018-04-06 15:04:51 -07:00
Oskar Weigl
fabd4fae60
Merge remote-tracking branch 'origin/sam_rtos_debugging' into devel
2018-04-06 14:24:44 -07:00
Samuel Sadok
98e24f3eb6
add Axis::ERROR_BRAKE_RESISTOR_DISARMED
2018-04-06 13:12:49 -07:00
Samuel Sadok
ae9a208f1f
turn error enums into flags
2018-04-06 13:12:39 -07:00
Samuel Sadok
0b0acebf23
make two separate debug configurations
2018-04-06 13:07:24 -07:00
Samuel Sadok
99c5649105
set board version in vscode settings
2018-04-03 16:52:58 -07:00
Samuel Sadok
b8b483c9d6
Firmware hardening
...
- check return code of enqueue_modulation_timings
- wrap all hardware access to safety critical hardware timer registers in safety_critical_ sections. These functions like the armed-ness of each PWM output to a corresponding armed state that can only be set at start or by the user
- ensure NaN in any variables doesn't cause unpredictable behavior on the safety critical PWM outputs
2018-03-30 22:32:07 -07:00
Samuel Sadok
af4fc8a686
Merge branch 'devel' of github.com:madcowswe/ODrive into sam_refactoring
2018-03-30 16:34:32 -07:00
Oskar Weigl
f6e52c0f14
reflect move of drv driver
2018-03-30 13:23:28 -07:00
Samuel Sadok
e5badaf724
update VSCode C++ settings
2018-03-30 13:16:26 -07:00
Oskar Weigl
b2df11a416
Update tup.config.default
2018-03-29 23:47:58 -07:00
Samuel Sadok
a4812f4ed8
change USB PID from 0x0D33 to 0x0D32
...
The official ODrive PID is 0x0D32 however the
firmware wrongly announced PID 0x0D33. This was already
fixed earlier but the fix was undone by CubeMX. This
commit also fixes the CubeMX setting.
2018-03-29 15:00:06 -07:00
Samuel Sadok
a0dc56f2b0
change release binary naming convention
2018-03-27 13:32:47 -07:00
Samuel Sadok
3593a68128
add skip_cleanup and file_glob to .travis.yml
fw-v0.3.6
2018-03-27 12:36:32 -07:00
Samuel Sadok
e4fb0016e5
fix travis deploy
2018-03-26 23:43:55 -07:00
samuelsadok
c639a4620c
Merge pull request #152 from madcowswe/fw-v0.3.6-rc
...
Fw v0.3.6 release
2018-03-26 23:13:47 -07:00
Samuel Sadok
43aa805fd3
amend release notes
2018-03-26 23:07:34 -07:00
Samuel Sadok
e40632a008
Merge branch 'master' of github.com:madcowswe/ODrive into fw-v0.3.6-rc
2018-03-26 22:58:13 -07:00
Oskar Weigl
7e1c9b55a1
Merge remote-tracking branch 'origin/sam_cube_fix' into devel
2018-03-26 17:26:38 -07:00
Samuel Sadok
3387da8030
add patch for FreeRTOS const fixes
2018-03-26 15:35:37 -07:00
Samuel Sadok
ac309d371b
update CubeMX settings
2018-03-26 15:26:38 -07:00
Samuel Sadok
d9f674ac10
Merge branch 'sam_cube_fix' into sam_refactoring
2018-03-26 15:02:17 -07:00
Samuel Sadok
ba073dcce8
Merge branch 'devel' of github.com:madcowswe/ODrive into sam_refactoring
2018-03-26 15:02:01 -07:00
Samuel Sadok
2d251b3ca6
register FreeRTOS heap change in CubeMX
...
When we changed the FreeRTOS heap to reside in the CCM,
we didn't update the CubeMX settings. This means CubeMX
would revert the change.
This commit fixes this.
2018-03-26 14:55:54 -07:00
Oskar Weigl
17dc2c5c1e
Merge pull request #151 from madcowswe/sam_travis
...
CI updates
2018-03-26 13:38:31 -07:00
Samuel Sadok
603ef50ea4
move build.sh to Firmware
2018-03-26 13:12:20 -07:00
Samuel Sadok
21437eaf59
amend changelog
2018-03-25 18:46:48 -07:00
Samuel Sadok
937953688c
don't fail if build dir doesn't exist
2018-03-25 18:26:17 -07:00
Samuel Sadok
c0d7d816fc
add github API key for travis
2018-03-25 18:25:27 -07:00
Samuel Sadok
0e37ff01e4
set current controller gains based on NVM configration
...
If the motor phase resistance and phase inductance was loaded from NVM (pre_calibrated = true) (as opposed to calibration) the current control P and I gains would not be loaded correctly. This commit fixes this.
2018-03-23 19:54:45 -07:00
Samuel Sadok
7695828d31
fix sensorless estimator to respect motor direction
2018-03-23 19:54:34 -07:00
Samuel Sadok
09b8201868
expose sensorless estimator on protocol
2018-03-23 17:10:02 -07:00
Samuel Sadok
69e1b5331a
make encoder index search and encoder offset calibration independent
...
These two activities are now separate states of the axis state machine.
Each of them can be invoked independently at any time (provided the motor is calibrated).
2018-03-23 17:09:52 -07:00
Samuel Sadok
8a33a6d8ff
ignore tup_build.sh
2018-03-17 22:40:23 -07:00
Samuel Sadok
95ba621403
Merge branch 'devel' of github.com:madcowswe/ODrive into sam_refactoring
2018-03-17 22:38:16 -07:00
Samuel Sadok
d4075f4127
add preliminary travis deploy section
2018-03-17 22:19:01 -07:00
Samuel Sadok
fcdbde2640
build for multiple configurations
2018-03-17 22:11:58 -07:00
Samuel Sadok
6e6909c507
enable RTOS support for cortex-debug
2018-03-17 21:23:08 -07:00
Oskar Weigl
1087c0a824
Merge pull request #147 from madcowswe/sam_erase_config
...
Add `make erase_config`
2018-03-16 23:00:47 -07:00