Commit Graph
55 Commits
Author SHA1 Message Date
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
Oskar Weigl 6e34beba9f increase analog polling to 100Hz 2018-12-17 14:19:55 -08:00
Oskar Weigl df2067c544 Merge branch 'pr/kalvdans/243' into devel 2018-12-17 13:54:32 -08:00
samuelsadok 78bf4a7320 disarm motor if brake is disarmed 2018-11-30 08:46:51 +01:00
Oskar Weigl bbef49611a implement vel ramp 2018-11-14 00:13:19 -08:00
Oskar Weigl 1511ae1db7 use tim13 as realtime control diagnostic timebase 2018-10-24 21:56:02 -07:00
Oskar Weigl a0cedaaf94 clean up critical section use 2018-10-07 21:09:09 -07:00
Christian Häggström cc0f083bf0 Poll analog inputs to drive a configured endpoint. 2018-09-13 14:28:49 +02:00
Oskar Weigl 9dcabb7b99 brake duty saturation error reporting 2018-08-06 13:37:22 -07:00
Oskar Weigl 5cc1a9546d implement axis temp reading 2018-07-01 01:11:44 -07:00
Oskar Weigl cb84e11348 pwm in: only ch4 is available on odrive v3.2 2018-06-23 20:05:57 -07:00
Samuel Sadok 689fe1512c add PWM channel 1 and 2 initialization, add pulldown, fix off-by-one 2018-05-15 23:58:55 -07:00
Oskar Weigl c13bee09ed Merge remote-tracking branch 'origin/pwm-in' into powerwheels 2018-05-15 16:55:46 -07:00
Samuel Sadok d3105cfcaf expose PWM mappings as endpoint_ref 2018-05-15 16:43:44 -07:00
Oskar Weigl aefd331488 Merge branch 'pwm-in' into powerwheels 2018-05-15 10:48:18 -07:00
Samuel Sadok 359eab32f6 implement PWM input 2018-05-15 10:10:55 -07:00
Samuel Sadok 4240ba6074 Merge branch 'sam_user_adc' into project-r 2018-04-27 17:50:48 -07:00
Samuel Sadok b064800116 Add general purpose ADC API
ADC1 is configured to sample channels 0 to 15 continuously
at about 30kHz. Users can now set their GPIO of choice to
analog mode (as long as it's wired to one of the analog
channels) and then read the voltage at any time.

The values can be read like this:

GPIO_set_to_analog(GPIO_3_GPIO_Port, GPIO_3_Pin);
my_voltage = get_adc_voltage(GPIO_3_GPIO_Port, GPIO_3_Pin);
2018-04-27 17:46:56 -07:00
Oskar Weigl b5a7be71df decode hall 2018-04-26 21:31:46 -07:00
Oskar Weigl 7e65609e5e inmplement hall decoder 2018-04-26 17:17:57 -07:00
Oskar Weigl dbb16fc8e1 turn on TIM side update IRQs 2018-04-26 16:30:42 -07:00
Oskar Weigl 8ac49bfe6e implement low level sampling 2018-04-26 16:08:39 -07:00
Oskar Weigl 5518d1e12d add hall sample space 2018-04-26 13:46:47 -07:00
Oskar Weigl f3a484d6db fix deadtime violation check polarity 2018-04-23 20:21:18 -07:00
Oskar Weigl 1734f86ea5 catch brake resistor deadtime violations 2018-04-23 16:04:17 -07:00
Samuel Sadok 1f504d1d99 Merge branch 'sam_testing' into sam_oskar_testing 2018-04-21 23:11:36 -07:00
Samuel Sadok 741a51442f split communication into multiple files 2018-04-20 23:44:55 -07:00
Samuel Sadok 1e14c45276 [HACK] implement oscilloscope 2018-04-10 23:54:13 -07:00
Samuel Sadok ae9a208f1f turn error enums into flags 2018-04-06 13:12:39 -07:00
Samuel Sadok ab698a9dce turn error enums into flags 2018-04-05 22:27:20 -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