Malaphor
73b15f2fe6
Add get_adc_voltage()
2022-08-18 20:18:04 -07:00
Oskar Weigl
6444197251
make input mode change trigger consistent with all sources
2022-05-05 13:40:07 -07:00
Torbjørn Ludvigsen
fa144cff29
Makes behavior consistent across interfaces
...
Defines and uses set_setpoint_to_estimate() reusable function
Uses it in three places:
- axis.cpp to avoid transient on startup
- can_simple.cpp to avoid sudden movement upon mode change
- odrive-interface.yaml just to make it executable via USB and UART
Swaps set_input_pos() to set_input_pos_and_steps() so that we get the
same behavior when changing input_pos over USB and UART as we get when
we change it via CAN.
2022-05-05 11:11:01 +02:00
Torbjørn Ludvigsen
58a6567f83
Stands still upon switching to position mode via can
2022-04-07 15:10:25 +02:00
Torbjørn Ludvigsen
ae262e4cd1
Sets steps_ in CANSimple::set_input_pos_callback
...
... because otherwise, the effect of the callback is canceled by an
assignment in the main update() loop, that calculates input_pos
based on steps_, if we're in step/dir mode.
- Fixes a steps_ underflow/wrapping bug
2022-04-07 15:10:25 +02:00
Paul Guenette
6ab5807428
Fix get_iq_callbacks function
2022-04-01 13:04:39 -04:00
Paul Guenette
20f3028dd3
Fix axis_state signal length
2022-02-09 18:11:19 -05:00
Paul Guenette
13f95dece3
Make rtr only necessary when DLC > 0 in CANsimple
2021-10-21 20:05:56 -04:00
Paul Guenette
965c0a14e6
Allow setting controller gains on CAN Simple
2021-09-23 00:09:44 -04:00
Samuel Sadok
047c44201e
add trajectory done bit to CAN simple protocol
2021-09-01 19:36:30 +02:00
Samuel Sadok
e109d2d6b5
Fix missing new line when ASCII protocol is used with checksums.
...
See https://github.com/odriverobotics/ODrive/issues/596
2021-07-22 11:01:14 +02:00
Oskar Weigl
7ba08af710
add MSG_SET_LINEAR_COUNT back again at 0x19
2021-06-29 11:57:13 -07:00
Samuel Sadok
55de791e17
[ASCII protocol] fix corrupted responses
2021-06-03 13:58:07 +02:00
PAJohnson
640c411cd3
Fix cansimple for 64 bit motor error
2021-05-25 20:19:31 -04:00
PAJohnson
639f3e6813
Changed docs to prefer odrv.clear_errors() for error clearing instead of dump_errors(odrv, True). Fixed dump_errors() to rearm brake resistor if clear=True
2021-05-21 20:08:29 -04:00
PAJohnson
b707cd870f
CAN baud rate setting fix, spinout detection improvements
2021-05-13 23:21:48 -04:00
Samuel Sadok
d328a74c17
Merge branch 'devel' into libfibre
2021-01-08 11:54:16 +01:00
Samuel Sadok
2caf0d3c0e
fix compatibility with new fibre-cpp
2021-01-08 11:40:36 +01:00
Samuel Sadok
2a127f6821
fix uart tests
2021-01-05 18:13:52 +01:00
Paul Guenette
6e856a8f20
Add current limit to the limits message
2020-12-22 00:10:12 -05:00
Samuel Sadok
119529b0a7
fix CI
2020-12-09 20:21:10 +01:00
Samuel Sadok
52adf33923
fix CAN initialization
2020-12-07 20:34:04 +01:00
Samuel Sadok
f4b312accb
fix various libfibre bugs
2020-12-04 20:11:21 +01:00
Samuel Sadok
21e19b9c18
Merge branch 'devel' into libfibre
2020-12-03 21:20:30 +01:00
Samuel Sadok
0fb0a9b3c6
add canbus.hpp
2020-12-03 17:02:56 +01:00
Samuel Sadok
4e350823b4
refactor CAN
2020-12-03 12:53:54 +01:00
Matt Quick
520783d4b6
Refactor CAN interface for additional protocols
2020-12-03 12:48:19 +01:00
Samuel Sadok
207426aa0f
initial ODrive v4.0 support
2020-11-18 18:59:56 +01:00
Samuel Sadok
df83782bd4
re-add missing objects in ASCII protocol
2020-11-18 18:58:41 +01:00
Samuel Sadok
c32cbec58c
rename some of the new functions and variables
2020-11-16 21:03:23 +01:00
Samuel Sadok
c23076c19c
Merge branch 'devel' into control-loop-refactor
2020-11-05 13:43:57 +01:00
Samuel Sadok
1f7815459f
Merge branch 'devel' into control-loop-refactor
2020-11-03 18:34:08 +01:00
Paul Guenette
dbb77fa7b6
Merge branch 'devel' into uart1
2020-10-30 22:51:21 -04:00
Paul Guenette
ef61d6d814
Merge branch 'devel' into uart1
2020-10-30 20:39:17 -04:00
Samuel Sadok
6088b8dadf
Merge branch 'devel' into libfibre
2020-10-30 16:59:01 +01:00
Paul Guenette
b13fbe4163
Merge remote-tracking branch 'madcowswe/clean-math-funcs' into devel
2020-10-20 23:32:54 -04:00
Paul Guenette
44218088c8
Merge remote-tracking branch 'madcowswe/LTO' into devel
2020-10-20 23:32:16 -04:00
Samuel Sadok
81ae829fce
fix merge
2020-10-16 17:38:56 +02:00
Samuel Sadok
7dea86666b
Merge branch 'devel' into can_improvements
2020-10-16 17:18:03 +02:00
Samuel Sadok
d6debf83c5
Merge branch 'devel' into uart1
2020-10-16 11:51:05 +02:00
Samuel Sadok
e15ab60184
change user facing component names
...
UART0 => UART_A
UART1 => UART_B
UART2 => UART_C
CAN0 => CAN_A
SPI0 => SPI_A
I2C0 => I2C_A
PWM0 => PWM
2020-10-15 11:52:44 +02:00
Oskar Weigl
1720232563
Update ascii_protocol.cpp
2020-10-09 15:24:24 -07:00
Paul Guenette
7922f4f7ec
Fix substring
2020-10-09 17:57:41 -04:00
Paul Guenette
d24d9f8e1c
Add set_linear_count function to ASCII and CAN
2020-10-07 22:43:11 -04:00
Samuel Sadok
e7f046d518
Add support for UART1
2020-09-24 19:59:14 +02:00
Samuel Sadok
7fd0806d49
introduce InputPort and OutputPort, don't use NAN
...
The InputPort/OutputPort infrastructure facilitates safer
data paths between components: OutputPorts store a value
and the age of the value measured in number of control loop
iterations. InputPorts can be connected to various sources,
for instance an OutputPort. InputPorts expose the values to
consumers in the form of std::optional to reflect the fact
that an InputPort can be dangling or connected to a stale
OutputPort.
2020-09-23 16:20:21 +02:00
Paul Guenette
0e438bd3cd
Re-send cyclic CAN messages if the mailboxes are full
2020-09-22 21:56:19 -04:00
Samuel Sadok
a1c67e6ba1
refactor Fibre to AsyncStream architecture
...
The previous implementation was based on blocking calls, i.e. the
platform dependent output channel would block on a write operation and
by extension the Fibre decoder could also block when given data by an
input channel. The revised implementation in this commit is based around
a fully asynchronous (i.e. non-blocking) stream interface.
2020-09-15 12:57:39 +02:00
Oskar Weigl
b38fd2be9c
Only inline short functions
2020-09-05 15:25:32 -07:00
Unknown
f6f0cf9cd3
Compile with -flto
2020-09-02 23:12:05 -04:00