From df393d70f98a868ab6ab7b13e6a2196857774cfb Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sat, 20 Aug 2022 13:37:10 +0200 Subject: [PATCH] Ad HASP_RANDOM mcro --- include/hasp_macro.h | 8 ++++++++ src/hasp/hasp.cpp | 8 +------- src/hasp/hasp_dispatch.cpp | 4 ++-- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/hasp_macro.h b/include/hasp_macro.h index 0ac926ad..f06eba80 100644 --- a/include/hasp_macro.h +++ b/include/hasp_macro.h @@ -12,6 +12,14 @@ #include "user_config_override.h" #endif +#if defined(WINDOWS) || defined(POSIX) +#define HASP_RANDOM(x) rand() * x +#elif defined(ARDUINO) +#define HASP_RANDOM(x) random(x) +#else +#define HASP_RANDOM(x) random() * x +#endif + #if defined(WINDOWS) || defined(POSIX) #define LOG_OUTPUT(x, ...) printf(__VA_ARGS__) #else diff --git a/src/hasp/hasp.cpp b/src/hasp/hasp.cpp index 6e7bc1b8..7b0fd2e6 100644 --- a/src/hasp/hasp.cpp +++ b/src/hasp/hasp.cpp @@ -221,13 +221,7 @@ void hasp_antiburn_cb(lv_task_t* task) for(lv_coord_t y = 0; y < lv_obj_get_height(layer); y++) { for(lv_coord_t x = 0; x < area.x2; x++) { -#if defined(WINDOWS) || defined(POSIX) - color[x].full = rand() * UINT16_MAX; -#elif defined(ARDUINO) - color[x].full = random(UINT16_MAX); -#else - color[x].full = random() * UINT16_MAX; -#endif + color[x].full = HASP_RANDOM(UINT16_MAX); } area.y1 = y; area.y2 = y; diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index af4a1dfa..70cb02b4 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -1142,7 +1142,7 @@ void dispatch_send_sensordata(const char*, const char*, uint8_t source) void dispatch_queue_discovery(const char*, const char*, uint8_t source) { - long seconds = random(10); + long seconds = HASP_RANDOM(10); if(dispatchSecondsToNextTeleperiod == seconds) seconds++; if(dispatchSecondsToNextSensordata == seconds) seconds++; LOG_VERBOSE(TAG_MSGR, F("Discovery queued in %d seconds"), seconds); @@ -1196,7 +1196,7 @@ void dispatch_send_discovery(const char*, const char*, uint8_t source) default: LOG_ERROR(TAG_MQTT, F(D_ERROR_UNKNOWN)); } - dispatchSecondsToNextDiscovery = dispatch_setings.teleperiod * 2 + random(10); + dispatchSecondsToNextDiscovery = dispatch_setings.teleperiod * 2 + HASP_RANDOM(10); #endif }