Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error while building RFquack for ESP32C3 #45

Open
whatotter opened this issue Apr 27, 2023 · 15 comments
Open

error while building RFquack for ESP32C3 #45

whatotter opened this issue Apr 27, 2023 · 15 comments

Comments

@whatotter
Copy link

Describe the bug

while attempting to build (with every dependency installed), it fails with:

... lots of compiling, no errors or warnings ...
Compiling .pio/build/seeed_xiao_esp32c3/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/seeed_xiao_esp32c3/FrameworkArduino/main.cpp.o
Compiling .pio/build/seeed_xiao_esp32c3/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/seeed_xiao_esp32c3/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/seeed_xiao_esp32c3/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/seeed_xiao_esp32c3/libFrameworkArduino.a
Indexing .pio/build/seeed_xiao_esp32c3/libFrameworkArduino.a
Linking .pio/build/seeed_xiao_esp32c3/firmware.elf
/home/otter/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pio/build/seeed_xiao_esp32c3/libFrameworkArduino.a(main.cpp.o): in function `loopTask(void*)':
/home/otter/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: .pio/build/seeed_xiao_esp32c3/libFrameworkArduino.a(main.cpp.o): in function `loopTask(void*)':
/home/otterworks-vm/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:47: undefined reference to `setup()'
/home/otter/.platformio/packages/toolchain-riscv32-esp/bin/../lib/gcc/riscv32-esp-elf/8.4.0/../../../../riscv32-esp-elf/bin/ld: /home/otter/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:47: undefined reference to `loop()'

To Reproduce

i just tried attempting building, and it doesn't work - installed all prerequisites from the rfquack site

Expected behavior

successful building of rfquack, then flashing

Screenshots or pictures

none

Additional info (please complete)

  • MCU: seeed xiao esp32c3
  • Wireless module type: cc1101
  • Host environment: fedora
  • RFQuack version, branch, or tag: master
  • RadioLib version, branch, or tag [e.g., v.5.3.0]
@phretor
Copy link
Contributor

phretor commented Apr 27, 2023

Can you checkout a fresh copy of the repository somewhere else and type here the exact sequence of commands that you type, step by step?

Please paste the entire output, even when not containing errors.

@whatotter
Copy link
Author

following the instructions starting at https://rfquack.org/usage/download/ :

