pi gateway help

84 views
Skip to first unread message

Roger M1CDQ

unread,
Sep 6, 2025, 6:09:56 PM (3 days ago) Sep 6
to UKHAS
Im trying to set up pi gateway on a pi 3
i have been getting the same issues as this post
https://groups.google.com/g/ukhas/c/n_jdymBmXvM

pi in sky.JPG

and this is my board 
download.jpg
Im using rasp pi imager to set up the pi and install following the instructions via
https://github.com/PiInTheSky/lora-gateway and also 
https://github.com/teamtoadprojects/lora-gateway  and also 
git clone -b lgpio-port https://github.com/teamtoadprojects/lora-gateway.git

ive  tried  bookworm 64 and 32 and bullseye  even some older legacy  os as well  buster and stretch.

Im just banging my head against the wall 

Gavin Gill

unread,
Sep 7, 2025, 3:15:12 AM (2 days ago) Sep 7
to uk...@googlegroups.com, UKHAS
I feel your pain!

Took me ages!
I can’t remember exactly what I did but was this…
Can you maybe try replicate this?


Wowa wee wah, think I finally got it working.

Thank you all for the help, and sorry if I spammed the inbox

I did fresh 64Bit install, and tried Mika method without installing Lgpio.
It didn’t like that, error stating couldn’t find lgpio.h 

So I went here https://github.com/joan2937/lg/tree/master and tried to install the dependency’s but ther all out of date.
I installed swig, by seraching git hub. 
I then installed python 3 which it said already had. I then installed Lg and miraculously everything worked this time… what a journey but I learned tons!

Kind Regards,

Gavin Gill

Sent from my iPhone

On 6 Sep 2025, at 23:09, 'Roger M1CDQ' via UKHAS <uk...@googlegroups.com> wrote:

Im trying to set up pi gateway on a pi 3

i have been getting the same issues as this post
https://groups.google.com/g/ukhas/c/n_jdymBmXvM

<pi in sky.JPG>


and this is my board 
<download.jpg>

Im using rasp pi imager to set up the pi and install following the instructions via
https://github.com/PiInTheSky/lora-gateway and also 
https://github.com/teamtoadprojects/lora-gateway  and also 
git clone -b lgpio-port https://github.com/teamtoadprojects/lora-gateway.git

ive  tried  bookworm 64 and 32 and bullseye  even some older legacy  os as well  buster and stretch.

Im just banging my head against the wall 

--
You received this message because you are subscribed to the Google Groups "UKHAS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ukhas+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ukhas/8d5453a1-6ea5-49d3-970a-c1a0b202d452n%40googlegroups.com.
<download.jpg>
<pi in sky.JPG>

Ross G6GVI

unread,
Sep 7, 2025, 3:30:25 AM (2 days ago) Sep 7
to UKHAS
I built one only last year, using a PiZeroW and Ra02:
Pi Zero LoRa Gateway.jpg
That's running perfectly on a dresh installation of Raspbian 11 (Bullseye).

I followed the instructions in https://github.com/PiInTheSky/lora-gateway, including:
Enable SPI in raspi-config
and  
you must install Wiring Pi from source  
That SPI error suggests you may have missed one of those steps?

I don't recall having any other issues.

On Saturday, 6 September 2025 at 23:09:56 UTC+1 Roger M1CDQ wrote:
Im trying to set up pi gateway on a pi 3

pi in sky.JPG


David Akerman

unread,
Sep 7, 2025, 3:48:23 AM (2 days ago) Sep 7
to UKHAS
I'll bring this up to date soon.  I need to remove the dependency on WiringPi.

Ross G6GVI

unread,
Sep 7, 2025, 4:20:58 AM (2 days ago) Sep 7
to UKHAS
One other thought - I see that your radio is connected to CE1, so I wonder if maybe you need to comment out the unused DIOx_0 lines?
I see that in my config I've done that for my unused CE1 port:
#DIO0_1=6
#DIO5_1=5

Roger M1CDQ

unread,
Sep 7, 2025, 6:41:53 AM (2 days ago) Sep 7
to UKHAS
I have just done a fresh install  using  /raspbian 11 Buster
 this will be a long post as i will post the whole of the install  from my ssh screen.

I still get the error 
wiringPiSPI: invalid spi nmber/channel (need wiringpi read/write) (need wiringPiSPixsetupmode before read right)

 pi in sky1.JPG

full capture from install 
#########################################


login as: pi
p...@192.168.0.10's password:
Linux lorahub2-pi3 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue May  6 14:43:51 2025

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set                                                                                        a new password.

pi@lorahub2-pi3:~ $ sudo apt-get install git libcurl4-openssl-dev libncurses5-de                                                                                       v  libssl-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.30.2-1+deb11u4).
The following package was automatically installed and is no longer required:
  libfuse2
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
  curl libcurl4 libncurses-dev libssl1.1
Suggested packages:
  libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev
  ncurses-doc libssl-doc
The following NEW packages will be installed:
  libcurl4-openssl-dev libncurses-dev libncurses5-dev libssl-dev
The following packages will be upgraded:
  curl libcurl4 libssl1.1
