From 0f7def86dce0d0487c2b36f85cc211118df555ed Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 15 Jul 2021 02:00:48 -0400 Subject: [PATCH] all aboard the God object! --- firmware/hw_layer/pin_repository.cpp | 11 ++--------- firmware/hw_layer/pin_repository.h | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/firmware/hw_layer/pin_repository.cpp b/firmware/hw_layer/pin_repository.cpp index 00c3a74c6a..365660c70c 100644 --- a/firmware/hw_layer/pin_repository.cpp +++ b/firmware/hw_layer/pin_repository.cpp @@ -13,21 +13,14 @@ EXTERN_ENGINE; -// todo: move this into PinRepository class -static const char *PIN_USED[BRAIN_PIN_TOTAL_PINS]; - unsigned int getBrainPinTotalNum(void) { return BRAIN_PIN_TOTAL_PINS; } -void initBrainUsedPins(void) { - memset(PIN_USED, 0, sizeof(PIN_USED)); -} - const char* & getBrainUsedPin(unsigned int idx DECLARE_ENGINE_PARAMETER_SUFFIX) { /*if (idx >= getBrainPinTotalNum()) return NULL;*/ - return PIN_USED[idx]; + return ENGINE(pinRepository).PIN_USED[idx]; } /* Common for firmware and unit tests */ @@ -112,7 +105,7 @@ PinRepository::PinRepository() { msObjectInit(&portNameStream, (uint8_t*) portNameBuffer, sizeof(portNameBuffer), 0); #endif /* EFI_PROD_CODE */ - initBrainUsedPins(); + memset(PIN_USED, 0, sizeof(PIN_USED)); } #if EFI_PROD_CODE diff --git a/firmware/hw_layer/pin_repository.h b/firmware/hw_layer/pin_repository.h index 50fc337743..5af272cb41 100644 --- a/firmware/hw_layer/pin_repository.h +++ b/firmware/hw_layer/pin_repository.h @@ -23,6 +23,7 @@ class PinRepository { */ PinRepository(); int totalPinsUsed = 0; + const char *PIN_USED[BRAIN_PIN_TOTAL_PINS]; }; #endif /* __cplusplus */ @@ -55,7 +56,6 @@ ioportid_t getBrainPinPort(brain_pin_e brainPin); int getBrainPinIndex(brain_pin_e brainPin); unsigned int getBrainPinOnchipNum(void); unsigned int getBrainPinTotalNum(void); -void initBrainUsedPins(void); #ifdef __cplusplus const char* & getBrainUsedPin(unsigned int idx DECLARE_ENGINE_PARAMETER_SUFFIX);