[root@otter]~# git clone --recursive https://github.com/rfquack/RFQuack   
Cloning into 'RFQuack'...
remote: Enumerating objects: 2171, done.
remote: Counting objects: 100% (257/257), done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 2171 (delta 187), reused 212 (delta 168), pack-reused 1914
Receiving objects: 100% (2171/2171), 41.16 MiB | 35.06 MiB/s, done.
Resolving deltas: 100% (1125/1125), done.
Submodule 'doxygen/doxygen-awesome' (https://github.com/jothepro/doxygen-awesome-css.git) registered for path 'doxygen/doxygen-awesome'
Submodule 'lib/RadioLib' (https://github.com/rfquack/RadioLib) registered for path 'lib/RadioLib'
Cloning into '/root/RFQuack/doxygen/doxygen-awesome'...
remote: Enumerating objects: 2155, done.        
remote: Counting objects: 100% (534/534), done.        
remote: Compressing objects: 100% (145/145), done.        
remote: Total 2155 (delta 388), reused 493 (delta 366), pack-reused 1621        
Receiving objects: 100% (2155/2155), 8.05 MiB | 15.53 MiB/s, done.
Resolving deltas: 100% (1582/1582), done.
Cloning into '/root/RFQuack/lib/RadioLib'...
remote: Enumerating objects: 14533, done.        
remote: Total 14533 (delta 0), reused 0 (delta 0), pack-reused 14533        
Receiving objects: 100% (14533/14533), 5.70 MiB | 11.40 MiB/s, done.
Resolving deltas: 100% (9977/9977), done.
Submodule path 'doxygen/doxygen-awesome': checked out 'a3c119b4797be2039761ec1fa0731f038e3026f6'
Submodule path 'lib/RadioLib': checked out 'aa8330cf571a40241cde30e9f4cb710244d27495'
[root@otter]~# sudo dnf install protobuf-compiler
Fedora 37 - x86_64 - Updates                                                                                   47 kB/s |  21 kB     00:00    
Fedora Modular 37 - x86_64 - Updates                                                                           68 kB/s |  24 kB     00:00    
Package protobuf-compiler-3.19.6-1.fc37.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@otter]~# cd RFQuack 
[root@otter]~/RFQuack# pip install -U platformio
Collecting platformio
  Downloading platformio-6.1.6.tar.gz (236 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 236.4/236.4 kB 3.8 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting bottle==0.12.*
  Downloading bottle-0.12.25-py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.2/90.2 kB 18.5 MB/s eta 0:00:00
Requirement already satisfied: click<9,>=8.0.4 in /usr/lib/python3.11/site-packages (from platformio) (8.1.3)
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Collecting marshmallow==3.*
  Downloading marshmallow-3.19.0-py3-none-any.whl (49 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.1/49.1 kB 10.6 MB/s eta 0:00:00
Collecting pyelftools<1,>=0.27
  Downloading pyelftools-0.29-py2.py3-none-any.whl (174 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 174.3/174.3 kB 21.4 MB/s eta 0:00:00
Collecting pyserial==3.5.*
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 15.8 MB/s eta 0:00:00
Requirement already satisfied: requests==2.* in /usr/lib/python3.11/site-packages (from platformio) (2.28.1)
Collecting semantic_version==2.10.*
  Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
Collecting tabulate==0.9.*
  Downloading tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting aiofiles==22.1.*
  Downloading aiofiles-22.1.0-py3-none-any.whl (14 kB)
Collecting ajsonrpc==1.*
  Downloading ajsonrpc-1.2.0-py3-none-any.whl (22 kB)
Collecting starlette==0.23.*
  Downloading starlette-0.23.1-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 kB 15.6 MB/s eta 0:00:00
Collecting uvicorn==0.20.*
  Downloading uvicorn-0.20.0-py3-none-any.whl (56 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.9/56.9 kB 10.3 MB/s eta 0:00:00
Collecting wsproto==1.2.*
  Downloading wsproto-1.2.0-py3-none-any.whl (24 kB)
Requirement already satisfied: packaging>=17.0 in /usr/lib/python3.11/site-packages (from marshmallow==3.*->platformio) (21.3)
Requirement already satisfied: charset-normalizer<3,>=2 in /usr/lib/python3.11/site-packages (from requests==2.*->platformio) (2.1.0)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.11/site-packages (from requests==2.*->platformio) (3.3)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3.11/site-packages (from requests==2.*->platformio) (1.26.12)
Collecting anyio<5,>=3.4.0
  Downloading anyio-3.6.2-py3-none-any.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.6/80.6 kB 19.6 MB/s eta 0:00:00
Collecting h11>=0.8
  Downloading h11-0.14.0-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 15.0 MB/s eta 0:00:00
Collecting sniffio>=1.1
  Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/lib/python3.11/site-packages (from packaging>=17.0->marshmallow==3.*->platformio) (3.0.9)
Using legacy 'setup.py install' for platformio, since package 'wheel' is not installed.
Installing collected packages: pyserial, pyelftools, bottle, tabulate, sniffio, semantic_version, h11, colorama, ajsonrpc, aiofiles, wsproto, uvicorn, marshmallow, anyio, starlette, platformio
  Running setup.py install for platformio ... done
Successfully installed aiofiles-22.1.0 ajsonrpc-1.2.0 anyio-3.6.2 bottle-0.12.25 colorama-0.4.6 h11-0.14.0 marshmallow-3.19.0 platformio-6.1.6 pyelftools-0.29 pyserial-3.5 semantic_version-2.10.0 sniffio-1.3.0 starlette-0.23.1 tabulate-0.9.0 uvicorn-0.20.0 wsproto-1.2.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[root@otter]~/RFQuack# curl https://pyenv.run | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   270  100   270    0     0    785      0 --:--:-- --:--:-- --:--:--   784
Cloning into '/root/.pyenv'...
remote: Enumerating objects: 1115, done.
remote: Counting objects: 100% (1115/1115), done.
remote: Compressing objects: 100% (674/674), done.
remote: Total 1115 (delta 632), reused 599 (delta 311), pack-reused 0
Receiving objects: 100% (1115/1115), 562.41 KiB | 3.58 MiB/s, done.
Resolving deltas: 100% (632/632), done.
Cloning into '/root/.pyenv/plugins/pyenv-doctor'...
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 11 (delta 1), reused 5 (delta 0), pack-reused 0
Receiving objects: 100% (11/11), 38.72 KiB | 777.00 KiB/s, done.
Resolving deltas: 100% (1/1), done.
Cloning into '/root/.pyenv/plugins/pyenv-update'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 10 (delta 1), reused 5 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), done.
Resolving deltas: 100% (1/1), done.
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 63, done.
remote: Counting objects: 100% (63/63), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 63 (delta 11), reused 26 (delta 0), pack-reused 0
Receiving objects: 100% (63/63), 39.94 KiB | 834.00 KiB/s, done.
Resolving deltas: 100% (11/11), done.

WARNING: seems you still have not added 'pyenv' to the load path.

# Load pyenv automatically by appending
# the following to 
~/.bash_profile if it exists, otherwise ~/.profile (for login shells)
and ~/.bashrc (for interactive shells) :

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# Restart your shell for the changes to take effect.

# Load pyenv-virtualenv automatically by adding
# the following to ~/.bashrc:

eval "$(pyenv virtualenv-init -)"

[root@otter]~/RFQuack# pip install -r requirements.pip 
Ignoring pyreadline3: markers 'sys_platform == "win32" and python_version >= "3.10" and python_version < "4.0"' don't match your environment
Requirement already satisfied: aiofiles==22.1.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 1)) (22.1.0)
Requirement already satisfied: ajsonrpc==1.2.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 4)) (1.2.0)
Requirement already satisfied: anyio==3.6.2 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 7)) (3.6.2)
Collecting appnope==0.1.3
  Downloading appnope-0.1.3-py2.py3-none-any.whl (4.4 kB)
