klipper/src/generic
Kevin O'Connor 70068985a7 stepper: Introduce and use gpio_out_toggle_noirq()
The gpio_out_toggle() function in the sam3x8e and stm32f1 code was
only valid if it was called with irqs disabled.

Commits 018c5daa and 9c52ad43 enabled the lcd code which called
gpio_out_toggle() with irqs enabled.  This could cause corruption of
the gpio state.

Introduce a gpio_out_toggle_noirq() function that will only be invoked
with irqs disabled, and fix gpio_out_toggle() on sam3x8e and stm32f1
so that it safe to call even if irqs are enabled.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-05-15 17:09:11 -04:00
..
alloc.c basecmd: Move low-level alloc code into basecmd.c 2017-07-20 10:44:31 -04:00
armcm_irq.c irq: Support sleeping when mcu is idle 2017-07-17 15:02:43 -04:00
crc16_ccitt.c generic: Create generic board infrastructure and move misc.h to it 2016-06-13 23:18:58 -04:00
gpio.h stepper: Introduce and use gpio_out_toggle_noirq() 2018-05-15 17:09:11 -04:00
io.h io.h: read/write[bwl] should use barrier 2017-02-02 10:46:42 -05:00
irq.h irq: Support sleeping when mcu is idle 2017-07-17 15:02:43 -04:00
misc.h avr: Implement internal avr specific timer to handle 16bit overflows 2017-08-08 00:27:28 -04:00
pgm.h generic: Move simulator/irq.h to new file generic/irq.h 2016-06-13 23:18:58 -04:00
serial_irq.c serial_irq: Add new generic/serial_irq.c code 2018-04-20 11:19:37 -04:00
serial_irq.h serial_irq: Add new generic/serial_irq.c code 2018-04-20 11:19:37 -04:00
timer_irq.c sched: Don't shutdown on a "timer in the past" if already shutdown 2017-10-12 11:59:27 -04:00
timer_irq.h sched: Implement generic sleep mechanism based on tasks pending 2017-08-08 00:27:28 -04:00