3 upgraded, 4 newly installed, 0 to remove and 96 not upgraded.
Need to get 4,143 kB of archives.
After this operation, 9,031 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf libssl1.1 armhf                                                                                        1.1.1w-0+deb11u3+rpt1 [1,298 kB]
Get:3 http://archive.raspberrypi.org/debian bullseye/main armhf libssl-dev armhf                                                                                        1.1.1w-0+deb11u3+rpt1 [1,602 kB]
Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf curl armhf 7.                                                                                       74.0-1.3+deb11u15 [259 kB]
Get:4 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libcurl4 armh                                                                                       f 7.74.0-1.3+deb11u15 [311 kB]
Get:5 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libcurl4-open                                                                                       ssl-dev armhf 7.74.0-1.3+deb11u15 [383 kB]
Get:7 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libncurses5-d                                                                                       ev armhf 6.2+20201114-2+deb11u2 [948 B]
Get:6 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libncurses-de                                                                                       v armhf 6.2+20201114-2+deb11u2 [288 kB]
Fetched 4,143 kB in 1s (4,537 kB/s)
Reading changelogs... Done
Preconfiguring packages ...
(Reading database ... 173131 files and directories currently installed.)
Preparing to unpack .../libssl1.1_1.1.1w-0+deb11u3+rpt1_armhf.deb ...
Unpacking libssl1.1:armhf (1.1.1w-0+deb11u3+rpt1) over (1.1.1w-0+deb11u2+rpt1) .                                                                                       ..
Setting up libssl1.1:armhf (1.1.1w-0+deb11u3+rpt1) ...
(Reading database ... 173131 files and directories currently installed.)
Preparing to unpack .../0-curl_7.74.0-1.3+deb11u15_armhf.deb ...
Unpacking curl (7.74.0-1.3+deb11u15) over (7.74.0-1.3+deb11u14) ...
Preparing to unpack .../1-libcurl4_7.74.0-1.3+deb11u15_armhf.deb ...
Unpacking libcurl4:armhf (7.74.0-1.3+deb11u15) over (7.74.0-1.3+deb11u14) ...
Selecting previously unselected package libcurl4-openssl-dev:armhf.
Preparing to unpack .../2-libcurl4-openssl-dev_7.74.0-1.3+deb11u15_armhf.deb ...
Unpacking libcurl4-openssl-dev:armhf (7.74.0-1.3+deb11u15) ...
Selecting previously unselected package libncurses-dev:armhf.
Preparing to unpack .../3-libncurses-dev_6.2+20201114-2+deb11u2_armhf.deb ...
Unpacking libncurses-dev:armhf (6.2+20201114-2+deb11u2) ...
Selecting previously unselected package libncurses5-dev:armhf.
Preparing to unpack .../4-libncurses5-dev_6.2+20201114-2+deb11u2_armhf.deb ...
Unpacking libncurses5-dev:armhf (6.2+20201114-2+deb11u2) ...
Selecting previously unselected package libssl-dev:armhf.
Preparing to unpack .../5-libssl-dev_1.1.1w-0+deb11u3+rpt1_armhf.deb ...
Unpacking libssl-dev:armhf (1.1.1w-0+deb11u3+rpt1) ...
Setting up libncurses-dev:armhf (6.2+20201114-2+deb11u2) ...
Setting up libssl-dev:armhf (1.1.1w-0+deb11u3+rpt1) ...
Setting up libncurses5-dev:armhf (6.2+20201114-2+deb11u2) ...
Setting up libcurl4:armhf (7.74.0-1.3+deb11u15) ...
Setting up curl (7.74.0-1.3+deb11u15) ...
Setting up libcurl4-openssl-dev:armhf (7.74.0-1.3+deb11u15) ...
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u11) ...
pi@lorahub2-pi3:~ $ cs
-bash: cs: command not found
pi@lorahub2-pi3:~ $ cd ~
pi@lorahub2-pi3:~ $ git clone https://github.com/fsphil/ssdv.git
Cloning into 'ssdv'...
remote: Enumerating objects: 212, done.
remote: Counting objects: 100% (26/26), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 212 (delta 17), reused 17 (delta 15), pack-reused 186 (from 2)
Receiving objects: 100% (212/212), 90.07 KiB | 2.20 MiB/s, done.
Resolving deltas: 100% (131/131), done.
pi@lorahub2-pi3:~ $ cd ssdv
pi@lorahub2-pi3:~/ssdv $ make
gcc -g -O3 -Wall -c main.c -o main.o
gcc -g -O3 -Wall -c ssdv.c -o ssdv.o
gcc -g -O3 -Wall -c rs8.c -o rs8.o
gcc -g main.o ssdv.o rs8.o -o ssdv
pi@lorahub2-pi3:~/ssdv $ sudo make install
mkdir -p /usr/bin
install -m 755 ssdv /usr/bin
pi@lorahub2-pi3:~/ssdv $ cd ~
pi@lorahub2-pi3:~ $ git clone https://github.com/WiringPi/WiringPi.git
Cloning into 'WiringPi'...
remote: Enumerating objects: 3488, done.
remote: Counting objects: 100% (1551/1551), done.
remote: Compressing objects: 100% (369/369), done.
remote: Total 3488 (delta 1367), reused 1182 (delta 1182), pack-reused 1937 (fro                                                                                       m 3)
Receiving objects: 100% (3488/3488), 1.39 MiB | 3.20 MiB/s, done.
Resolving deltas: 100% (2253/2253), done.
pi@lorahub2-pi3:~ $ cd WiringPi
pi@lorahub2-pi3:~/WiringPi $ ./build
wiringPi Build script
=====================