Collecting asttokens==2.1.0
  Downloading asttokens-2.1.0-py2.py3-none-any.whl (26 kB)
Requirement already satisfied: async-timeout==4.0.2 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 16)) (4.0.2)
Collecting backcall==0.2.0
  Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting beautifulsoup4==4.11.1
  Downloading beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.2/128.2 kB 4.4 MB/s eta 0:00:00
Collecting bottle==0.12.23
  Downloading bottle-0.12.23-py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.1/90.1 kB 12.5 MB/s eta 0:00:00
Collecting certifi==2022.9.24
  Downloading certifi-2022.9.24-py3-none-any.whl (161 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 161.1/161.1 kB 16.4 MB/s eta 0:00:00
Collecting chardet==5.0.0
  Downloading chardet-5.0.0-py3-none-any.whl (193 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 193.6/193.6 kB 23.7 MB/s eta 0:00:00
Collecting charset-normalizer==2.1.1
  Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Requirement already satisfied: click==8.1.3 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 37)) (8.1.3)
Requirement already satisfied: colorama==0.4.6 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 40)) (0.4.6)
Collecting coloredlogs==15.0.1
  Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.0/46.0 kB 18.3 MB/s eta 0:00:00
Collecting decorator==5.1.1
  Downloading decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting executing==1.2.0
  Downloading executing-1.2.0-py2.py3-none-any.whl (24 kB)
Collecting ghp-import==2.1.0
  Downloading ghp_import-2.1.0-py3-none-any.whl (11 kB)
Collecting google==3.0.0
  Downloading google-3.0.0-py2.py3-none-any.whl (45 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.3/45.3 kB 7.1 MB/s eta 0:00:00
Requirement already satisfied: h11==0.14.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 58)) (0.14.0)
Collecting humanfriendly==10.0
  Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.8/86.8 kB 11.3 MB/s eta 0:00:00
Collecting idna==3.4
  Downloading idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 12.6 MB/s eta 0:00:00
Collecting ifaddr==0.2.0
  Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting ipython==8.6.0
  Downloading ipython-8.6.0-py3-none-any.whl (761 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 761.1/761.1 kB 15.9 MB/s eta 0:00:00
Collecting j2cli==0.3.10
  Downloading j2cli-0.3.10-py2.py3-none-any.whl (8.9 kB)
Collecting jedi==0.18.1
  Downloading jedi-0.18.1-py2.py3-none-any.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 35.8 MB/s eta 0:00:00
Collecting jinja2==3.1.2
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 13.0 MB/s eta 0:00:00
Collecting markdown==3.3.7
  Downloading Markdown-3.3.7-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.8/97.8 kB 11.0 MB/s eta 0:00:00
Requirement already satisfied: markupsafe==2.1.1 in /usr/lib64/python3.11/site-packages (from -r requirements.pip (line 85)) (2.1.1)
Requirement already satisfied: marshmallow==3.19.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 126)) (3.19.0)
Collecting matplotlib-inline==0.1.6
  Downloading matplotlib_inline-0.1.6-py3-none-any.whl (9.4 kB)
Collecting mergedeep==1.3.4
  Downloading mergedeep-1.3.4-py3-none-any.whl (6.4 kB)
Collecting mkdocs-material-extensions==1.1
  Downloading mkdocs_material_extensions-1.1-py3-none-any.whl (7.9 kB)
