Commit Graph
921 Commits
Author SHA1 Message Date
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