En el archivo de producción hay muchísimo código repetido. Solo por dar un ejemplo todas estas lineas
|
if (logica_leds == ON_HIGH){ |
|
*puerto_virtual = 0; |
|
return 0; |
|
} |
|
else if(logica_leds == ON_LOW){ |
|
*puerto_virtual = 0xFFFF; |
|
return 0; |
|
} |
se deberían reemplazar por un llamado a la función ledsTurnOffAll(). De forma similar las funciones ledsTurnOffAll() y ledsTurnOffAll() tienen repetido el 80% del código, se deberían refactorizar, or ejemplo, de la siguiente forma:
#define ALL_BITS_SETED 0xFFFF
#define ALL_BITS_CLEARED 0x0000
static uint16_t all_leds_off;
bool ledsInit(uint16_t * direccion, bool logica){
if(direccion == NULL){
return false;
}
logica_leds = logica;
puerto_virtual = direccion;
if (logica_leds == ON_HIGH){
all_leds_off = ALL_BITS_SETED;
}
else if(logica_leds == ON_LOW){
all_leds_off = ALL_BITS_CLEARED;
}
ledsTurnOffAll();
}
void ledsTurnOnAll(){
*puerto_virtual = ~ all_leds_off;
}
void ledsTurnOffAll(){
*puerto_virtual = all_leds_off;
}
@marianofino @rafaeloliva
En el archivo de producción hay muchísimo código repetido. Solo por dar un ejemplo todas estas lineas
Repo_B2/Testing_tp_02/leds/src/leds.c
Lines 14 to 21 in d6e2ecd
se deberían reemplazar por un llamado a la función
ledsTurnOffAll(). De forma similar las funcionesledsTurnOffAll()yledsTurnOffAll()tienen repetido el 80% del código, se deberían refactorizar, or ejemplo, de la siguiente forma:@marianofino @rafaeloliva