Collecting mkdocs-material==8.5.10
  Downloading mkdocs_material-8.5.10-py3-none-any.whl (7.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 63.4 MB/s eta 0:00:00
Collecting mkdocs==1.4.2
  Downloading mkdocs-1.4.2-py3-none-any.whl (3.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 61.5 MB/s eta 0:00:00
Requirement already satisfied: packaging==21.3 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 144)) (21.3)
Collecting paho-mqtt==1.6.1
  Downloading paho-mqtt-1.6.1.tar.gz (99 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 99.4/99.4 kB 12.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting parso==0.8.3
  Downloading parso-0.8.3-py2.py3-none-any.whl (100 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.8/100.8 kB 10.7 MB/s eta 0:00:00
Requirement already satisfied: pexpect==4.8.0 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 152)) (4.8.0)
Collecting pickleshare==0.7.5
  Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting platformio==6.1.5
  Downloading platformio-6.1.5.tar.gz (246 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 246.0/246.0 kB 15.8 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting prompt-toolkit==3.0.32
  Downloading prompt_toolkit-3.0.32-py3-none-any.whl (382 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 382.8/382.8 kB 23.2 MB/s eta 0:00:00
Collecting protobuf==4.21.9
  Downloading protobuf-4.21.9-cp37-abi3-manylinux2014_x86_64.whl (408 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 408.4/408.4 kB 22.3 MB/s eta 0:00:00
Collecting ptyprocess==0.7.0
  Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
Collecting pure-eval==0.2.2
  Downloading pure_eval-0.2.2-py3-none-any.whl (11 kB)
Requirement already satisfied: pyelftools==0.29 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 184)) (0.29)
Collecting pygments==2.13.0
  Downloading Pygments-2.13.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 42.9 MB/s eta 0:00:00
Collecting pymdown-extensions==9.8
  Downloading pymdown_extensions-9.8-py3-none-any.whl (218 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 218.9/218.9 kB 14.0 MB/s eta 0:00:00
Requirement already satisfied: pyparsing==3.0.9 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 193)) (3.0.9)
Requirement already satisfied: pyserial==3.5 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 199)) (3.5)
Requirement already satisfied: python-dateutil==2.8.2 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 202)) (2.8.2)
Collecting pyyaml-env-tag==0.1
  Downloading pyyaml_env_tag-0.1-py3-none-any.whl (3.9 kB)
Requirement already satisfied: pyyaml==6.0 in /usr/lib64/python3.11/site-packages (from -r requirements.pip (line 208)) (6.0)
Requirement already satisfied: requests==2.28.1 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 249)) (2.28.1)
Requirement already satisfied: semantic-version==2.10.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 252)) (2.10.0)
Requirement already satisfied: six==1.16.0 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 255)) (1.16.0)
Requirement already satisfied: sniffio==1.3.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 258)) (1.3.0)
Requirement already satisfied: soupsieve==2.3.2.post1 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 261)) (2.3.2.post1)
Collecting stack-data==0.6.1
  Downloading stack_data-0.6.1-py3-none-any.whl (24 kB)
Collecting starlette==0.21.0
  Downloading starlette-0.21.0-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.0/64.0 kB 7.6 MB/s eta 0:00:00
