Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. suspendfunction
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    suspendfunction

    @suspendfunction

    1
    Reputation
    3
    Posts
    1
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    suspendfunction Follow

    Best posts made by suspendfunction

    • config.h:39 : first defined here

      I am trying to build a Raspberry PI controller.
      I am using:

      • Raspberry Pi 3B+
      • Arch Linux
      • RFM69HCW attached to the GPIO pins

      I followed the instructions on https://www.mysensors.org/build/raspberry/, however i get an error when i run make:

      /usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here
      

      The error talks about a struct called conf, that gets defined in the mentioned files.
      And idea what this error is and how i can fix it?

      The error happens both with actual config settigns as well as with a plain ./configure.
      Full compile log:

      [oznerol@goofball MySensors]$ make
      gcc -MT build/hal/architecture/Linux/drivers/core/config.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/config.c -o build/hal/architecture/Linux/drivers/core/config.o
      gcc -MT build/hal/architecture/Linux/drivers/core/log.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/log.c -o build/hal/architecture/Linux/drivers/core/log.o
      g++ -MT build/hal/architecture/Linux/drivers/core/EthernetClient.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetClient.cpp -o build/hal/architecture/Linux/drivers/core/EthernetClient.o
      g++ -MT build/hal/architecture/Linux/drivers/core/EthernetServer.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetServer.cpp -o build/hal/architecture/Linux/drivers/core/EthernetServer.o
      g++ -MT build/hal/architecture/Linux/drivers/core/GPIO.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/GPIO.cpp -o build/hal/architecture/Linux/drivers/core/GPIO.o
      hal/architecture/Linux/drivers/core/GPIO.cpp: In constructor 'GPIOClass::GPIOClass()':
      hal/architecture/Linux/drivers/core/GPIO.cpp:53:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=]
         53 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name);
            |                                                  ^~
      hal/architecture/Linux/drivers/core/GPIO.cpp:53:12: note: 'snprintf' output between 22 and 277 bytes into a destination of size 64
         53 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name);
            |    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      hal/architecture/Linux/drivers/core/GPIO.cpp:62:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=]
         62 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name);
            |                                                  ^~
      hal/architecture/Linux/drivers/core/GPIO.cpp:62:12: note: 'snprintf' output between 23 and 278 bytes into a destination of size 64
         62 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name);
            |    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      g++ -MT build/hal/architecture/Linux/drivers/core/IPAddress.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/IPAddress.cpp -o build/hal/architecture/Linux/drivers/core/IPAddress.o
      g++ -MT build/hal/architecture/Linux/drivers/core/Print.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Print.cpp -o build/hal/architecture/Linux/drivers/core/Print.o
      g++ -MT build/hal/architecture/Linux/drivers/core/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SPIDEV.cpp -o build/hal/architecture/Linux/drivers/core/SPIDEV.o
      hal/architecture/Linux/drivers/core/SPIDEV.cpp:43:63: warning: missing initializer for member 'spi_ioc_transfer::pad' [-Wmissing-field-initializers]
         43 | struct spi_ioc_transfer SPIDEVClass::tr = {0,0,0,0,0,8,0,0,0,0}; // 8 bits_per_word, 0 cs_change
            |                                                               ^
      g++ -MT build/hal/architecture/Linux/drivers/core/SerialPort.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SerialPort.cpp -o build/hal/architecture/Linux/drivers/core/SerialPort.o
      g++ -MT build/hal/architecture/Linux/drivers/core/SoftEeprom.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SoftEeprom.cpp -o build/hal/architecture/Linux/drivers/core/SoftEeprom.o
      g++ -MT build/hal/architecture/Linux/drivers/core/StdInOutStream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/StdInOutStream.cpp -o build/hal/architecture/Linux/drivers/core/StdInOutStream.o
      g++ -MT build/hal/architecture/Linux/drivers/core/Stream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Stream.cpp -o build/hal/architecture/Linux/drivers/core/Stream.o
      g++ -MT build/hal/architecture/Linux/drivers/core/compatibility.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/compatibility.cpp -o build/hal/architecture/Linux/drivers/core/compatibility.o
      g++ -MT build/hal/architecture/Linux/drivers/core/interrupt.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/interrupt.cpp -o build/hal/architecture/Linux/drivers/core/interrupt.o
      g++ -MT build/hal/architecture/Linux/drivers/core/noniso.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/noniso.cpp -o build/hal/architecture/Linux/drivers/core/noniso.o
      g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
      In file included from ./MySensors.h:358,
                       from examples_linux/mysgw.cpp:82:
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 33 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 49 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 65 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 81 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 97 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 113 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 129 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 145 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 161 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 177 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 193 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 209 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 225 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In file included from ./MySensors.h:431,
                       from examples_linux/mysgw.cpp:82:
      In member function 'char* MyMessage::getString(char*) const',
          inlined from 'char* protocolMyMessage2Serial(MyMessage&)' at ./core/MyProtocol.cpp:93:8:
      ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation]
        284 |    (void)strncpy(buffer, this->data, this->getLength());
            |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ./core/MyMessage.cpp: In member function 'char* MyMessage::getString(char*) const':
      ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation]
        284 |    (void)strncpy(buffer, this->data, this->getLength());
            |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stParentTransition()' at ./core/MyTransport.cpp:161:29:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:218:30,
          inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:202:6:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stReadyUpdate()' at ./core/MyTransport.cpp:312:30:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19,
          inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool request(uint8_t, uint8_t, uint8_t)' at ./core/MySensorsCore.cpp:429:19:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool requestTime(bool)' at ./core/MySensorsCore.cpp:434:19:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool _processInternalCoreMessage()' at ./core/MySensorsCore.cpp:482:21:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6,
          inlined from 'void transportProcessMessage()' at ./core/MyTransport.cpp:718:30:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:433:25:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 25 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19,
          inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15,
          inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:435:16:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26,
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13,
          inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'void signerPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:143:28:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26,
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13,
          inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25,
          inlined from 'void wait(uint32_t)' at ./core/MySensorsCore.cpp:566:11,
          inlined from 'void transportReportRoutingTable()' at ./core/MyTransport.cpp:1077:8:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      gcc -MT build/hal/architecture/Linux/drivers/BCM/bcm2835.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/bcm2835.c -o build/hal/architecture/Linux/drivers/BCM/bcm2835.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/BCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/BCM.cpp -o build/hal/architecture/Linux/drivers/BCM/BCM.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/RPi.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/RPi.cpp -o build/hal/architecture/Linux/drivers/BCM/RPi.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/SPIBCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/SPIBCM.cpp -o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/Wire.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/Wire.cpp -o build/hal/architecture/Linux/drivers/BCM/Wire.o
      g++ -pthread  -o bin/mysgw build/hal/architecture/Linux/drivers/core/config.o build/hal/architecture/Linux/drivers/core/log.o build/hal/architecture/Linux/drivers/core/EthernetClient.o build/hal/architecture/Linux/drivers/core/EthernetServer.o build/hal/architecture/Linux/drivers/core/GPIO.o build/hal/architecture/Linux/drivers/core/IPAddress.o build/hal/architecture/Linux/drivers/core/Print.o build/hal/architecture/Linux/drivers/core/SPIDEV.o build/hal/architecture/Linux/drivers/core/SerialPort.o build/hal/architecture/Linux/drivers/core/SoftEeprom.o build/hal/architecture/Linux/drivers/core/StdInOutStream.o build/hal/architecture/Linux/drivers/core/Stream.o build/hal/architecture/Linux/drivers/core/compatibility.o build/hal/architecture/Linux/drivers/core/interrupt.o build/hal/architecture/Linux/drivers/core/noniso.o build/examples_linux/mysgw.o build/hal/architecture/Linux/drivers/BCM/bcm2835.o build/hal/architecture/Linux/drivers/BCM/BCM.o build/hal/architecture/Linux/drivers/BCM/RPi.o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o build/hal/architecture/Linux/drivers/BCM/Wire.o
      /usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here
      collect2: error: ld returned 1 exit status
      make: *** [Makefile:80: bin/mysgw] Error 1
      
      
      posted in Troubleshooting
      suspendfunction
      suspendfunction

    Latest posts made by suspendfunction

    • RE: Is MySensors RPI GW 32bit only?

      Anyone tried this with RFM69HCW?

      I got it compiled on Arch Linux ARM with the aarch64 linux-rpi kernel after editing ./configure and hal/transport/RFM69/driver/new/RFM69_new.h as described above.

      [root@alarm git]# cat /proc/cpuinfo | grep Model && uname -a
      Model           : Raspberry Pi 4 Model B Rev 1.4
      Linux netberry 6.1.11-2-rpi-ARCH #1 SMP PREEMPT Tue Feb 14 06:34:59 MST 2023 aarch64 GNU/Linux
      

      It runs, but doesn't communicate with the radio properly:

      [root@alarm MySensors]# ./bin/mysgw
      Feb 16 13:20:45 INFO  Starting gateway...
      Feb 16 13:20:45 INFO  Protocol version - 2.4.0-alpha
      Feb 16 13:20:45 DEBUG MCO:BGN:INIT GW,CP=RPNGL---,FQ=NA,REL=1,VER=2.4.0-alpha
      Feb 16 13:20:45 DEBUG TSF:LRT:OK
      Feb 16 13:20:45 DEBUG TSM:INIT
      Feb 16 13:20:45 DEBUG TSF:WUR:MS=0
      Feb 16 13:20:45 DEBUG RFM69:INIT
      Feb 16 13:20:45 DEBUG RFM69:INIT:PIN,CS=24,IQP=22,IQN=25
      Feb 16 13:20:45 DEBUG RFM69:PTX:LEVEL=5 dBm
      Feb 16 13:20:45 DEBUG RFM69:DUMP:Registers Address | HEX value
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x01 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x02 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x03 Value=0x1a
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x04 Value=0x0b
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x05 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x06 Value=0x52
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x07 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x08 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x09 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0a Value=0x01
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0b Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0c Value=0x02
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0d Value=0x92
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0e Value=0xf5
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x0f Value=0x20
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x10 Value=0x24
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x11 Value=0x9f
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x12 Value=0x09
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x13 Value=0x1a
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x14 Value=0x40
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x15 Value=0xb0
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x16 Value=0x7b
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x17 Value=0x9b
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x18 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x19 Value=0x86
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1a Value=0x8a
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1b Value=0x40
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1c Value=0x80
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1d Value=0x06
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1e Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x1f Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x20 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x21 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x22 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x23 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x24 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x25 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x26 Value=0x05
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x27 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x28 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x29 Value=0xff
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2a Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2b Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2c Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2d Value=0x03
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2e Value=0x98
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x2f Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x30 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x31 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x32 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x33 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x34 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x35 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x36 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x37 Value=0x10
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x38 Value=0x40
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x39 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3a Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3b Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3c Value=0x0f
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3d Value=0x02
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3e Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x3f Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x40 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x41 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x42 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x43 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x44 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x45 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x46 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x47 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x48 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x49 Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4a Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4b Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4c Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4d Value=0x00
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4e Value=0x01
      Feb 16 13:20:45 DEBUG RFM69:DUMP:REG=0x4f Value=0x00
      Feb 16 13:20:45 DEBUG !RFM69:INIT:SANCHK FAIL
      Feb 16 13:20:45 DEBUG !TSM:INIT:TSP FAIL
      Feb 16 13:20:45 DEBUG TSM:FAIL:CNT=1
      Feb 16 13:20:45 DEBUG TSM:FAIL:DIS
      Feb 16 13:20:45 DEBUG TSF:TDI:TSL
      Feb 16 13:20:45 DEBUG RFM69:RSL
      

      I have built commit aa520cea, the latest from the development branch, using this config:
      ./configure --my-gateway=ethernet --my-transport=rfm69 --my-is-rfm69hw --my-rfm69-frequency=868 --extra-cxxflags="-DMY_DEBUG_VERBOSE_RFM69 -DMY_DEBUG_VERBOSE_RFM69_REGISTERS"

      My hardware should be fine, i didn't change anything and it was working with the 32-bit kernel before.

      posted in Troubleshooting
      suspendfunction
      suspendfunction
    • RE: config.h:39 : first defined here

      https://github.com/mysensors/MySensors/pull/1454

      functionpointer created this issue in mysensors/MySensors

      closed Fix build errors on raspberry pi #1454

      posted in Troubleshooting
      suspendfunction
      suspendfunction
    • config.h:39 : first defined here

      I am trying to build a Raspberry PI controller.
      I am using:

      • Raspberry Pi 3B+
      • Arch Linux
      • RFM69HCW attached to the GPIO pins

      I followed the instructions on https://www.mysensors.org/build/raspberry/, however i get an error when i run make:

      /usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here
      

      The error talks about a struct called conf, that gets defined in the mentioned files.
      And idea what this error is and how i can fix it?

      The error happens both with actual config settigns as well as with a plain ./configure.
      Full compile log:

      [oznerol@goofball MySensors]$ make
      gcc -MT build/hal/architecture/Linux/drivers/core/config.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/config.c -o build/hal/architecture/Linux/drivers/core/config.o
      gcc -MT build/hal/architecture/Linux/drivers/core/log.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/log.c -o build/hal/architecture/Linux/drivers/core/log.o
      g++ -MT build/hal/architecture/Linux/drivers/core/EthernetClient.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetClient.cpp -o build/hal/architecture/Linux/drivers/core/EthernetClient.o
      g++ -MT build/hal/architecture/Linux/drivers/core/EthernetServer.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/EthernetServer.cpp -o build/hal/architecture/Linux/drivers/core/EthernetServer.o
      g++ -MT build/hal/architecture/Linux/drivers/core/GPIO.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/GPIO.cpp -o build/hal/architecture/Linux/drivers/core/GPIO.o
      hal/architecture/Linux/drivers/core/GPIO.cpp: In constructor 'GPIOClass::GPIOClass()':
      hal/architecture/Linux/drivers/core/GPIO.cpp:53:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=]
         53 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name);
            |                                                  ^~
      hal/architecture/Linux/drivers/core/GPIO.cpp:53:12: note: 'snprintf' output between 22 and 277 bytes into a destination of size 64
         53 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/base", de->d_name);
            |    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      hal/architecture/Linux/drivers/core/GPIO.cpp:62:50: warning: '%s' directive output may be truncated writing up to 255 bytes into a region of size 48 [-Wformat-truncation=]
         62 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name);
            |                                                  ^~
      hal/architecture/Linux/drivers/core/GPIO.cpp:62:12: note: 'snprintf' output between 23 and 278 bytes into a destination of size 64
         62 |    snprintf(file, sizeof(file), "/sys/class/gpio/%s/ngpio", de->d_name);
            |    ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      g++ -MT build/hal/architecture/Linux/drivers/core/IPAddress.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/IPAddress.cpp -o build/hal/architecture/Linux/drivers/core/IPAddress.o
      g++ -MT build/hal/architecture/Linux/drivers/core/Print.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Print.cpp -o build/hal/architecture/Linux/drivers/core/Print.o
      g++ -MT build/hal/architecture/Linux/drivers/core/SPIDEV.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SPIDEV.cpp -o build/hal/architecture/Linux/drivers/core/SPIDEV.o
      hal/architecture/Linux/drivers/core/SPIDEV.cpp:43:63: warning: missing initializer for member 'spi_ioc_transfer::pad' [-Wmissing-field-initializers]
         43 | struct spi_ioc_transfer SPIDEVClass::tr = {0,0,0,0,0,8,0,0,0,0}; // 8 bits_per_word, 0 cs_change
            |                                                               ^
      g++ -MT build/hal/architecture/Linux/drivers/core/SerialPort.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SerialPort.cpp -o build/hal/architecture/Linux/drivers/core/SerialPort.o
      g++ -MT build/hal/architecture/Linux/drivers/core/SoftEeprom.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/SoftEeprom.cpp -o build/hal/architecture/Linux/drivers/core/SoftEeprom.o
      g++ -MT build/hal/architecture/Linux/drivers/core/StdInOutStream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/StdInOutStream.cpp -o build/hal/architecture/Linux/drivers/core/StdInOutStream.o
      g++ -MT build/hal/architecture/Linux/drivers/core/Stream.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/Stream.cpp -o build/hal/architecture/Linux/drivers/core/Stream.o
      g++ -MT build/hal/architecture/Linux/drivers/core/compatibility.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/compatibility.cpp -o build/hal/architecture/Linux/drivers/core/compatibility.o
      g++ -MT build/hal/architecture/Linux/drivers/core/interrupt.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/interrupt.cpp -o build/hal/architecture/Linux/drivers/core/interrupt.o
      g++ -MT build/hal/architecture/Linux/drivers/core/noniso.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/core/noniso.cpp -o build/hal/architecture/Linux/drivers/core/noniso.o
      g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o
      In file included from ./MySensors.h:358,
                       from examples_linux/mysgw.cpp:82:
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 33 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 49 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 65 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 81 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 97 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 113 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 129 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 145 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 161 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 177 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 193 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 209 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In function 'uint8_t RF24_spiMultiByteTransfer(uint8_t, uint8_t*, uint8_t, bool)',
          inlined from 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)' at ./hal/transport/RF24/driver/RF24.cpp:321:33:
      ./hal/transport/RF24/driver/RF24.cpp:82:11: warning: writing 16 bytes into a region of size 0 [-Wstringop-overflow=]
         82 |    *ptx++ = *current++;
            |    ~~~~~~~^~~~~~~~~~~~
      ./hal/transport/RF24/driver/RF24.cpp: In function 'bool RF24_sendMessage(uint8_t, const void*, uint8_t, bool)':
      ./hal/transport/RF24/driver/RF24.cpp:41:9: note: at offset 225 to object 'RF24_spi_txbuff' with size 33 declared here
         41 | uint8_t RF24_spi_txbuff[32+1]
            |         ^~~~~~~~~~~~~~~
      In file included from ./MySensors.h:431,
                       from examples_linux/mysgw.cpp:82:
      In member function 'char* MyMessage::getString(char*) const',
          inlined from 'char* protocolMyMessage2Serial(MyMessage&)' at ./core/MyProtocol.cpp:93:8:
      ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation]
        284 |    (void)strncpy(buffer, this->data, this->getLength());
            |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      ./core/MyMessage.cpp: In member function 'char* MyMessage::getString(char*) const':
      ./core/MyMessage.cpp:284:17: warning: 'char* strncpy(char*, const char*, size_t)' output may be truncated copying between 0 and 25 bytes from a string of length 25 [-Wstringop-truncation]
        284 |    (void)strncpy(buffer, this->data, this->getLength());
            |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stParentTransition()' at ./core/MyTransport.cpp:161:29:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:218:30,
          inlined from 'void stIDTransition()' at ./core/MyTransport.cpp:202:6:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void stReadyUpdate()' at ./core/MyTransport.cpp:312:30:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19,
          inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool request(uint8_t, uint8_t, uint8_t)' at ./core/MySensorsCore.cpp:429:19:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool requestTime(bool)' at ./core/MySensorsCore.cpp:434:19:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool _processInternalCoreMessage()' at ./core/MySensorsCore.cpp:482:21:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 2 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'bool signerInternalProcessPresentation(MyMessage&)' at ./core/MySigning.cpp:488:28,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:176:42,
          inlined from 'bool signerProcessInternal(MyMessage&)' at ./core/MySigning.cpp:171:6,
          inlined from 'void transportProcessMessage()' at ./core/MyTransport.cpp:718:30:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:433:25:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 25 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'bool present(uint8_t, mysensors_sensor_t, const char*, bool)' at ./core/MySensorsCore.cpp:379:19,
          inlined from 'void presentNode()' at ./core/MySensorsCore.cpp:233:15,
          inlined from 'bool gatewayTransportAvailable()' at ./core/MyGatewayTransportEthernet.cpp:435:16:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26,
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13,
          inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void prepareSigningPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:389:90,
          inlined from 'void signerPresentation(MyMessage&, uint8_t)' at ./core/MySigning.cpp:143:28:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' destination unchanged after copying no bytes [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In member function 'MyMessage& MyMessage::set(const char*)',
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:48:26,
          inlined from 'void gatewayTransportProcess()' at ./core/MyGatewayTransport.cpp:28:13,
          inlined from 'void _process()' at ./core/MySensorsCore.cpp:72:25,
          inlined from 'void wait(uint32_t)' at ./core/MySensorsCore.cpp:566:11,
          inlined from 'void transportReportRoutingTable()' at ./core/MyTransport.cpp:1077:8:
      ./core/MyMessage.cpp:391:15: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying 5 bytes from a string of the same length [-Wstringop-truncation]
        391 |  (void)strncpy(this->data, value, this->getLength());
            |        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      gcc -MT build/hal/architecture/Linux/drivers/BCM/bcm2835.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra  -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/bcm2835.c -o build/hal/architecture/Linux/drivers/BCM/bcm2835.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/BCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/BCM.cpp -o build/hal/architecture/Linux/drivers/BCM/BCM.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/RPi.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/RPi.cpp -o build/hal/architecture/Linux/drivers/BCM/RPi.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/SPIBCM.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/SPIBCM.cpp -o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o
      g++ -MT build/hal/architecture/Linux/drivers/BCM/Wire.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_RADIO_RF24 -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI  -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c hal/architecture/Linux/drivers/BCM/Wire.cpp -o build/hal/architecture/Linux/drivers/BCM/Wire.o
      g++ -pthread  -o bin/mysgw build/hal/architecture/Linux/drivers/core/config.o build/hal/architecture/Linux/drivers/core/log.o build/hal/architecture/Linux/drivers/core/EthernetClient.o build/hal/architecture/Linux/drivers/core/EthernetServer.o build/hal/architecture/Linux/drivers/core/GPIO.o build/hal/architecture/Linux/drivers/core/IPAddress.o build/hal/architecture/Linux/drivers/core/Print.o build/hal/architecture/Linux/drivers/core/SPIDEV.o build/hal/architecture/Linux/drivers/core/SerialPort.o build/hal/architecture/Linux/drivers/core/SoftEeprom.o build/hal/architecture/Linux/drivers/core/StdInOutStream.o build/hal/architecture/Linux/drivers/core/Stream.o build/hal/architecture/Linux/drivers/core/compatibility.o build/hal/architecture/Linux/drivers/core/interrupt.o build/hal/architecture/Linux/drivers/core/noniso.o build/examples_linux/mysgw.o build/hal/architecture/Linux/drivers/BCM/bcm2835.o build/hal/architecture/Linux/drivers/BCM/BCM.o build/hal/architecture/Linux/drivers/BCM/RPi.o build/hal/architecture/Linux/drivers/BCM/SPIBCM.o build/hal/architecture/Linux/drivers/BCM/Wire.o
      /usr/bin/ld: build/examples_linux/mysgw.o:/home/oznerol/git/MySensors/./hal/architecture/Linux/drivers/core/config.h:39: multiple definition of `conf'; build/hal/architecture/Linux/drivers/core/config.o:/home/oznerol/git/MySensors/hal/architecture/Linux/drivers/core/config.h:39: first defined here
      collect2: error: ld returned 1 exit status
      make: *** [Makefile:80: bin/mysgw] Error 1
      
      
      posted in Troubleshooting
      suspendfunction
      suspendfunction