Commit Graph
87 Commits
Author SHA1 Message Date
Paul Guenette 1d0fcc5fcf Throw a DRV FAULT if initialization fails 2020-11-01 14:36:02 -05:00
Paul Guenette a428d08ecd Merge branch 'timing' into devel_fast 2020-10-30 21:26:31 -04:00
Paul Guenette 53a976fe6b Merge branch 'devel' into devel_fast 2020-10-30 20:48:37 -04:00
PAJohnson fd848f2c36 Addressed PR comments
Updated API Migration Notes
Changed Axis error that is thrown for over temp from ERROR_OVER_TEMP to ERROR_MOTOR_FAILED
Moved setting of thermistor_.motor_ = this from motor apply_config() to motor constructor
Moved motor_thermistor apply_config call from Motor to config_apply_all() in main.cpp
2020-10-21 03:44:32 -04:00
Paul Guenette b13fbe4163 Merge remote-tracking branch 'madcowswe/clean-math-funcs' into devel 2020-10-20 23:32:54 -04:00
PAJohnson 1899fa7df5 Moved thermistors from belonging to Axis to being a part of Motor.
Thermistor apply_config now called in Motor::apply_config()
Thermistor errors rolled into motor errors
odrivetool and GUI updated to handle change
Removed CurrentLimiter,Thermistor arrays abstraction
2020-10-13 22:01:52 -04:00
Paul Guenette c764e2b286 Merge pull request #485 from madcowswe/rc-v0.5.1
Reset Ibus in reset_current_control
2020-09-10 19:33:43 -04:00
Unknown 4c5761c120 Reset Ibus in reset_current_control 2020-09-10 19:31:29 -04:00
Unknown 29332281be Convert SVM to not use out parameters 2020-09-05 00:56:59 -04:00
Unknown 4815e5ed19 Change sqrtf to std::sqrt 2020-09-05 00:23:58 -04:00
Oskar Weigl 600832f8cf drop flag fno-finite-math-only, and implement explicit nan check function 2020-09-04 20:31:58 -07:00
Oskar Weigl fb7d1d2961 change fabsf to std abs 2020-09-04 18:27:14 -07:00
Oskar Weigl 711111e6fb change fmaxf to std max 2020-09-04 18:23:33 -07:00
Unknown ea03574ce3 Add FOC_Current timer 2020-08-27 18:09:44 -04:00
Oskar Weigl f59c80515b add MOTOR_ERROR_MODULATION_IS_NAN 2020-08-23 13:38:23 -07:00
PAJohnson f52c68b3a8 Added FF terms for current control and config variables to enable them. 2020-08-21 16:52:27 -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
Oskar Weigl af16316940 Merge branch 'devel' into counts_to_rads 2020-07-25 20:29:43 -07:00
Samuel Sadok 171dab31bd fix ERROR_CONTROL_DEADLINE_MISSED
call effective_current_limit() only once instead of several times per
control iteration
2020-07-21 13:02:03 +02:00
Samuel Sadok 2d256f43cb more refactoring in perparation for new hardware 2020-07-21 13:02:03 +02:00
Samuel Sadok 6377df4b1e move ext int subscribe logic to Stm32Gpio class 2020-07-21 12:31:03 +02:00
Samuel Sadok ab7957f07f Overhaul upper level NVM configuration manager
Instead of using a declarative compile-time type that defines the layout
of the NVM data, now we use procedural style code to load and store the
configuration as a series of pop and push calls.  This allows for more
flexible code organization and opens the future possibility of storing
dynamically sized data (e.g. an array prepended by a length field).
2020-07-21 12:31:03 +02:00
Samuel Sadok 856455077d refactor drv8301 driver 2020-07-21 12:31:03 +02:00
Oskar Weigl 1808bedf1a Fix phase_vel units 2020-07-18 19:02:28 -07: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
Unknown 883dd27a17 Fix static in encoder.cpp, constexpr the things 2020-07-11 22:19:41 -04:00
Oskar Weigl 758989e2b4 Cleaner clamping 2020-06-18 12:58:10 -07:00
pjohnson 63f7c09bc2 Clamped max_torque to 0 for ACIM motors in case max_torque happened to be negative. 2020-06-18 15:13:58 -04:00
pjohnson a9b1841092 Added Motor::max_available_torque(). Use is to correctly determine torque limit for velocity anti-windup.
Set default value (0.0) for current_setpoint
Units documentation
Removed unused variable thermal_torque_lim_
2020-06-18 13:11:41 -04:00
pjohnson ceabd24582 Made changes reflecting PR comments.
Added torque_ramp_rate to controller config.
Changed INPUT_MODE_CURRENT_RAMP to INPUT_MODE_TORQUE_RAMP for controller input mode enum.
Torque limits and current limits are now observed seperately. Torque limit is in the controller, current limit is in the motor object.
Fixed torque -> current calculation in motor_update to handle ACIM motors.
2020-06-17 13:15:36 -04:00
pjohnson e2527ec468 added torque_constant to motor config struct and interface file
changed all instances of current_setpoint to torque_setpoint
modified limitVel() to use torque instead of current units
removed effective_current_lim, added effective_torque_lim()
added torque_lim to motor config struct and interface file
2020-06-16 15:55:18 -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 3d07325022 remove aligned formatting of assignments 2020-05-20 12:27:28 +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
Unknown f635ee85cf Convert an if-else tree to a switch statement for clarity 2020-05-07 18:05:40 -04:00
Unknown 6863507570 Use std::clamp instead of manual clamping in some spots 2020-05-07 18:04:27 -04:00
Unknown 9ef3d0c6a1 Store the result of get_inverter_temp to a member variable 2020-04-25 22:38:53 -04:00
Unknown 7a756c1761 Merge branch 'devel' into RazorsEdge 2020-01-01 21:45:41 -05:00
Oskar Weigl e19e857360 fix typo 2019-10-28 20:39:23 -07:00
Oskar Weigl cbae7c5b85 change current lim tolerance to absolute margin 2019-10-28 20:34:17 -07:00
Oskar Weigl 4015ed09dd add ACIM autoflux 2019-09-23 00:07:45 -07:00
Oskar Weigl c8c6f6237c finish implementing basic ACIM control 2019-09-22 23:27:40 -07: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 cd304f7b78 Merge branch 'devel' into RazorsEdge 2019-08-26 07:36:26 -04:00
Unknown 2e3768c329 Start moving casts and math functions to std:: 2019-08-25 17:13:10 -04:00
Unknown 2b58d15d8d Formatting pass 2019-08-20 23:13:54 -04:00