Commit Graph
85 Commits
Author SHA1 Message Date
Unknown 499dd64d87 Ensure sample trigger occurs at the right spot, and only once. 2020-08-26 01:42:03 -04:00
Unknown 2bb990937a Add TaskTimer class 2020-08-25 21:40:24 -04:00
Unknown 7077bb11d0 Merge branch 'timing' into devel 2020-08-25 18:22:37 -04:00
Unknown b1961e8a29 Add timers for sections 2020-08-24 00:50:23 -04:00
Samuel Sadok 8d144bd944 Merge branch 'devel' into lowlevel-refactor 2020-08-05 16:28:17 +02:00
Oskar Weigl 3760c7bc84 Merge branch 'rc-v0.5.0' into devel 2020-08-03 20:16:51 -07:00
Samuel Sadok 938f088fc2 make axis allocation static 2020-07-21 13:02:03 +02:00
Samuel Sadok b3ddadb360 further improve hardware independence 2020-07-21 12:55:10 +02:00
Samuel Sadok 71cc825ba2 Move complexity out of CubeMX autogenerated code
Where viable, customizations in the CubeMX code (mostly the USER
CODE sections) are moved to our own files (primarily main.cpp and
board.cpp).

This will minimize code duplication when adding a new, completely
separate instance of the CubeMX files. The USB code still contains a
large amount of customization which is not touched by this commit and
should be refactored separately later on.

The entry point is now in main.cpp (moved from the CubeMX-generated
main.c). This increases control over the boot process while also
improving code organization.
2020-07-21 12:55:10 +02:00
Samuel Sadok 1f3391c81b introduce GPIO modes 2020-07-21 12:55:10 +02:00
Samuel Sadok c745983f95 define gpios as array of Stm32Gpio objects 2020-07-21 12:31:03 +02:00
Samuel Sadok cc79c8eecb overhaul timer setup/synchronization
This new method is more flexible in the sense of what timers to
synchronize and also provides clearer guarantees with respect to
the repetition counter and prescaler.
2020-07-21 12:31:03 +02:00
Samuel Sadok 6377df4b1e move ext int subscribe logic to Stm32Gpio class 2020-07-21 12:31:03 +02:00
Samuel Sadok 856455077d refactor drv8301 driver 2020-07-21 12:31:03 +02:00
Rowan Goemans 1a0d6acace - Refactored thermal and current lmiting sub-systems and introduced motor thermistor support.
- Added thermal errors to dump_errors call in odrivetool.
- Added function in odrivetool to set thermistor coefficients based on thermistor specs.
- Added documentation for users on how to connect and configure their own thermistors.
2020-07-17 14:09:47 +02:00
Samuel Sadok 7fade2b95a add filter to the reported <odrv>.ibus 2020-07-13 16:00:33 +02:00
Unknown 883dd27a17 Fix static in encoder.cpp, constexpr the things 2020-07-11 22:19:41 -04:00
Samuel Sadok 653c4c327e Merge remote-tracking branch 'origin/devel' into feature/interface_autogen_merged 2020-05-22 21:27:58 +02:00
Samuel Sadok b3912d58c2 revert numerical static_cast to C style casts
As per https://github.com/madcowswe/ODrive/pull/410#discussion_r427725994
2020-05-20 13:26:14 +02:00
Samuel Sadok 149dcf7377 reenable ascii protocol 2020-05-18 14:44:37 +02:00
Samuel Sadok e4d70a22b7 Initial implementation of interface autogenerator.
TODO:
 - write to endpoints from float (for PWM/analog input)
 - ascii protocol
