all aboard the God object!

This commit is contained in:
Andrey 2021-07-15 02:00:48 -04:00
parent 70cc334eb2
commit 5c2477752e
2 changed files with 3 additions and 10 deletions

View File

@ -13,21 +13,14 @@
EXTERN_ENGINE; EXTERN_ENGINE;
// todo: move this into PinRepository class
static const char *PIN_USED[BRAIN_PIN_TOTAL_PINS];
unsigned int getBrainPinTotalNum(void) { unsigned int getBrainPinTotalNum(void) {
return BRAIN_PIN_TOTAL_PINS; 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) { const char* & getBrainUsedPin(unsigned int idx DECLARE_ENGINE_PARAMETER_SUFFIX) {
/*if (idx >= getBrainPinTotalNum()) /*if (idx >= getBrainPinTotalNum())
return NULL;*/ return NULL;*/
return PIN_USED[idx]; return ENGINE(pinRepository).PIN_USED[idx];
} }
/* Common for firmware and unit tests */ /* Common for firmware and unit tests */
@ -112,7 +105,7 @@ PinRepository::PinRepository() {
msObjectInit(&portNameStream, (uint8_t*) portNameBuffer, sizeof(portNameBuffer), 0); msObjectInit(&portNameStream, (uint8_t*) portNameBuffer, sizeof(portNameBuffer), 0);
#endif /* EFI_PROD_CODE */ #endif /* EFI_PROD_CODE */
initBrainUsedPins(); memset(PIN_USED, 0, sizeof(PIN_USED));
} }
#if EFI_PROD_CODE #if EFI_PROD_CODE

View File

@ -23,6 +23,7 @@ class PinRepository {
*/ */
PinRepository(); PinRepository();
int totalPinsUsed = 0; int totalPinsUsed = 0;
const char *PIN_USED[BRAIN_PIN_TOTAL_PINS];
}; };
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -55,7 +56,6 @@ ioportid_t getBrainPinPort(brain_pin_e brainPin);
int getBrainPinIndex(brain_pin_e brainPin); int getBrainPinIndex(brain_pin_e brainPin);
unsigned int getBrainPinOnchipNum(void); unsigned int getBrainPinOnchipNum(void);
unsigned int getBrainPinTotalNum(void); unsigned int getBrainPinTotalNum(void);
void initBrainUsedPins(void);
#ifdef __cplusplus #ifdef __cplusplus
const char* & getBrainUsedPin(unsigned int idx DECLARE_ENGINE_PARAMETER_SUFFIX); const char* & getBrainUsedPin(unsigned int idx DECLARE_ENGINE_PARAMETER_SUFFIX);