Commit Graph
37 Commits
Author SHA1 Message Date
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
Samuel Sadok 93d6a787cd Merge branch 'devel' of github.com:madcowswe/ODrive into sam_refactoring 2018-03-09 16:01:18 -08:00
Samuel Sadok 9d85854de3 add toplevel functions back to protocol 2018-03-09 15:03:55 -08:00
Samuel Sadok 9486f9ed15 make stuff working again, improve state machine design, add underscore to member names 2018-03-09 13:37:07 -08:00
Samuel Sadok 97aedd46e9 Sanitize error handling and state machine, move common stuff to odrive_main.hpp 2018-03-04 15:49:48 -08:00
Samuel Sadok b32c87df5a [TEMP] refactoring: compile works, motors initialize as usual 2018-03-02 22:03:24 -08:00