2020-05-14 23:05:02 +02:00
Samuel Sadok da7f719283 improve naming consistency between code and fibre
Consistent naming makes code autogeneration easier.
This commit does not claim that the exported names of the variables were
more sensible than the in-code names. However changing the exported
names can break external tools and needs to happen in a controlled and
documented way.
2020-05-14 11:16:32 +02:00
Samuel Sadok 011fb86377 make note on timing 2020-05-08 11:02:04 +02:00
Samuel Sadok 8cbee27a5d disable overvoltage ramp if brake_resistance == 0 2020-05-08 10:38:53 +02:00
Oskar Weigl 19647db3e6 update changelog, add debug freeze of tim13 2020-05-07 13:25:36 -07:00
Samuel Sadok 484c5ab9da clarify comments 2020-05-06 11:23:46 +02:00
Samuel Sadok 50ecdef860 move DC overcurrent/undercurrent checks to update_brake_current()
The checks now take into account the brake current.
Expose ibus on fibre.
2020-05-05 18:16:06 +02:00
Samuel Sadok 1dc420a76d various changes to update_brake_current:
- cleaner implementaiton of the overvoltage ramp with config variables separate from other functions
 - explicit enable flag for overvoltage ramp (disabled by default)
 - reinstate brake duty cycle NaN error
 - add informational flag for brake resistor saturation
2020-05-04 12:54:34 +02:00
Oskar Weigl edb6a1611c changed max brake duty to 95 pct 2020-05-01 17:11:47 -07:00
Samuel Sadok f84ff36c74 only enable vbus_voltage clamping if dc_bus_overvoltage_trip_level > nominal_voltage 2020-04-30 11:44:14 +02:00
Unknown 8a7a5aac4d Remove VBUS_OVERVOLTAGE_LEVEL because it's not being used 2020-03-29 21:10:38 -04:00
Unknown db890b0d5c Use brake_current as a true FF 2020-03-28 00:58:32 -04:00
Unknown 31fb65b86c Improve braking logic 2020-03-27 21:30:32 -04:00
Unknown c231928619 Merge branch 'feature/brake_current_fix' into RazorsFrozenTesting 2020-03-27 21:24:49 -04:00
Unknown 42b6effedd Implement a better brake resistor current handler 2020-03-26 17:20:32 -04:00
Unknown 1bdea53ec8 Improve testability 2020-01-08 22:11:50 -05:00
Unknown 7a756c1761 Merge branch 'devel' into RazorsEdge 2020-01-01 21:45:41 -05:00
Unknown f127df72f1 Add stack_size vars, reduce stack usage 2019-10-26 14:28:06 -04:00
Unknown 9e782cce7b Revert "Formatting pass"
This reverts commit 2b58d15d8d.
2019-09-15 01:15:51 -04:00
Oskar Weigl 6a929d4236 improve oscilloscope functionality 2019-09-12 18:11:32 -07:00
Unknown 846f3a2cc1 Merge remote-tracking branch 'madcowswe/devel' into RazorsEdge 2019-09-09 23:45:33 -04:00
Oskar Weigl 47bcdfa08f fix broken analog feature due to out of RAM for stack 2019-09-09 20:42:10 -07:00
Unknown 2b58d15d8d Formatting pass 2019-08-20 23:13:54 -04:00
Paul Guenette 3dc969ad15 Merge branch 'Non-Blocking_Absolute_SPI' into RazorsEdge 2019-05-25 14:56:26 +02:00
Tobin Hall bb7ce30ba4 Adding low pass filter to encoder read failures. Staggering SPI triggers 2019-05-11 23:17:45 +02:00
Tobin Hall 7440d982e3 Adding detection of which axis is waiting for the data. 2019-05-11 23:17:45 +02:00
Tobin Hall 4b29c51548 Adding preliminary support for SPI absolute encoders. 2019-05-11 23:17:45 +02:00
Paul Guenette db2c02c680 Allow for regen current before braking 2019-03-25 20:04:45 +01:00
Oskar Weigl a86fb3e59b add coherent sampling and 1.5 cycle pwm phase advance 2019-02-01 21:01:45 -08:00
Oskar Weigl 00c21bc510 Merge remote-tracking branch 'origin/sam-patch-1' into devel 2019-01-10 18:38:57 -08:00