ArmDeveloperEcosystem / lorawan-library-for-pico

Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board. 📡
BSD 3-Clause "New" or "Revised" License
146 stars 49 forks source link

Would it be possible to create a platform release ? #27

Closed gomond closed 2 years ago

gomond commented 2 years ago

Hi I was just wondering if it is at all possible to have a second candidate that is setup for platformio, as Cmake is messy, complicated and unreliable for noobs like myself who turn to raspberry pi as a simple alternative. And now that the Pi-Pico is supported via Wiz-IO-Pico on platformio. Would assume that it would be a trivial exercise for an experienced programmer to convert. I have all but given up on Cmake as it only works sometimes and often finds the wrong paths.

Thank You

gomond commented 2 years ago

After a fresh clone and following the instructions to the letter, this is the output.

MacBook-Pro:~ gomond$ cd pico-lorawan/ MacBook-Pro:pico-lorawan gomond$ ls API.md LICENSE examples pico_sdk_import.cmake CMakeLists.txt README.md lib src MacBook-Pro:pico-lorawan gomond$ mkdir build MacBook-Pro:pico-lorawan gomond$ cd build/ MacBook-Pro:build gomond$ cmake .. -DPICO_BOARD=pico Using PICO_SDK_PATH from environment ('/Users/gomond/pico-sdk') PICO_SDK_PATH is /Users/gomond/pico-sdk Defaulting PICO_PLATFORM to rp2040 since not specified. Defaulting PICO platform compiler to pico_arm_gcc since not specified. -- Defaulting build type to 'Release' since not specified. PICO compiler is pico_arm_gcc -- The C compiler identification is GNU 11.2.1 -- The CXX compiler identification is GNU 11.2.1 -- The ASM compiler identification is GNU -- Found assembler: /usr/local/bin/arm-none-eabi-gcc Build type is Release PICO target board is pico. Using board configuration from /Users/gomond/pico-sdk/src/boards/include/boards/pico.h -- Found Python3: /usr/local/Frameworks/Python.framework/Versions/3.9/bin/python3.9 (found version "3.9.13") found components: Interpreter TinyUSB available at /Users/gomond/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB. -- Configuring done -- Generating done -- Build files have been written to: /Users/gomond/pico-lorawan/build MacBook-Pro:build gomond$ ls CMakeCache.txt CMakeDoxygenDefaults.cmake Makefile elf2uf2 generated CMakeDoxyfile.in CMakeFiles cmake_install.cmake examples pico-sdk MacBook-Pro:build gomond$ make Scanning dependencies of target bs2_default [ 0%] Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/compile_time_choice.S.obj [ 0%] Linking ASM executable bs2_default.elf [ 0%] Built target bs2_default [ 0%] Creating directories for 'ELF2UF2Build' [ 0%] No download step for 'ELF2UF2Build' [ 0%] No update step for 'ELF2UF2Build' [ 1%] No patch step for 'ELF2UF2Build' [ 1%] Performing configure step for 'ELF2UF2Build' -- The C compiler identification is AppleClang 13.0.0.13000029 -- The CXX compiler identification is AppleClang 13.0.0.13000029 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done -- Generating done -- Build files have been written to: /Users/gomond/pico-lorawan/build/elf2uf2 [ 1%] Performing build step for 'ELF2UF2Build' [ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o [100%] Linking CXX executable elf2uf2 [100%] Built target elf2uf2 [ 1%] No install step for 'ELF2UF2Build' [ 1%] Completed 'ELF2UF2Build' [ 1%] Built target ELF2UF2Build [ 2%] Generating bs2_default.bin [ 2%] Generating bs2_default_padded_checksummed.S [ 2%] Built target bs2_default_padded_checksummed_asm Scanning dependencies of target pico_lorawan_default_dev_eui [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir/main.c.obj [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///src/lorawan.c.obj [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/CayenneLpp.c.obj [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/cli.c.obj [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandlerMsgDisplay.c.obj [ 2%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/NvmDataMgmt.c.obj [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/LmHandler.c.obj [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c.obj In function 'FragGetParityMatrixRow', inlined from 'FragDecoderProcess' at /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:360:9: /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:594:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 594 | matrixRow[i] = 0; | ~~~^ /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c: In function 'FragDecoderProcess': /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:307:13: note: at offset [12, 252] into destination object 'matrixRow' of size 3 307 | uint8_t matrixRow[(FRAG_MAX_NB >> 3 ) + 1]; | ^~~~~ In function 'FragGetParityMatrixRow', inlined from 'FragDecoderProcess' at /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:360:9: /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:594:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 594 | matrixRow[i] = 0; | ~~~^ /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c: In function 'FragDecoderProcess': /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:307:13: note: at offset [13, 253] into destination object 'matrixRow' of size 3 307 | uint8_t matrixRow[(FRAG_MAX_NB >> 3 ) + 1]; | ^~~~~ In function 'FragGetParityMatrixRow', inlined from 'FragDecoderProcess' at /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:360:9: /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:594:22: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 594 | matrixRow[i] = 0; | ~~~^ /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c: In function 'FragDecoderProcess': /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/FragDecoder.c:307:13: note: at offset [14, 254] into destination object 'matrixRow' of size 3 307 | uint8_t matrixRow[(FRAG_MAX_NB >> 3 ) + 1]; | ^~~~~ [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpClockSync.c.obj [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpCompliance.c.obj [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpFragmentation.c.obj [ 3%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/apps/LoRaMac/common/LmHandler/packages/LmhpRemoteMcastSetup.c.obj [ 4%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/boards/mcu/utilities.c.obj [ 4%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/mac/region/Region.c.obj [ 4%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/mac/region/RegionAS923.c.obj [ 4%] Building C object examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/mac/region/RegionAU915.c.obj /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/mac/region/RegionAU915.c: In function 'RegionAU915GetPhyParam': /Users/gomond/pico-lorawan/lib/LoRaMac-node/src/mac/region/RegionAU915.c:244:13: internal compiler error: Illegal instruction: 4 244 | phyParam.fValue = AU915_DEFAULT_MAX_EIRP; | ^~~~ Please submit a full bug report, with preprocessed source if appropriate. See https://bugs.linaro.org/ for instructions. make[2]: [examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir///lib/LoRaMac-node/src/mac/region/RegionAU915.c.obj] Error 1 make[1]: [examples/default_dev_eui/CMakeFiles/pico_lorawan_default_dev_eui.dir/all] Error 2 make: *** [all] Error 2 MacBook-Pro:build gomond$

sandeepmistry commented 2 years ago

Hi @gomond,

Hi I was just wondering if it is at all possible to have a second candidate that is setup for platformio

There are no plans to support this, I would prefer to only support Cmake as that is what the official Pico SDK uses and supports.

/Users/gomond/pico-lorawan/lib/LoRaMac-node/src/mac/region/RegionAU915.c:244:13: internal compiler error: Illegal instruction: 4

Could you please provide more details on the OS and gcc version you are using so I can try to reproduce this locally.

For example, for gcc version:

% arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
gomond commented 2 years ago

I have gone to 10.3.1 as I was using latest release when the errors occurred (OSX, and linux). errors disappear on 10.3.1

On 26 Jul 2022, at 12:24 am, Sandeep Mistry @.***> wrote:

Hi @gomond https://github.com/gomond,

Hi I was just wondering if it is at all possible to have a second candidate that is setup for platformio

There are no plans to support this, I would prefer to only support Cmake as that is what the official Pico SDK uses and supports.

/Users/gomond/pico-lorawan/lib/LoRaMac-node/src/mac/region/RegionAU915.c:244:13: internal compiler error: Illegal instruction: 4

Could you please provide more details on the OS and gcc version you are using so I can try to reproduce this locally.

For example, for gcc version:

% arm-none-eabi-gcc --version arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10-2020-q4-major) 10.2.1 20201103 (release) Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. — Reply to this email directly, view it on GitHub https://github.com/ArmDeveloperEcosystem/lorawan-library-for-pico/issues/27#issuecomment-1194118511, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5DSB5RDDQM2UCRWXJP5OLVV2PQLANCNFSM5Y3LLLLA. You are receiving this because you were mentioned.

sandeepmistry commented 2 years ago

Hi @gomond,

I have gone to 10.3.1 as I was using latest release when the errors occurred (OSX, and linux). errors disappear on 10.3.1

Thank you for the update. Can this issue be considered resolved now?

gomond commented 2 years ago

Sure..

On 26 Jul 2022, at 12:54 am, Sandeep Mistry @.***> wrote:

Hi @gomond https://github.com/gomond,

I have gone to 10.3.1 as I was using latest release when the errors occurred (OSX, and linux). errors disappear on 10.3.1

Thank you for the update. Can this issue be considered resolved now?

— Reply to this email directly, view it on GitHub https://github.com/ArmDeveloperEcosystem/lorawan-library-for-pico/issues/27#issuecomment-1194156964, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5DSB6WZS2GP2YCGTQ2FS3VV2TDNANCNFSM5Y3LLLLA. You are receiving this because you were mentioned.