From 34b0f368a789c9a8b1496b1f1b9a1a38b2c2bfe0 Mon Sep 17 00:00:00 2001 From: mstroh76 Date: Mon, 15 Apr 2024 12:49:38 +0200 Subject: [PATCH] #221 --- gpio/gpio.c | 28 +++++++++++++++++----------- wiringPi/wiringPi.c | 4 ++-- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/gpio/gpio.c b/gpio/gpio.c index 8754f12..1e7ec59 100644 --- a/gpio/gpio.c +++ b/gpio/gpio.c @@ -1358,38 +1358,44 @@ static void doVersion (char *argv []) printf ("\n") ; piBoardId (&model, &rev, &mem, &maker, &warranty) ; - printf ("Raspberry Pi Details:\n") ; + printf ("Hardware details:\n") ; printf (" Type: %s, Revision: %s, Memory: %dMB, Maker: %s %s\n", piModelNames [model], piRevisionNames [rev], piMemorySize [mem], piMakerNames [maker], warranty ? "[Out of Warranty]" : "") ; // Check for device tree - - if (stat ("/proc/device-tree", &statBuf) == 0) // We're on a devtree system ... - printf (" * Device tree is enabled.\n") ; - + printf ("System details:\n") ; + if (stat ("/proc/device-tree", &statBuf) == 0) { // We're on a devtree system ... + printf (" * Device tree present.\n") ; + } if (stat ("/proc/device-tree/model", &statBuf) == 0) // Output Kernel idea of board type { if ((fd = fopen ("/proc/device-tree/model", "r")) != NULL) { fgets (name, 80, fd) ; fclose (fd) ; - printf (" *--> %s\n", name) ; + printf (" Model: %s\n", name) ; } } int bGlobalAccess = wiringPiGlobalMemoryAccess(); // User level GPIO is GO switch(bGlobalAccess) { + case 0: + printf (" * Does not support basic user-level GPIO access via memory.\n") ; + break; case 1: - printf (" * This system supports basic user-level GPIO access via /dev/mem.\n") ; + printf (" * Supports basic user-level GPIO access via /dev/mem.\n") ; break; case 2: - printf (" * This system supports full user-level GPIO access via /dev/mem.\n") ; + printf (" * Supports full user-level GPIO access via memory.\n") ; break; } if (wiringPiUserLevelAccess()) { - printf (" * This system supports basic user-level GPIO access via /dev/gpiomem.\n") ; - } else if(0==bGlobalAccess) { - printf (" * This system may require root or sudo for GPIO access.\n") ; + printf (" * Supports basic user-level GPIO access via /dev/gpiomem.\n") ; + } else { + printf (" * Does not support basic user-level GPIO access via /dev/gpiomem.\n") ; + if(0==bGlobalAccess) { + printf (" * root or sudo may be required for GPIO access.\n") ; + } } } diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c index b3d8b43..7f685b9 100644 --- a/wiringPi/wiringPi.c +++ b/wiringPi/wiringPi.c @@ -2548,8 +2548,8 @@ int wiringPiGlobalMemoryAccess(void) if (PI_MODEL_5 == RaspberryPiModel) { gpiomemGlobal = pciemem_RP1; MMAP_size = pciemem_RP1_Size; - BaseAddr = (RP1_IO0_Addr-RP1_BASE_Addr) ; - PWMAddr = RP1_PWM0_Addr-RP1_BASE_Addr; + BaseAddr = 0x00000000; + PWMAddr = 0x00000000; //not supported so far } else { gpiomemGlobal = gpiomem_global; MMAP_size = BLOCK_SIZE;