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
Oskar Weigl
87e83bd4ba
Change ERROR_CURRENT_UNSTABLE to ERROR_CURRENT_LIMIT_VIOLATION
2019-08-09 20:37:07 -07:00
Oskar Weigl
ce8949f774
add current limit tolerance and current lim violation error check
2019-06-02 14:53:58 -07:00
Oskar Weigl
a86fb3e59b
add coherent sampling and 1.5 cycle pwm phase advance
2019-02-01 21:01:45 -08:00
Oskar Weigl
19f266c0fa
update min inductance
2019-01-29 19:34:28 -08:00
Oskar Weigl
9328617092
change inductance bounds
2019-01-24 14:34:45 -08:00
Oskar Weigl
15983cc4f0
Thermal current limit with linear derating
2019-01-16 01:19:36 -08:00
Oskar Weigl
31562aca12
add voltage magnitude clamping for gimbal motors in closed loop
2019-01-15 19:44:07 -08:00
Oskar Weigl
167f00e622
add current sense saturation fault
2018-11-27 22:29:02 -08:00
Oskar Weigl
1511ae1db7
use tim13 as realtime control diagnostic timebase
2018-10-24 21:56:02 -07:00
Oskar Weigl
26eb4e7765
disable PWM straight away on motor error
2018-10-07 13:12:37 -07:00
Oskar Weigl
85540cb1ab
move check_for_errors to inline
2018-10-06 01:39:53 -07:00
Oskar Weigl
833bdde5f8
Merge pull request #253 from madcowswe/property-hooks
...
Property hooks
2018-09-30 19:16:38 -07:00
Oskar Weigl
6c89460d88
Merge pull request #254 from madcowswe/fix-sincos
...
Fix rounding issue in arm_cos_f32
2018-09-30 19:13:53 -07:00
Oskar Weigl
a1c8a559c5
Merge branch 'devel' into property-hooks
2018-09-30 18:55:22 -07:00