From e3f0c6556f66e97b8cf47df4473da52242a58997 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 25 Oct 2018 13:39:03 +0200 Subject: msp430 gpio: Add (unused) write_mask function --- include/arch/msp430fr5969lp/driver/gpio.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'include/arch') diff --git a/include/arch/msp430fr5969lp/driver/gpio.h b/include/arch/msp430fr5969lp/driver/gpio.h index 2f271c2..84ce820 100644 --- a/include/arch/msp430fr5969lp/driver/gpio.h +++ b/include/arch/msp430fr5969lp/driver/gpio.h @@ -166,6 +166,23 @@ class GPIO { } } } + inline void write_mask(unsigned char const pin_base, unsigned char set_mask, unsigned char clear_mask) { + if (pin_base < p2_0) { + P1OUT = (P1OUT | set_mask) & ~clear_mask; + } + if (pin_base < p3_0) { + P2OUT = (P2OUT | set_mask) & ~clear_mask; + } + if (pin_base < p4_0) { + P3OUT = (P3OUT | set_mask) & ~clear_mask; + } + if (pin_base < pj_0) { + P4OUT = (P4OUT | set_mask) & ~clear_mask; + } + if (pin_base < PIN_INVALID) { + PJOUT = (PJOUT | set_mask) & ~clear_mask; + } + } }; extern GPIO gpio; -- cgit v1.2.3