add 'togglePin' convenience function (#8734)

* add 'togglePin' conveniance function

for AVR and chibios

* drop outmost parantheses

Co-Authored-By: Konstantin Đorđević <[email protected]>

* toggle pin on avrs

toggle a pin configured as output by writing the corresponding bit to the PIN register

Co-Authored-By: Takeshi ISHII <[email protected]>

* togglepin: add documentation for newly added function

* Update docs/internals_gpio_control.md

Co-Authored-By: Konstantin Đorđević <[email protected]>

* on AVR: use PORTD to toggle the output

... since not all MCUs support toggling through writing to PIN

Co-Authored-By: Ryan <[email protected]>

Co-authored-by: Johannes <[email protected]>
Co-authored-by: Konstantin Đorđević <[email protected]>
Co-authored-by: Takeshi ISHII <[email protected]>
Co-authored-by: Ryan <[email protected]>
This commit is contained in:
authored and GitHub committed 2020-04-29 04:04:29 -07:00
1 parent 195be50745
commit d26a14c169
2 files changed
+5

No files matched your search

+4
View File
@@ -197,6 +197,8 @@ typedef uint8_t pin_t;
# define readPin(pin) ((bool)(PINx_ADDRESS(pin) & _BV((pin)&0xF)))
# define togglePin(pin) (PORTx_ADDRESS(pin) ^= _BV((pin)&0xF))
#elif defined(PROTOCOL_CHIBIOS)
typedef ioline_t pin_t;
@@ -210,6 +212,8 @@ typedef ioline_t pin_t;
# define writePin(pin, level) ((level) ? writePinHigh(pin) : writePinLow(pin))
# define readPin(pin) palReadLine(pin)
# define togglePin(pin) palToggleLine(pin)
#endif
#define SEND_STRING(string) send_string_P(PSTR(string))