getSyncWord - invalid conversion
gigawatts opened this issue · 3 comments
Describe the bug
Trying to compile RF Quack for EvilCrowRF v1
Getting the below error
src/radio/RFQCC1101.h: In member function 'virtual int16_t RFQCC1101::getSyncWord(uint8_t*, pb_size_t*)':
src/radio/RFQCC1101.h:103:16: error: invalid conversion from 'int' to 'pb_size_t*' {aka 'short unsigned int*'} [-fpermissive]
size = 2;
^
Which is similar to #2 but that was for setSyncWord
function, this is for getSyncWord
function, and the workaround listed in that issue did not work for this problem.
To Reproduce
Using a combo of instructions from the following locations:
- https://github.com/joelsernamoreno/EvilCrow-RF#advanced-firmware-with-rfquack (Tried the docker build method there, although the make options differ from the one listed in that readme)
- http://rfquack.org/usage/dependencies/
- http://rfquack.org/usage/dependencies/ (I tried both the poetry and non-poetry install methods)
Expected behavior
Expect firmware to build and flash
Additional info (please complete)
- MCU: ESP32 (EvilCrowRF v1)
- Wireless module type: CC1101
- Host environment: Fedora 36 64bit
- RFQuack version, branch, or tag: master
aa7f537d587d18e6795406e26f02947b6da6c089
- RadioLib version, branch, or tag: master
b9a7116113663b69c6d6f7e69b925d3cdfd860cf
- Python version: 3.10.8
Also note that the instructions at the following link don't work, as the freshly built docker image does not have pio
installed
http://rfquack.org/usage/build/#build-via-docker
Successfully built 29f9cca96499
Successfully tagged rfquack/rfquack:latest
$ make build-in-docker
docker run \
--rm -it \
--volume /home/me/Downloads/RFQuack:/tmp/RFQuack rfquack/rfquack \
make build
pio run
/bin/bash: line 1: pio: command not found
make: *** [Makefile:82: build] Error 127
make: *** [Makefile:69: build-in-docker] Error 2
Edit: Oh, I think it might because you have a hard requirement of python 3.10, but that container image has python 3.9.15 installed
From image build:
$ make docker-build-image
docker build \
--progress plain \
-t rfquack/rfquack .
Sending build context to Docker daemon 83.3MB
Step 1/10 : FROM python:3.9-slim
---> a612918ff2a3
Step 2/10 : LABEL maintainer "RFQuack"
...
Ignoring pickleshare: markers 'python_version >= "3.10" and python_version < "4.0"' don't match your environment
Ignoring platformio: markers 'python_version >= "3.10" and python_version < "4.0"' don't match your environment
Ignoring prompt-toolkit: markers 'python_version >= "3.10" and python_version < "4.0"' don't match your environment
...
Successfully built 3661da653493
Successfully tagged rfquack/rfquack:latest
$ docker run -it --rm rfquack/rfquack /bin/bash
root@d5b314ddcf39:/tmp/RFQuack# python --version
Python 3.9.15
Yeah, confirmed I can get past at least this error by changing the Dockerfile (submitted PR #31) to use FROM python:3.10-slim
, resulting in a good image with pio and everything else installed. But using make build-in-docker
still fails with the original invalid conversion
error reported.
Thanks @gigawatts - please have a look at the most recent commit.
Working! Thank you!