From e03a78a17b5c3e7b67aa558bf7cdfbe096b75f77 Mon Sep 17 00:00:00 2001 From: jakeg00dwin Date: Mon, 23 Sep 2024 12:49:18 -0700 Subject: [PATCH] updated `Load_HandleLoadPortA()` function to pass new tests. --- src/load/load.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/load/load.c b/src/load/load.c index f70f446..3d559e5 100644 --- a/src/load/load.c +++ b/src/load/load.c @@ -60,14 +60,19 @@ static uint16_t sample_adc(uint8_t adc_pin) void Load_HandleLoadPortA(uint8_t adc_pin, uint8_t out_pin) { uint16_t val = sample_adc(adc_pin); - - if(is_valid_load(val) && !porta_disabled[adc_pin]){ + if(porta_disabled[adc_pin]){ + RegEdit_ClearBit((void *) &PORTA.OUT, out_pin); + } + else if(!is_valid_load(val)){ + RegEdit_ClearBit((void *) &PORTA.OUT, out_pin); + porta_disabled[adc_pin] = true; + } + else if(is_below_target(val)){ RegEdit_SetBit((void *) &PORTA.DIR, out_pin); RegEdit_SetBit((void *) &PORTA.OUT, out_pin); } else{ RegEdit_ClearBit((void *) &PORTA.OUT, out_pin); - porta_disabled[adc_pin] = true; } }