WiringPi Library
[UnInstall]
[Compile] wiringPi.c
[Compile] wiringSerial.c
[Compile] wiringShift.c
[Compile] piHiPri.c
[Compile] piThread.c
[Compile] wiringPiSPI.c
[Compile] wiringPiI2C.c
[Compile] softPwm.c
[Compile] softTone.c
[Compile] mcp23008.c
[Compile] mcp23016.c
[Compile] mcp23017.c
[Compile] mcp23s08.c
[Compile] mcp23s17.c
[Compile] sr595.c
[Compile] pcf8574.c
[Compile] pcf8591.c
[Compile] mcp3002.c
[Compile] mcp3004.c
[Compile] mcp4802.c
[Compile] mcp3422.c
[Compile] max31855.c
[Compile] max5322.c
[Compile] ads1115.c
[Compile] sn3218.c
[Compile] bmp180.c
[Compile] htu21d.c
[Compile] ds18b20.c
[Compile] rht03.c
[Compile] drcSerial.c
[Compile] drcNet.c
[Compile] pseudoPins.c
[Compile] wpiExtensions.c
[Compile] wiringPiLegacy.c
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]

WiringPi Devices Library
[UnInstall]
[Compile] ds1302.c
[Compile] maxdetect.c
[Compile] piNes.c
[Compile] gertboard.c
[Compile] piFace.c
[Compile] lcd128x64.c
[Compile] lcd.c
[Compile] scrollPhat.c
[Compile] piGlow.c
[Link (Dynamic)]
[Install Headers]
[Install Dynamic Lib]

GPIO Utility
[Compile] gpio.c
[Compile] readall.c
[Link]
[Install]

All Done.

NOTE: To compile programs with wiringPi, you need to add:
    -lwiringPi
  to your compile line(s) To use the Gertboard, MaxDetect, etc.
  code (the devLib), you need to also add:
    -lwiringPiDev
  to your compile line(s).

pi@lorahub2-pi3:~/WiringPi $ cd ~
pi@lorahub2-pi3:~ $ mkdir MQTTClients
pi@lorahub2-pi3:~ $ cd MQTTClients
pi@lorahub2-pi3:~/MQTTClients $ git clone https://github.com/janderholm/paho.mqt                                                                                       t.c.git
Cloning into 'paho.mqtt.c'...
remote: Enumerating objects: 5291, done.
remote: Counting objects: 100% (1811/1811), done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 5291 (delta 1713), reused 1688 (delta 1688), pack-reused 3480 (fro                                                                                       m 1)
Receiving objects: 100% (5291/5291), 1.89 MiB | 3.41 MiB/s, done.
Resolving deltas: 100% (3916/3916), done.
pi@lorahub2-pi3:~/MQTTClients $ cd paho.mqtt.c
pi@lorahub2-pi3:~/MQTTClients/paho.mqtt.c $ make
mkdir -p build/output/samples
mkdir -p build/output/test
echo OSTYPE is Linux
OSTYPE is Linux
sed -e "s/@CLIENT_VERSION@/1.3.0/g" -e "s/@BUILD_TIMESTAMP@/Sun  7 Sep 11:06:00                                                                                        BST 2025/g" src/VersionInfo.h.in > build/VersionInfo.h
cc -g -fPIC  -Os -Wall -fvisibility=hidden -Ibuild  -o build/output/libpaho-mqtt                                                                                       3c.so.1.0 src/Base64.c src/Clients.c src/Heap.c src/LinkedList.c src/Log.c src/M                                                                                       essages.c src/MQTTClient.c src/MQTTPacket.c src/MQTTPacketOut.c src/MQTTPersiste                                                                                       nce.c src/MQTTPersistenceDefault.c src/MQTTProperties.c src/MQTTProtocolClient.c                                                                                        src/MQTTProtocolOut.c src/MQTTReasonCodes.c src/OsWrapper.c src/SHA1.c src/Sock                                                                                       etBuffer.c src/Socket.c src/StackTrace.c src/Thread.c src/Tree.c src/utf-8.c src                                                                                       /WebSocket.c  -shared -Wl,-init,MQTTClient_init -lpthread -Wl,-soname,libpaho-mq                                                                                       tt3c.so.1
ln -s libpaho-mqtt3c.so.1.0  build/output/libpaho-mqtt3c.so.1
ln -s libpaho-mqtt3c.so.1 build/output/libpaho-mqtt3c.so
cc -g -fPIC  -Os -Wall -fvisibility=hidden -Ibuild  -o build/output/libpaho-mqtt3cs.so.1.0 src/Base64.c src/Clients.c src/Heap.c src/LinkedList.c src/Log.c src/Messages.c src/MQTTClient.c src/MQTTPacket.c src/MQTTPacketOut.c src/MQTTPersistence.c src/MQTTPersistenceDefault.c src/MQTTProperties.c src/MQTTProtocolClient.c src/MQTTProtocolOut.c src/MQTTReasonCodes.c src/OsWrapper.c src/SHA1.c src/SocketBuffer.c src/Socket.c src/SSLSocket.c src/StackTrace.c src/Thread.c src/Tree.c src/utf-8.c src/WebSocket.c -DOPENSSL  -shared -Wl,--start-group -lpthread -ldl -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTClient_init -Wl,-soname,libpaho-mqtt3cs.so.1 -Wl,-no-whole-archive
src/SSLSocket.c: In function ‘SSLSocket_createContext’:
src/SSLSocket.c:537:4: warning: ‘TLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
  537 |    net->ctx = SSL_CTX_new(TLSv1_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1889:1: note: declared here
 1889 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
src/SSLSocket.c:542:4: warning: ‘TLSv1_1_client_method’ is deprecated [-Wdeprecated-declarations]
  542 |    net->ctx = SSL_CTX_new(TLSv1_1_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1895:1: note: declared here
 1895 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
src/SSLSocket.c:547:4: warning: ‘TLSv1_2_client_method’ is deprecated [-Wdeprecated-declarations]
  547 |    net->ctx = SSL_CTX_new(TLSv1_2_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1901:1: note: declared here
 1901 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
ln -s libpaho-mqtt3cs.so.1.0  build/output/libpaho-mqtt3cs.so.1
ln -s libpaho-mqtt3cs.so.1 build/output/libpaho-mqtt3cs.so
cc -g -fPIC  -Os -Wall -fvisibility=hidden -Ibuild  -o build/output/libpaho-mqtt3a.so.1.0 src/Base64.c src/Clients.c src/Heap.c src/LinkedList.c src/Log.c src/Messages.c src/MQTTAsync.c src/MQTTPacket.c src/MQTTPacketOut.c src/MQTTPersistence.c src/MQTTPersistenceDefault.c src/MQTTProperties.c src/MQTTProtocolClient.c src/MQTTProtocolOut.c src/MQTTReasonCodes.c src/OsWrapper.c src/SHA1.c src/SocketBuffer.c src/Socket.c src/StackTrace.c src/Thread.c src/Tree.c src/utf-8.c src/WebSocket.c  -shared -Wl,-init,MQTTAsync_init -lpthread -Wl,-soname,libpaho-mqtt3a.so.1
ln -s libpaho-mqtt3a.so.1.0  build/output/libpaho-mqtt3a.so.1
ln -s libpaho-mqtt3a.so.1 build/output/libpaho-mqtt3a.so
cc -g -fPIC  -Os -Wall -fvisibility=hidden -Ibuild  -o build/output/libpaho-mqtt3as.so.1.0 src/Base64.c src/Clients.c src/Heap.c src/LinkedList.c src/Log.c src/Messages.c src/MQTTAsync.c src/MQTTPacket.c src/MQTTPacketOut.c src/MQTTPersistence.c src/MQTTPersistenceDefault.c src/MQTTProperties.c src/MQTTProtocolClient.c src/MQTTProtocolOut.c src/MQTTReasonCodes.c src/OsWrapper.c src/SHA1.c src/SocketBuffer.c src/Socket.c src/SSLSocket.c src/StackTrace.c src/Thread.c src/Tree.c src/utf-8.c src/WebSocket.c -DOPENSSL  -shared -Wl,--start-group -lpthread -ldl -lssl -lcrypto -Wl,--end-group -Wl,-init,MQTTAsync_init -Wl,-soname,libpaho-mqtt3as.so.1 -Wl,-no-whole-archive
src/SSLSocket.c: In function ‘SSLSocket_createContext’:
src/SSLSocket.c:537:4: warning: ‘TLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
  537 |    net->ctx = SSL_CTX_new(TLSv1_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1889:1: note: declared here
 1889 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
src/SSLSocket.c:542:4: warning: ‘TLSv1_1_client_method’ is deprecated [-Wdeprecated-declarations]
  542 |    net->ctx = SSL_CTX_new(TLSv1_1_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1895:1: note: declared here
 1895 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
src/SSLSocket.c:547:4: warning: ‘TLSv1_2_client_method’ is deprecated [-Wdeprecated-declarations]
  547 |    net->ctx = SSL_CTX_new(TLSv1_2_client_method());
      |    ^~~
In file included from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/ssl.h:15,
                 from src/SocketBuffer.h:28,
                 from src/SSLSocket.c:31:
/usr/include/openssl/ssl.h:1901:1: note: declared here
 1901 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
ln -s libpaho-mqtt3as.so.1.0  build/output/libpaho-mqtt3as.so.1
ln -s libpaho-mqtt3as.so.1 build/output/libpaho-mqtt3as.so
cc  -I src -lpthread -L build/output -o build/output/paho_c_version -lpaho-mqtt3a src/MQTTVersion.c -ldl
cc -o build/output/samples/MQTTClient_publish src/samples/MQTTClient_publish.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
cc -o build/output/samples/MQTTClient_publish_async src/samples/MQTTClient_publish_async.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
cc -o build/output/samples/MQTTClient_subscribe src/samples/MQTTClient_subscribe.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
cc -o build/output/samples/paho_cs_pub src/samples/paho_cs_pub.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output src/samples/pubsub_opts.c
cc -o build/output/samples/paho_cs_sub src/samples/paho_cs_sub.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output src/samples/pubsub_opts.c
cc -o build/output/samples/MQTTAsync_subscribe src/samples/MQTTAsync_subscribe.c -lpaho-mqtt3as  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
cc -o build/output/samples/MQTTAsync_publish src/samples/MQTTAsync_publish.c -lpaho-mqtt3as  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
cc -o build/output/samples/paho_c_pub src/samples/paho_c_pub.c -lpaho-mqtt3as  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output src/samples/pubsub_opts.c
cc -o build/output/samples/paho_c_sub src/samples/paho_c_sub.c -lpaho-mqtt3as  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output src/samples/pubsub_opts.c
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/test1 src/../test/test1.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/test1.c: In function ‘MyLog’:
src/../test/test1.c:160:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  160 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test1.c:148:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/test15 src/../test/test15.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/test15.c: In function ‘MyLog’:
src/../test/test15.c:162:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  162 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test15.c:150:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/test2 src/../test/test2.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/test2.c: In function ‘MyLog’:
src/../test/test2.c:151:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  151 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test2.c:139:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/sync_client_test src/../test/sync_client_test.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/sync_client_test.c: In function ‘MyLog’:
src/../test/sync_client_test.c:219:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  219 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/sync_client_test.c:207:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/test_mqtt4sync src/../test/test_mqtt4sync.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/test_mqtt4sync.c: In function ‘MyLog’:
src/../test/test_mqtt4sync.c:153:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  153 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test_mqtt4sync.c:141:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -DNOSTACKTRACE -DNOLOG_MESSAGES src/Thread.c -g -o build/output/test/test10 src/../test/test10.c -lpaho-mqtt3c  -I src -lpthread -L build/output
src/../test/test10.c: In function ‘MyLog’:
src/../test/test10.c:175:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  175 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test10.c:162:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test3 src/../test/test3.c -lpaho-mqtt3cs  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
src/../test/test3.c: In function ‘MyLog’:
src/../test/test3.c:275:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  275 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test3.c:52:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test4 src/../test/test4.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test4.c: In function ‘MyLog’:
src/../test/test4.c:135:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  135 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test4.c:123:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test45 src/../test/test45.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test45.c: In function ‘MyLog’:
src/../test/test45.c:136:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  136 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test45.c:124:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test6 src/../test/test6.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test6.c: In function ‘MyLog’:
src/../test/test6.c:187:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  187 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test6.c:175:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test9 src/../test/test9.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test9.c: In function ‘MyLog’:
src/../test/test9.c:115:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  115 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test9.c:103:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test95 src/../test/test95.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test95.c: In function ‘MyLog’:
src/../test/test95.c:116:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  116 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test95.c:104:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test_mqtt4async src/../test/test_mqtt4async.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test_mqtt4async.c: In function ‘MyLog’:
src/../test/test_mqtt4async.c:153:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  153 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test_mqtt4async.c:141:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test11 src/../test/test11.c -lpaho-mqtt3a  -I src -lpthread -L build/output
src/../test/test11.c: In function ‘MyLog’:
src/../test/test11.c:136:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  136 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test11.c:124:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
cc -g -o build/output/test/test5 src/../test/test5.c -lpaho-mqtt3as  -I src -Wl,--start-group -lpthread -lssl -lcrypto -Wl,--end-group -L build/output
src/../test/test5.c: In function ‘MyLog’:
src/../test/test5.c:191:2: warning: ‘ftime’ is deprecated [-Wdeprecated-declarations]
  191 |  ftime(&ts);
      |  ^~~~~
In file included from src/../test/test5.c:179:
/usr/include/arm-linux-gnueabihf/sys/timeb.h:39:12: note: declared here
   39 | extern int ftime (struct timeb *__timebuf)
      |            ^~~~~
pi@lorahub2-pi3:~/MQTTClients/paho.mqtt.c $ sudo make install
mkdir -p build/output/samples
mkdir -p build/output/test
echo OSTYPE is Linux
OSTYPE is Linux
mkdir -p /usr/local/include
install -m 644  build/output/libpaho-mqtt3c.so.1.0 /usr/local/lib
install -m 644  build/output/libpaho-mqtt3cs.so.1.0 /usr/local/lib
install -m 644  build/output/libpaho-mqtt3a.so.1.0 /usr/local/lib
install -m 644  build/output/libpaho-mqtt3as.so.1.0 /usr/local/lib
install  build/output/paho_c_version /usr/local/bin
install  build/output/samples/paho_c_pub /usr/local/bin
install  build/output/samples/paho_c_sub /usr/local/bin
install  build/output/samples/paho_cs_pub /usr/local/bin
install  build/output/samples/paho_cs_sub /usr/local/bin
/sbin/ldconfig /usr/local/lib
ln -s libpaho-mqtt3c.so.1 /usr/local/lib/libpaho-mqtt3c.so
ln -s libpaho-mqtt3cs.so.1 /usr/local/lib/libpaho-mqtt3cs.so
ln -s libpaho-mqtt3a.so.1 /usr/local/lib/libpaho-mqtt3a.so
ln -s libpaho-mqtt3as.so.1 /usr/local/lib/libpaho-mqtt3as.so
install -m 644 src/MQTTAsync.h /usr/local/include
install -m 644 src/MQTTClient.h /usr/local/include
install -m 644 src/MQTTClientPersistence.h /usr/local/include
install -m 644 src/MQTTProperties.h /usr/local/include
install -m 644 src/MQTTReasonCodes.h /usr/local/include
install -m 644 src/MQTTSubscribeOpts.h /usr/local/include
install -m 644 doc/man/man1/paho_c_pub.1 /usr/local/share/man/man1
install -m 644 doc/man/man1/paho_c_sub.1 /usr/local/share/man/man1
install -m 644 doc/man/man1/paho_cs_pub.1 /usr/local/share/man/man1
install -m 644 doc/man/man1/paho_cs_sub.1 /usr/local/share/man/man1
install -m 644 build/output/doc/MQTTClient/man/man3/MQTTClient.h.3 /usr/local/share/man/man3
install: cannot stat 'build/output/doc/MQTTClient/man/man3/MQTTClient.h.3': No such file or directory
make: [Makefile:303: install] Error 1 (ignored)
install -m 644 build/output/doc/MQTTAsync/man/man3/MQTTAsync.h.3 /usr/local/share/man/man3
install: cannot stat 'build/output/doc/MQTTAsync/man/man3/MQTTAsync.h.3': No such file or directory
make: [Makefile:304: install] Error 1 (ignored)
pi@lorahub2-pi3:~/MQTTClients/paho.mqtt.c $ cd ~
pi@lorahub2-pi3:~ $ git clone https://github.com/PiInTheSky/lora-gateway.git
Cloning into 'lora-gateway'...
remote: Enumerating objects: 860, done.
remote: Counting objects: 100% (268/268), done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 860 (delta 248), reused 234 (delta 234), pack-reused 592 (from 1)
Receiving objects: 100% (860/860), 838.20 KiB | 3.81 MiB/s, done.
Resolving deltas: 100% (518/518), done.
pi@lorahub2-pi3:~ $ cd lora-gateway
pi@lorahub2-pi3:~/lora-gateway $ make
gcc -Wall -O3  -o base64.o -c base64.c
gcc -Wall -O3  -o cmp.o -c cmp.c
gcc -Wall -O3  -o config.o -c config.c
gcc -Wall -O3  -o ftp.o -c ftp.c
ftp.c: In function ‘ConvertFile’:
ftp.c:46:63: warning: ‘ 2> /dev/null > /dev/null’ directive writing 25 bytes into a region of size between 9 and 170 [-Wformat-overflow=]
   46 |                      "curl -T %s %s -Q \"TYPE I\" --user %s:%s 2> /dev/null > /dev/null",
      |                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~
ftp.c:45:13: note: ‘sprintf’ output 56 or more bytes (assuming 217) into a destination of size 200
   45 |             sprintf( CommandLine,
      |             ^~~~~~~~~~~~~~~~~~~~~
   46 |                      "curl -T %s %s -Q \"TYPE I\" --user %s:%s 2> /dev/null > /dev/null",
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   47 |                      TargetFile, Config.ftpServer, Config.ftpUser,
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   48 |                      Config.ftpPassword );
      |                      ~~~~~~~~~~~~~~~~~~~~
ftp.c: In function ‘FTPLoop’:
ftp.c:75:44: warning: ‘%s’ directive writing up to 255 bytes into a region of size 95 [-Wformat-overflow=]
   75 |                     sprintf( FileName, "%s/%s", SSDVFolder, ep->d_name );
      |                                            ^~
ftp.c:75:21: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 100
   75 |                     sprintf( FileName, "%s/%s", SSDVFolder, ep->d_name );
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ftp.c:84:48: warning: ‘%s’ directive writing up to 255 bytes into a region of size 95 [-Wformat-overflow=]
   84 |                         sprintf( TempName, "%s/%s", SSDVFolder, ep->d_name );
      |                                                ^~
ftp.c:84:25: note: ‘sprintf’ output between 6 and 261 bytes into a destination of size 100
   84 |                         sprintf( TempName, "%s/%s", SSDVFolder, ep->d_name );
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O3  -o gateway.o -c gateway.c
gateway.c: In function ‘GetTextMessageToUpload.part.0’:
gateway.c:1502:44: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 192 and 255 [-Wformat-overflow=]
 1502 |                     sprintf( FileName, "%s/%s", Config.SMSFolder, ep->d_name );
      |                                            ^~
gateway.c:1502:21: note: ‘sprintf’ output between 2 and 320 bytes into a destination of size 256
 1502 |                     sprintf( FileName, "%s/%s", Config.SMSFolder, ep->d_name );
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c: In function ‘ProcessLineHABpack’:
gateway.c:1062:5: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 31 [-Wstringop-truncation]
 1062 |     strncpy(Config.Payloads[PayloadIndex].Payload, Received->Telemetry.Callsign, 15);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c:1064:5: warning: ‘strncpy’ output may be truncated copying 8 bytes from a string of length 8 [-Wstringop-truncation]
 1064 |     strncpy(Config.Payloads[PayloadIndex].Time, Received->Telemetry.TimeString, 8);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c: In function ‘ProcessSyncMessage’:
gateway.c:1629:4: warning: ‘sprintf’ arguments 3, 6 may overlap destination object ‘Config’ [-Wrestrict]
 1629 |    sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1630 |                     Config.LoRaDevices[Channel].RxMessageID,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1631 |                     Config.LoRaDevices[Channel].TxMessageID,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1632 |                     Config.LoRaDevices[Channel].TxChatMessage);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c:157:16: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
  157 | struct TConfig Config;
      |                ^~~~~~
gateway.c: In function ‘DIO0_Interrupt’:
gateway.c:1629:4: warning: ‘sprintf’ arguments 3, 6 may overlap destination object ‘Config’ [-Wrestrict]
 1629 |    sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1630 |                     Config.LoRaDevices[Channel].RxMessageID,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1631 |                     Config.LoRaDevices[Channel].TxMessageID,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1632 |                     Config.LoRaDevices[Channel].TxChatMessage);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c:157:16: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
  157 | struct TConfig Config;
      |                ^~~~~~
gateway.c: In function ‘main’:
gateway.c:2935:71: warning: ‘%s’ directive writing up to 15647 bytes into a region of size between 1295 and 16998 [-Wformat-overflow=]
 2935 |         sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |                                                                       ^~
gateway.c:2935:9: note: ‘sprintf’ output between 7 and 31357 bytes into a destination of size 17004
 2935 |         sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2936 |                          Config.LoRaDevices[Channel].RxMessageID,
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2937 |                          Config.LoRaDevices[Channel].TxMessageID,
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2938 |                          Config.LoRaDevices[Channel].TxChatMessage);
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c:2935:71: warning: ‘%s’ directive writing up to 13423 bytes into a region of size between 1295 and 14774 [-Wformat-overflow=]
 2935 |         sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |                                                                       ^~
gateway.c:2935:9: note: ‘sprintf’ output between 7 and 26909 bytes into a destination of size 14780
 2935 |         sprintf(Config.LoRaDevices[Channel].UplinkMessage, "!%s,%d,%d,%s", Config.LoRaDevices[Channel].ChatPayloadID,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2936 |                          Config.LoRaDevices[Channel].RxMessageID,
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2937 |                          Config.LoRaDevices[Channel].TxMessageID,
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2938 |                          Config.LoRaDevices[Channel].TxChatMessage);
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gateway.c:2935:9: warning: ‘sprintf’ arguments 3, 6 may overlap destination object ‘Config’ [-Wrestrict]
gateway.c:157:16: note: destination object referenced by ‘restrict’-qualified argument 1 was declared here
  157 | struct TConfig Config;
      |                ^~~~~~
gcc -Wall -O3  -o gui.o -c gui.c
gcc -Wall -O3  -o habpack.o -c habpack.c
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:941:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:941:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:941:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:921:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:921:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:911:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:898:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:885:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:835:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:822:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:809:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:797:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:784:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:754:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:757:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:760:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:763:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:763:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:763:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:724:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:727:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:730:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:733:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:733:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:733:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:694:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:697:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:700:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:703:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:703:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:703:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:658:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:661:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:664:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:667:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:670:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:670:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:670:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:670:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:622:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:625:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:628:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:631:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:634:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:634:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:634:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:634:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:586:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:589:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:592:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:595:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:598:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:598:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:598:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:598:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:576:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:566:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:519:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:519:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:519:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:488:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:488:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:477:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
habpack.c: In function ‘Habpack_Process_Message’:
habpack.c:463:21: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 254 [-Wstringop-truncation]
  463 |                     strncpy(Received->Telemetry.Callsign, str, 31);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
habpack.c:91:9: note: in definition of macro ‘TRY_PARSE_STRING’
   91 |         processing \
      |         ^~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:462:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:466:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:982:17:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:987:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:992:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:997:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1002:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function ‘Habpack_telem_store_field’,
    inlined from ‘Habpack_Process_Message’ at habpack.c:1007:22:
habpack.c:173:5: warning: ‘strncpy’ output may be truncated copying 31 bytes from a string of length 31 [-Wstringop-truncation]
  173 |     strncpy(walk_ptr->name, field_name, 31);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O3  -o lifo_buffer.o -c lifo_buffer.c
gcc -Wall -O3  -o mqtt.o -c mqtt.c
gcc -Wall -O3  -o network.o -c network.c
gcc -Wall -O3  -o server.o -c server.c
server.c: In function ‘ProcessJSONClientLine’:
server.c:171:62: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 207 and 270 [-Wformat-overflow=]
  171 |     sprintf(temp, "{\"class\":\"SET\",\"set\":\"%s\",\"val\":%s}\r\n", SettingName, SettingValue);
      |                                                              ^~                     ~~~~~~~~~~~~
server.c:171:5: note: ‘sprintf’ output between 34 and 352 bytes into a destination of size 300
  171 |     sprintf(temp, "{\"class\":\"SET\",\"set\":\"%s\",\"val\":%s}\r\n", SettingName, SettingValue);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
server.c: In function ‘ServerLoop’:
server.c:171:62: warning: ‘%s’ directive writing up to 255 bytes into a region of size between 207 and 270 [-Wformat-overflow=]
  171 |     sprintf(temp, "{\"class\":\"SET\",\"set\":\"%s\",\"val\":%s}\r\n", SettingName, SettingValue);
      |                                                              ^~                     ~~~~~~~~~~~~
server.c:171:5: note: ‘sprintf’ output between 34 and 352 bytes into a destination of size 300
  171 |     sprintf(temp, "{\"class\":\"SET\",\"set\":\"%s\",\"val\":%s}\r\n", SettingName, SettingValue);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -Wall -O3  -o sha256.o -c sha256.c
gcc -Wall -O3  -o sondehub.o -c sondehub.c
gcc -Wall -O3  -o ssdv.o -c ssdv.c
gcc -Wall -O3  -o udpclient.o -c udpclient.c
gcc -Wall -O3  -o urlencode.o -c urlencode.c
gcc base64.o cmp.o config.o ftp.o gateway.o gui.o habpack.o lifo_buffer.o mqtt.o network.o server.o sha256.o sondehub.o ssdv.o udpclient.o urlencode.o  -lm -lwiringPi -lwiringPiDev -lcurl -lncurses -lpthread -lpaho-mqtt3c -o gateway
pi@lorahub2-pi3:~/lora-gateway $ cp gateway-sample.txt gateway.txt
pi@lorahub2-pi3:~/lora-gateway $ ./gateway


EOL  helppppppppppppppppppppppppppppppppppppppppp ;-~)

Mika Köching

unread,
Sep 7, 2025, 7:00:49 AM (2 days ago) Sep 7
to UKHAS
I think I had the same error with my receiver but it still worked. Have you tried receiving anything yet?

Ross G6GVI

unread,
Sep 7, 2025, 11:01:49 AM (2 days ago) Sep 7
to UKHAS
I think that Mika is right - your console is displaying an RSSI value read from the radio, so it must have connected.
Try keying up a 70cm handie nearby on that frequency and see if the RSSI jumps?

Meanwhile, I've just gone through the installation on a fresh Raspbian 12 (Bookworm) and got exactly the same error.
But I note that it has installed WiringPi is version 3.16, whereas my error-free installation on the PiZero last year is version 3.1.

Roger M1CDQ

unread,
Sep 7, 2025, 3:49:14 PM (2 days ago) Sep 7
to UKHAS
just tried with one of my handhelds and yes the rssi needle  jumps when i key up. So it is receiving.
so thats a start at least its working.
do these board work wiht 2 boards fitted. As im thinking of getting a 2nd 433 one  so i can do telemetry and ssdv at same time. if that poss.

Im getting there slowly 

cheers for all the help

Ross G6GVI

unread,
Sep 7, 2025, 4:11:00 PM (2 days ago) Sep 7
to UKHAS
That's a relief Roger, thanks for the update.

If a flight is sending interleaved telemetry and SSDV (like BWC-L last Tuesday) then a single Gateway receiver will handle them both automatically.
It's only if there's a second LoRa unit on a different frequency (like BakTrak on Tuesday) that you'd need a second receiver.
In that case, a signal splitter like this from your antenna: https://www.ebay.co.uk/itm/195058329916
would feed them both, (at the cost of 3dB loss). 
I was using a masthead preamp on Tuesday, then one of those splitters to feed my Pi2B and PiZero units.

Roger M1CDQ

unread,
Sep 8, 2025, 4:14:48 AM (yesterday) Sep 8
to UKHAS
I have been using one of these for years for my sdr's. its the version with no filters in
https://www.amazon.co.uk/Signal-Booster-SLx-Output-27824BMR/dp/B0787KRKKF 

works well 


Roger M1CDQ

unread,
Sep 8, 2025, 11:55:38 AM (23 hours ago) Sep 8
to UKHAS
with some help from ross 
i believe this command works 
git clone https://github.com/WiringPi/WiringPi.git --branch 3.1
and after loggin in to the pi with winscp and looking at the version  file in the wiring directory 
VERSION   shows 3.1
version.h shows  
#define VERSION "3.1"
#define VERSION_MAJOR 3
#define VERSION_MINOR 1

As i say with some help from ross and some googleing   
this seems to work . But could one of the elder gurus  check it out for confirmation 
now just awaiting for my board to fit to this pi zero i am working on 
then i shall have a pi zero and a pi3   both working

Ross G6GVI

unread,
Sep 8, 2025, 12:07:33 PM (23 hours ago) Sep 8
to UKHAS
I don't think that version of WiringPi wouild work with the latest RasPi OS (Debian 12 "Bookworm").
But I can confirm that it is compatible with the Debian 11 "Bullseye" version: that's what I had on my PiZero and I put it all on a fresh Pi3 installation last night, just to check.

Roger M1CDQ

unread,
10:40 AM (8 minutes ago) 10:40 AM
to UKHAS
update. I now have 2 pi's running  one a pi3 and the other a pi zero 2w  both with the larger board fitted bot with 2  lora 433 boards on for 2 channels 
both are ruunning bullseye 11   and  the version 3.1 if wiringpi 
So thanks to everyone for the help 

now to find software for 2  lilygo  t-beam  one is 433 other is 868 


any suggestions 

i may try and fit a small 70cm beam  on to my sat tracker. As i see hub base can work a rotator
. The cable wiring is tatty but it works and Muphpy's  law states if i tidy it up it wont work 
WhatsApp Image 2025-09-09 at 15.33.31.jpeg 
Reply all
Reply to author
Forward
0 new messages