diff --git a/YespowerARM.c b/YespowerARM.c index e410d8e..da7f28d 100644 --- a/YespowerARM.c +++ b/YespowerARM.c @@ -8,6 +8,7 @@ #include #include +int get_dynamic_block_version() { #ifdef TARGET_RASPBERRY #define BLOCK_VERSION BLOCK_VERSION_RASPBERRY #elif defined(TARGET_NOARM) @@ -15,9 +16,12 @@ #else #define BLOCK_VERSION BLOCK_VERSION_DEFAULT #endif +} /* Auswahl der Yespower-Parameter basierend auf nVersion */ -const yespower_params_t *select_yespower_params_by_version(int32_t nVersion) { +const yespower_params_t *select_yespower_params(void) { + int block_version = get_dynamic_block_version(); + if ((nVersion & BLOCK_VERSION_RASPBERRY) == BLOCK_VERSION_RASPBERRY) { static const yespower_params_t params_raspberry = { .version = YESPOWER_1_0, @@ -41,8 +45,8 @@ const yespower_params_t *select_yespower_params_by_version(int32_t nVersion) { .version = YESPOWER_1_0, .N = 4096, .r = 16, - .pers = (const uint8_t *)"Default", - .perslen = 7 + .pers = (const uint8_t *)"Fallback", + .perslen = 8 }; return ¶ms_default; } @@ -114,4 +118,4 @@ int scanhash_arm_yespower(int thr_id, uint32_t *pdata, const uint32_t *ptarget, *hashes_done = n - pdata[19] + 1; pdata[19] = n; return 0; // Kein gültiger Block gefunden -} +} \ No newline at end of file diff --git a/version.h b/version.h index 6c5cdb0..bf0301c 100644 --- a/version.h +++ b/version.h @@ -8,6 +8,15 @@ #define BLOCK_VERSION_NOARM 0x20000000 #define BLOCK_VERSION_DEFAULT 0x00000000 +// Dynamische Bestimmung der Blockversion +#ifdef TARGET_RASPBERRY + #define BLOCK_VERSION BLOCK_VERSION_RASPBERRY +#elif defined(TARGET_NOARM) + #define BLOCK_VERSION BLOCK_VERSION_NOARM +#else + #define BLOCK_VERSION BLOCK_VERSION_DEFAULT +#endif + int get_dynamic_block_version(); #endif // VERSION_H