From add6266d1b571c22408c70cf96e1ed31720dfe8c Mon Sep 17 00:00:00 2001 From: mstroh76 Date: Fri, 10 Jan 2025 19:35:08 +0100 Subject: [PATCH] #305 adjust for Pi5 test --- wiringPi/test/wiringpi_test7_bench.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/wiringPi/test/wiringpi_test7_bench.c b/wiringPi/test/wiringpi_test7_bench.c index 2e608f4..2ba2b8b 100644 --- a/wiringPi/test/wiringpi_test7_bench.c +++ b/wiringPi/test/wiringpi_test7_bench.c @@ -128,7 +128,11 @@ int main (void) { gettimeofday(&t2, NULL); ReportElapedTime("digitalRead", 2, fExpectTimedigitalRead, t1, t2); - ToggleValue /= 4; + if (RaspberryPiModel!=PI_MODEL_5) { + ToggleValue /= 4; + } else { + ToggleValue *= 1.5; + } printf("\n"); printf("% 3d million times pinMode...\n", ToggleValue/1000000); gettimeofday(&t1, NULL); @@ -151,7 +155,11 @@ int main (void) { gettimeofday(&t2, NULL); ReportElapedTime("pinMode and digitalWrite", 2, fExpectTimepinMode+fExpectTimedigitalWrite, t1, t2); - ToggleValue *= 1.5; + if (RaspberryPiModel!=PI_MODEL_5) { + ToggleValue *= 1.5; + } else { + ToggleValue /= 5; + } printf("\n"); pinMode(GPIO, OUTPUT); printf("Toggle % 3d million times digitalRead and digitalWrite ..\n", ToggleValue/1000000); @@ -168,9 +176,9 @@ int main (void) { double fTimePerOperation = elapsedTime*1000000.0/ToggleValue/2; CheckSameFloat("Write <=> Read delay factor", fTimePerOperation/(fExpectTimedigitalWrite+fExpectTimedigitalRead), fWriteReadDelayFactor, 0.2); if (RaspberryPiModel==PI_MODEL_5) { - printf("Rasperry Pi 5:\n"); - printf(" * digitalRead has very slow speed, much higher then digitalWrite, factor %f.1 (typical ~2.0)\n", fWriteReadFactor); - printf(" * Toggle read/write operation has very slow speed, factor %f.1 (typical ~1.77) to single operation time\n", fWriteReadDelayFactor); + printf("\nRasperry Pi 5:\n"); + printf(" * digitalRead has very slow speed, much slower then digitalWrite, factor %.1f (typical ~2.0)\n", fWriteReadFactor); + printf(" * Toggle read/write operation has slow speed, factor %.2f (typical ~1.77) to single operation time\n", fWriteReadDelayFactor); } digitalWrite(GPIO, LOW);