Requirement already satisfied: tabulate==0.9.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 270)) (0.9.0)
Collecting traitlets==5.5.0
  Downloading traitlets-5.5.0-py3-none-any.whl (107 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 107.4/107.4 kB 7.5 MB/s eta 0:00:00
Requirement already satisfied: urllib3==1.26.12 in /usr/lib/python3.11/site-packages (from -r requirements.pip (line 276)) (1.26.12)
Collecting uvicorn==0.19.0
  Downloading uvicorn-0.19.0-py3-none-any.whl (56 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.6/56.6 kB 17.2 MB/s eta 0:00:00
Collecting watchdog==2.1.9
  Downloading watchdog-2.1.9-py3-none-manylinux2014_x86_64.whl (78 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 7.7 MB/s eta 0:00:00
Collecting wcwidth==0.2.5
  Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Requirement already satisfied: wsproto==1.2.0 in /usr/local/lib/python3.11/site-packages (from -r requirements.pip (line 311)) (1.2.0)
Collecting zeroconf==0.39.4
  Downloading zeroconf-0.39.4-py3-none-any.whl (106 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.4/106.4 kB 7.8 MB/s eta 0:00:00
Using legacy 'setup.py install' for paho-mqtt, since package 'wheel' is not installed.
Using legacy 'setup.py install' for platformio, since package 'wheel' is not installed.
Installing collected packages: wcwidth, pure-eval, ptyprocess, pickleshare, paho-mqtt, ifaddr, executing, bottle, backcall, appnope, zeroconf, watchdog, uvicorn, traitlets, pyyaml-env-tag, pygments, protobuf, prompt-toolkit, parso, mkdocs-material-extensions, mergedeep, markdown, jinja2, idna, humanfriendly, decorator, charset-normalizer, chardet, certifi, beautifulsoup4, asttokens, stack-data, pymdown-extensions, matplotlib-inline, jedi, j2cli, google, ghp-import, coloredlogs, starlette, mkdocs, ipython, platformio, mkdocs-material
  Running setup.py install for paho-mqtt ... done
  Attempting uninstall: bottle
    Found existing installation: bottle 0.12.25
    Uninstalling bottle-0.12.25:
      Successfully uninstalled bottle-0.12.25
  Attempting uninstall: uvicorn
    Found existing installation: uvicorn 0.20.0
    Uninstalling uvicorn-0.20.0:
      Successfully uninstalled uvicorn-0.20.0
  Attempting uninstall: starlette
    Found existing installation: starlette 0.23.1
    Uninstalling starlette-0.23.1:
      Successfully uninstalled starlette-0.23.1
  Attempting uninstall: platformio
    Found existing installation: platformio 6.1.6
    Uninstalling platformio-6.1.6:
      Successfully uninstalled platformio-6.1.6
  Running setup.py install for platformio ... done
Successfully installed appnope-0.1.3 asttokens-2.1.0 backcall-0.2.0 beautifulsoup4-4.11.1 bottle-0.12.23 certifi-2022.9.24 chardet-5.0.0 charset-normalizer-2.1.1 coloredlogs-15.0.1 decorator-5.1.1 executing-1.2.0 ghp-import-2.1.0 google-3.0.0 humanfriendly-10.0 idna-3.4 ifaddr-0.2.0 ipython-8.6.0 j2cli-0.3.10 jedi-0.18.1 jinja2-3.1.2 markdown-3.3.7 matplotlib-inline-0.1.6 mergedeep-1.3.4 mkdocs-1.4.2 mkdocs-material-8.5.10 mkdocs-material-extensions-1.1 paho-mqtt-1.6.1 parso-0.8.3 pickleshare-0.7.5 platformio-6.1.5 prompt-toolkit-3.0.32 protobuf-4.21.9 ptyprocess-0.7.0 pure-eval-0.2.2 pygments-2.13.0 pymdown-extensions-9.8 pyyaml-env-tag-0.1 stack-data-0.6.1 starlette-0.21.0 traitlets-5.5.0 uvicorn-0.19.0 watchdog-2.1.9 wcwidth-0.2.5 zeroconf-0.39.4
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
-- CONNECTED THE BOARD --
[root@otter]~/RFQuack# vi platformio.ini
[root@otter]~/RFQuack# vi build.env     
[root@otter]~/RFQuack# cat build.env
# These settings are not guaranteed to work: they're only for CI/CD purposes

RADIOA=CC1101
RADIOA_CS=5
RADIOA_IRQ=4

LOG_ENABLED=true

[root@otter]~/RFQuack# cat platformio.ini
; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[platformio]
default_envs = seeed_xiao_esp32c3

[env]
lib_deps = 
    nanopb/Nanopb@0.4.6
    vshymanskyy/TinyGSM@~0.6.0
    256dpi/MQTT@2.4.7
    SMFSW/Queue@1.6
    thijse/ArduinoLog@~1.0.3
    Densaugeo/base64@1.4.0
build_unflags = -fno-rtti
framework = arduino
custom_nanopb_protos = 
	+<src/rfquack.proto>
custom_nanopb_options = 
	--error-on-unmatched
extra_scripts = 
	pre:scripts/pio/main_cpp_j2.py
monitor_speed = 115200

[env:featheresp32]
platform = platformio/espressif32@^5.2.0
board = featheresp32

[env:esp32devkit]
platform = platformio/espressif32@^5.2.0
board = esp32doit-devkit-v1

[env:seeed_xiao_esp32c3]
platform = platformio/espressif32@^5.2.0
board = seeed_xiao_esp32c3

[env:teensy32]
platform = teensy
board = teensy31  # 3.1 / 3.2

[env:teensy31]
platform = teensy
board = teensy31  # 3.1 / 3.2
[root@otter]~/RFQuack# make clean build 
rm -f src/rfquack.pb.{h,c} src/main.cpp
rm -rf .pio
pio run
Processing seeed_xiao_esp32c3 (platform: platformio/espressif32@^5.2.0; board: seeed_xiao_esp32c3; framework: arduino)
----------------------------------------------------------------------------------------------------------------------------------------------
Platform Manager: Installing platformio/espressif32 @ ^5.2.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Platform Manager: espressif32@5.3.0 has been installed!
Tool Manager: Installing espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: toolchain-riscv32-esp@8.4.0+2021r2-patch5 has been installed!
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20006.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: framework-arduinoespressif32@3.20006.221224 has been installed!
Tool Manager: Installing platformio/tool-esptoolpy @ ~1.40400.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: tool-esptoolpy@1.40400.0 has been installed!
Library Manager: Installing nanopb/Nanopb @ 0.4.6
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: Nanopb@0.4.6+4 has been installed!
Library Manager: Installing vshymanskyy/TinyGSM @ ~0.6.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: TinyGSM@0.6.2 has been installed!
Library Manager: Installing 256dpi/MQTT @ 2.4.7
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: MQTT@2.4.7 has been installed!
Library Manager: Installing SMFSW/Queue @ 1.6
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: Queue@1.6.0 has been installed!
Library Manager: Installing thijse/ArduinoLog @ ~1.0.3
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: ArduinoLog@1.0.4 has been installed!
Library Manager: Installing Densaugeo/base64 @ 1.4.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: base64@1.4.0 has been installed!
Tool Manager: Installing platformio/tool-scons @ ~4.40400.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%
Tool Manager: tool-scons@4.40400.0 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
j2 -f env /root/RFQuack/docker/project/src/main.cpp.j2 /root/RFQuack/build.env > /root/RFQuack/src/main.cpp
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/seeed_xiao_esp32c3.html
PLATFORM: Espressif 32 (5.3.0) > Seeed Studio XIAO ESP32C3
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, esp-builtin, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20006.221224 (2.0.6) 
 - tool-esptoolpy @ 1.40400.0 (4.4.0) 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Installing Protocol Buffers dependencies
Requirement already satisfied: protobuf>=3.19.1 in /usr/local/lib64/python3.11/site-packages (4.21.9)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Installing GRPC dependencies
Collecting grpcio-tools>=1.43.0
  Downloading grpcio_tools-1.54.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.4/2.4 MB 16.2 MB/s eta 0:00:00
Requirement already satisfied: protobuf<5.0dev,>=4.21.6 in /usr/local/lib64/python3.11/site-packages (from grpcio-tools>=1.43.0) (4.21.9)
Collecting grpcio>=1.54.0
  Downloading grpcio-1.54.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.1/5.1 MB 61.7 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /usr/lib/python3.11/site-packages (from grpcio-tools>=1.43.0) (62.6.0)
Installing collected packages: grpcio, grpcio-tools
Successfully installed grpcio-1.54.0 grpcio-tools-1.54.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[nanopb] Processing 'src/rfquack.proto' (rfquack.options)
/root/RFQuack/.pio/libdeps/seeed_xiao_esp32c3/Nanopb/generator/../generator/protoc --nanopb_out=/root/RFQuack/.pio/build/seeed_xiao_esp32c3/nanopb/generated-src --nanopb_opt=--error-on-unmatched --proto_path=/root/RFQuack/src --nanopb_opt=-I/root/RFQuack/src rfquack.proto
Found 40 compatible libraries
Scanning dependencies...
Dependency Graph
|-- Nanopb @ 0.4.6+4
|-- TinyGSM @ 0.6.2
|-- MQTT @ 2.4.7
|-- Queue @ 1.6.0
|-- ArduinoLog @ 1.0.4
|-- base64 @ 1.4.0
|-- WiFi @ 2.0.0
|-- WiFiClientSecure @ 2.0.0
|   |-- WiFi @ 2.0.0
|-- RadioLib @ 5.5.0
|   |-- SPI @ 2.0.0
Building in release mode
Compiling .pio/build/seeed_xiao_esp32c3/nanopb/generated-build/rfquack.pb.c.o
Compiling .pio/build/seeed_xiao_esp32c3/src/main.cpp.o
Compiling .pio/build/seeed_xiao_esp32c3/src/utils/regex/re.c.o
Building .pio/build/seeed_xiao_esp32c3/bootloader.bin
Generating partitions .pio/build/seeed_xiao_esp32c3/partitions.bin
Compiling .pio/build/seeed_xiao_esp32c3/libe42/Nanopb/pb_common.c.o
Compiling .pio/build/seeed_xiao_esp32c3/libe42/Nanopb/pb_decode.c.o
Compiling .pio/build/seeed_xiao_esp32c3/libe42/Nanopb/pb_encode.c.o
esptool.py v4.4
Creating esp32c3 image...
Merged 1 ELF section
Successfully created esp32c3 image.
In file included from src/radio/RadioLibWrapper.h:18,
                 from src/radio/RFQCC1101.h:4,
                 from src/radio/drivers.h:4,
                 from src/main.cpp:53:
lib/RadioLib/src/RadioLib.h:45:4: warning: #warning "God mode active, I hope it was intentional. Buckle up, lads." [-Wcpp]
   #warning "God mode active, I hope it was intentional. Buckle up, lads."
    ^~~~~~~
Compiling .pio/build/seeed_xiao_esp32c3/lib0f5/MQTT/MQTTClient.cpp.o
Compiling .pio/build/seeed_xiao_esp32c3/lib0f5/MQTT/lwmqtt/client.c.o
Compiling .pio/build/seeed_xiao_esp32c3/lib0f5/MQTT/lwmqtt/helpers.c.o
Compiling .pio/build/seeed_xiao_esp32c3/lib0f5/MQTT/lwmqtt/packet.c.o
Archiving .pio/build/seeed_xiao_esp32c3/libe42/libNanopb.a
Indexing .pio/build/seeed_xiao_esp32c3/libe42/libNanopb.a
Compiling .pio/build/seeed_xiao_esp32c3/lib0f5/MQTT/lwmqtt/string.c.o
Compiling .pio/build/seeed_xiao_esp32c3/lib9f4/Queue/cppQueue.cpp.o
In file included from src/radio/RadioLibWrapper.h:18,
                 from src/radio/RFQCC1101.h:4,
                 from src/radio/drivers.h:4,
                 from src/main.cpp:53:
lib/RadioLib/src/RadioLib.h:53:61: note: #pragma message: RADIOLIB_PLATFORM="ESP32"
   #pragma message(RADIOLIB_VAR_NAME_VALUE(RADIOLIB_PLATFORM))
                                                             ^
lib/RadioLib/src/RadioLib.h:54:66: note: #pragma message: RADIOLIB_VERSION_MAJOR=(0x05)
   #pragma message(RADIOLIB_VAR_NAME_VALUE(RADIOLIB_VERSION_MAJOR))
                                                                  ^
lib/RadioLib/src/RadioLib.h:55:66: note: #pragma message: RADIOLIB_VERSION_MINOR=(0x05)
   #pragma message(RADIOLIB_VAR_NAME_VALUE(RADIOLIB_VERSION_MINOR))
                                                                  ^
lib/RadioLib/src/RadioLib.h:56:66: note: #pragma message: RADIOLIB_VERSION_PATCH=(0x00)
   #pragma message(RADIOLIB_VAR_NAME_VALUE(RADIOLIB_VERSION_PATCH))
                                                                  ^
lib/RadioLib/src/RadioLib.h:57:66: note: #pragma message: RADIOLIB_VERSION_EXTRA=(0x00)
   #pragma message(RADIOLIB_VAR_NAME_VALUE(RADIOLIB_VERSION_EXTRA))
                                                                  ^
In file included from src/radio/../modules/../rfquack_common.h:40,
                 from src/radio/../modules/ModulesDispatcher.h:5,
                 from src/radio/RadioLibWrapper.h:21,
                 from src/radio/RFQCC1101.h:4,
                 from src/radio/drivers.h:4,
                 from src/main.cpp:53:
src/radio/../modules/../rfquack_logging.h: In function 'void rfquack_logging_setup()':
src/radio/../modules/../rfquack_logging.h:53:61: error: no matching function for call to 'HWCDC::begin(int, int)'
   LogPrinter.begin(RFQUACK_LOG_PRINTER_BAUD_RATE, SERIAL_8N1); //, 32,33);
                                                             ^
In file included from /root/.platformio/packages/framework-arduinoespressif32/cores/esp32/HardwareSerial.h:53,
                 from /root/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:174,
                 from lib/RadioLib/src/BuildOpt.h:6,
                 from lib/RadioLib/src/TypeDef.h:4,
                 from lib/RadioLib/src/RadioLib.h:38,
                 from src/radio/RadioLibWrapper.h:18,
                 from src/radio/RFQCC1101.h:4,
                 from src/radio/drivers.h:4,
                 from src/main.cpp:53:
/root/.platformio/packages/framework-arduinoespressif32/cores/esp32/HWCDC.h:55:10: note: candidate: 'void HWCDC::begin(long unsigned int)'
     void begin(unsigned long baud=0);
          ^~~~~
/root/.platformio/packages/framework-arduinoespressif32/cores/esp32/HWCDC.h:55:10: note:   candidate expects 1 argument, 2 provided
Compiling .pio/build/seeed_xiao_esp32c3/libb08/ArduinoLog/ArduinoLog.cpp.o
Archiving .pio/build/seeed_xiao_esp32c3/lib9f4/libQueue.a
Indexing .pio/build/seeed_xiao_esp32c3/lib9f4/libQueue.a
In file included from src/radio/RFQCC1101.h:4,
                 from src/radio/drivers.h:4,
                 from src/main.cpp:53:
src/radio/RadioLibWrapper.h: In member function 'int16_t RadioLibWrapper<T>::receiveMode() [with T = CC1101]':
src/radio/RadioLibWrapper.h:137:3: warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
Compiling .pio/build/seeed_xiao_esp32c3/lib789/WiFi/WiFi.cpp.o
Compiling .pio/build/seeed_xiao_esp32c3/lib789/WiFi/WiFiAP.cpp.o
*** [.pio/build/seeed_xiao_esp32c3/src/main.cpp.o] Error 1
======================================================== [FAILED] Took 76.08 seconds ========================================================

Environment         Status    Duration
------------------  --------  ------------
seeed_xiao_esp32c3  FAILED    00:01:16.083
=================================================== 1 failed, 0 succeeded in 00:01:16.083 ===================================================
make: *** [Makefile:82: build] Error 1

@phretor
Copy link
Contributor

phretor commented Apr 28, 2023

This is the offending line:

src/radio/../modules/../rfquack_logging.h:53:61: error: no matching function for call to 'HWCDC::begin(int, int)'

I'm assuming your boards is slightly different than a regular ESP32, so you may need to adjust the board definition, otherwise PlatformIO may load the wrong hardware abstraction layers.

@whatotter
Copy link
Author

tried seeed_xiao_esp32c3 in the platformio.ini file, as that matches my board - gives error: no matching function for call to 'HWCDC::begin(int, int)'
tried adafruit_qtpy_esp32c3 too just to test it, still gives me the same error: no matching function for call to 'HWCDC::begin(int, int)'

considering just buying an esp32 dev kit, but if you think i can do it with a esp32c3, please let me know

@phretor
Copy link
Contributor

phretor commented Apr 29, 2023

You have to ensure that you can compile a "hello world" PlatformIO project for the esp32c3.

@whatotter
Copy link
Author

trying to do it on a windows machine, i was able to successfully flash a hello world project onto the esp32c3:
image

again, trying the rfquack build on same windows machine, it fails with the same HWCDC error - same on a linux machine

@phretor
Copy link
Contributor

phretor commented Apr 29, 2023

I'm afraid there's some incompatibility with the HWCDC library and the esp32c3

Can you try to include it into your hello world project and see if the same error is triggered?

@whatotter
Copy link
Author

weird, works:
image

@phretor
Copy link
Contributor

phretor commented Apr 30, 2023

Include would not suffice. To reproduce, you need to use the library in the same way it's used in (I think was) RadioLib, IIRC.

@whatotter
Copy link
Author

sorry for the late reply, doing my finals this week

i haven't found any decent documentation on HWCDC (what its used for, how to use it), can you point me in the right direction or can you give me an example?

@phretor
Copy link
Contributor

phretor commented May 3, 2023

I never used it either, but you can copy from the code that triggers the error and include the minimum until you can reproduce the error in your standalone project.

@whatotter
Copy link
Author

okay, after fiddling with it for a bit now i just ripped out the code that gave me the issue and it worked:

in /src/rfquack_logging.h, i removed the if segment from rfquack_logging_setup() and it works now, and it flashed perfectly fine
i also disabled logging in the build.env

everytime i use the rfquack cli interface though, i get 'RFQuack' object has no attribute 'radioA' after entering q.radioA.help()

@whatotter
Copy link
Author

actually, i may have found out why - how would i go upon changing the spi pins? the spi pins on the esp32c3 xiao are conflicting with gpio pin 9, which will make the esp go into download mode if its plugged in to the cc1101, which made me have to change it

it worked with another rf hacking tool just by changing the spi pins, but i cant seem to figure that out in here

@phretor
Copy link
Contributor

phretor commented Aug 4, 2023

You can reassign pins as you would do in any PlatformIO project. Including SPI pins. If not advise to disable logging, tho.

@whatotter
Copy link
Author

whatotter commented Aug 4, 2023

You can reassign pins as you would do in any PlatformIO project. Including SPI pins.

i haven't found it, and pio doesn't let you change spi pins - i meant as in one of the project files, like rfquack.h

If not advise to disable logging, tho.

hopefully i can fix that, but i currently wanna get the base working and then fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants