From 302739d543ebb95f17056b3cfaed6ac92d5beea3 Mon Sep 17 00:00:00 2001 From: g3gg0 Date: Mon, 5 Dec 2022 12:19:05 +0100 Subject: [PATCH] allow gpio field to stay uninitialized in digital_signal_prepare_arr() --- lib/digital_signal/digital_signal.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/digital_signal/digital_signal.c b/lib/digital_signal/digital_signal.c index b78daab3d..9ba5cc901 100644 --- a/lib/digital_signal/digital_signal.c +++ b/lib/digital_signal/digital_signal.c @@ -131,19 +131,19 @@ uint32_t digital_signal_get_edge(DigitalSignal* signal, uint32_t edge_num) { void digital_signal_prepare_arr(DigitalSignal* signal) { furi_assert(signal); - furi_assert(signal->gpio); - furi_assert(signal->gpio->pin); /* set up signal polarities */ - uint32_t bit_set = signal->gpio->pin; - uint32_t bit_reset = signal->gpio->pin << 16; + if(signal->gpio) { + uint32_t bit_set = signal->gpio->pin; + uint32_t bit_reset = signal->gpio->pin << 16; - if(signal->start_level) { - signal->gpio_buff[0] = bit_set; - signal->gpio_buff[1] = bit_reset; - } else { - signal->gpio_buff[0] = bit_reset; - signal->gpio_buff[1] = bit_set; + if(signal->start_level) { + signal->gpio_buff[0] = bit_set; + signal->gpio_buff[1] = bit_reset; + } else { + signal->gpio_buff[0] = bit_reset; + signal->gpio_buff[1] = bit_set; + } } /* set up edge timings */