rfquack/RFQuack

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:

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!