MySensors v2.4.0-alpha over PJON transport with a Raspberry PI gateway
-
I want to have a bunch of Arduino sensors communicating with a Raspberry PI gateway over a PJON transport. But I'm not sure if this is supported (in v2.4.0-alpha). How would one compile a gateway for a Raspberry Pi with the PJON transport? There is no
./configure --my-transport=pjon...
So if it's not implemented and there is no easy way, I guess I can have the gateway on Arduino and go from there? I want HomeAssistant as a controller, so I would connect the Arduino gateway with the Raspberry Pi (which will run the HomeAssistant) over serial. Or maybe even get an ethernet shield for the Arduino.
Will it work?
Thanks in advance for the help!
-
Yes, the configure script would have to be modified to support PJON. But I'm not sure that's enough. I ran
./configure
and then edited Makefile.inc, where I replaced-DMY_RADIO_RF24
with-DMY_PJON
.This was the result:
g++ -MT build/examples_linux/mysgw.o -MMD -MP -march=armv8-a+crc -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard -DMY_PJON -DMY_GATEWAY_LINUX -DMY_DEBUG -DLINUX_SPI_BCM -DLINUX_ARCH_RASPBERRYPI -Ofast -g -Wall -Wextra -std=c++11 -I. -I./core -I./hal/architecture/Linux/drivers/core -I./hal/architecture/Linux/drivers/BCM -c examples_linux/mysgw.cpp -o build/examples_linux/mysgw.o In file included from ./hal/transport/PJON/driver/PJON.h:62, from ./MySensors.h:390, from examples_linux/mysgw.cpp:82: ./hal/transport/PJON/driver/PJONDefines.h: In static member function ‘static void PJONTools::parse_header(const uint8_t*, PJON_Packet_Info&)’: ./hal/transport/PJON/driver/PJONDefines.h:415:31: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct PJON_Packet_Info’; use assignment or value-initialization instead [-Wclass-memaccess] memset(&info, 0, sizeof info); ^ ./hal/transport/PJON/driver/PJONDefines.h:207:8: note: ‘struct PJON_Packet_Info’ declared here struct PJON_Packet_Info { ^~~~~~~~~~~~~~~~ In file included from ./MySensors.h:390, from examples_linux/mysgw.cpp:82: ./hal/transport/PJON/driver/PJON.h: At global scope: ./hal/transport/PJON/driver/PJON.h:1043:31: error: ‘A0’ was not declared in this scope uint8_t _random_seed = A0; ^~ ./hal/transport/PJON/driver/PJON.h:1043:31: note: suggested alternative: ‘y0’ uint8_t _random_seed = A0; ^~ y0 ./hal/transport/PJON/driver/PJON.h: In member function ‘void PJON<Strategy>::begin()’: ./hal/transport/PJON/driver/PJON.h:149:20: error: there are no arguments to ‘PJON_ANALOG_READ’ that depend on a template parameter, so a declaration of ‘PJON_ANALOG_READ’ must be available [-fpermissive] PJON_RANDOM_SEED(PJON_ANALOG_READ(_random_seed) + tx.id); ^~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:149:20: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) ./hal/transport/PJON/driver/PJON.h: In member function ‘uint16_t PJON<Strategy>::dispatch(const PJON_Packet_Info&, const void*, uint16_t, uint32_t, uint16_t)’: ./hal/transport/PJON/driver/PJON.h:222:31: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] packets[i].registration = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h: In member function ‘uint16_t PJON<Strategy>::receive(uint32_t)’: ./hal/transport/PJON/driver/PJON.h:456:19: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:462:19: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] ((uint32_t)(PJON_MICROS() - time) <= duration) ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h: In member function ‘bool PJON<Strategy>::reset_packet(uint16_t)’: ./hal/transport/PJON/driver/PJON.h:506:31: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] packets[id].registration = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h: In member function ‘uint16_t PJON<Strategy>::send_packet_blocking(const PJON_Packet_Info&, const void*, uint16_t, uint32_t)’: ./hal/transport/PJON/driver/PJON.h:695:20: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] uint32_t start = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:701:18: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] (uint32_t)(PJON_MICROS() - start) <= timeout ^~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:721:5: error: there are no arguments to ‘PJON_DELAY’ that depend on a template parameter, so a declaration of ‘PJON_DELAY’ must be available [-fpermissive] PJON_DELAY((uint32_t)(strategy.back_off(attempts) / 1000)); ^~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h: In member function ‘uint16_t PJON<Strategy>::update()’: ./hal/transport/PJON/driver/PJON.h:932:19: error: there are no arguments to ‘PJON_MICROS’ that depend on a template parameter, so a declaration of ‘PJON_MICROS’ must be available [-fpermissive] (uint32_t)(PJON_MICROS() - packets[i].registration) > ^~~~~~~~~~~ In file included from ./hal/transport/PJON/driver/PJONSoftwareBitBang.h:5, from ./MySensors.h:391, from examples_linux/mysgw.cpp:82: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘bool SoftwareBitBang::begin(uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:66:14: error: ‘PJON_RANDOM’ was not declared in this scope PJON_DELAY(PJON_RANDOM(SWBB_INITIAL_DELAY) + did); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:66:14: note: suggested alternative: ‘PJON_NAK’ PJON_DELAY(PJON_RANDOM(SWBB_INITIAL_DELAY) + did); ^~~~~~~~~~~ PJON_NAK ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:66:3: error: ‘PJON_DELAY’ was not declared in this scope PJON_DELAY(PJON_RANDOM(SWBB_INITIAL_DELAY) + did); ^~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:66:3: note: suggested alternative: ‘PJON_DEBUG’ PJON_DELAY(PJON_RANDOM(SWBB_INITIAL_DELAY) + did); ^~~~~~~~~~ PJON_DEBUG ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘bool SoftwareBitBang::can_start()’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:76:3: error: ‘PJON_IO_MODE’ was not declared in this scope PJON_IO_MODE(_input_pin, INPUT); ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:76:3: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_MODE(_input_pin, INPUT); ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:78:3: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(SWBB_BIT_SPACER / 2); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:79:6: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:79:6: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:83:6: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:83:6: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:88:7: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:88:7: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:93:6: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:93:6: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:98:6: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:98:6: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:102:27: error: ‘PJON_RANDOM’ was not declared in this scope PJON_DELAY_MICROSECONDS(PJON_RANDOM(SWBB_COLLISION_DELAY)); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:102:27: note: suggested alternative: ‘PJON_NAK’ PJON_DELAY_MICROSECONDS(PJON_RANDOM(SWBB_COLLISION_DELAY)); ^~~~~~~~~~~ PJON_NAK ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:103:6: error: ‘PJON_IO_READ’ was not declared in this scope if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:103:6: note: suggested alternative: ‘PJON_NO_HEADER’ if(PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::handle_collision()’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:130:27: error: ‘PJON_RANDOM’ was not declared in this scope PJON_DELAY_MICROSECONDS(PJON_RANDOM(SWBB_COLLISION_DELAY)); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:130:27: note: suggested alternative: ‘PJON_NAK’ PJON_DELAY_MICROSECONDS(PJON_RANDOM(SWBB_COLLISION_DELAY)); ^~~~~~~~~~~ PJON_NAK ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:130:3: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(PJON_RANDOM(SWBB_COLLISION_DELAY)); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘uint8_t SoftwareBitBang::read_byte()’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:140:3: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(SWBB_BIT_WIDTH / 2); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:143:18: error: ‘PJON_IO_READ’ was not declared in this scope byte_value += PJON_IO_READ(_input_pin) << i; ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:143:18: note: suggested alternative: ‘PJON_NO_HEADER’ byte_value += PJON_IO_READ(_input_pin) << i; ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:148:17: error: ‘PJON_IO_READ’ was not declared in this scope byte_value += PJON_IO_READ(_input_pin) << 7; ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:148:17: note: suggested alternative: ‘PJON_NO_HEADER’ byte_value += PJON_IO_READ(_input_pin) << 7; ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘uint16_t SoftwareBitBang::receive_response()’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:175:4: error: ‘PJON_IO_WRITE’ was not declared in this scope PJON_IO_WRITE(_output_pin, LOW); ^~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:175:4: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_WRITE(_output_pin, LOW); ^~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:178:19: error: ‘PJON_MICROS’ was not declared in this scope uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:178:19: note: suggested alternative: ‘MOD_MICRO’ uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ MOD_MICRO ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:180:4: error: ‘PJON_IO_WRITE’ was not declared in this scope PJON_IO_WRITE(_input_pin, LOW); ^~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:180:4: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_WRITE(_input_pin, LOW); ^~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:185:5: error: ‘PJON_IO_MODE’ was not declared in this scope PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:185:5: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:187:5: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(SWBB_BIT_WIDTH / 4); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:188:5: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(_output_pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:188:5: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(_output_pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘uint16_t SoftwareBitBang::receive_frame(uint8_t*, uint16_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:203:20: error: ‘PJON_MICROS’ was not declared in this scope uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:203:20: note: suggested alternative: ‘MOD_MICRO’ uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ MOD_MICRO ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::send_byte(uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:248:4: error: ‘PJON_IO_WRITE’ was not declared in this scope PJON_IO_WRITE(_output_pin, b & mask); ^~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:248:4: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_WRITE(_output_pin, b & mask); ^~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:249:4: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(SWBB_BIT_WIDTH); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::send_response(uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:262:3: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(_input_pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:262:3: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(_input_pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:263:19: error: ‘PJON_MICROS’ was not declared in this scope uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:263:19: note: suggested alternative: ‘MOD_MICRO’ uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ MOD_MICRO ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:266:8: error: ‘PJON_IO_READ’ was not declared in this scope !PJON_IO_READ(_input_pin) ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:266:8: note: suggested alternative: ‘PJON_NO_HEADER’ !PJON_IO_READ(_input_pin) ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:271:7: error: ‘PJON_IO_READ’ was not declared in this scope PJON_IO_READ(_input_pin) ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:271:7: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_READ(_input_pin) ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:273:3: error: ‘PJON_IO_MODE’ was not declared in this scope PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:273:3: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::send_frame(uint8_t*, uint16_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:296:3: error: ‘PJON_IO_MODE’ was not declared in this scope PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:296:3: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_MODE(_output_pin, OUTPUT); ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:301:3: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(_output_pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:301:3: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(_output_pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘bool SoftwareBitBang::sync(uint32_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:324:3: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(_input_pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:324:3: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(_input_pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:328:19: error: ‘PJON_MICROS’ was not declared in this scope uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:328:19: note: suggested alternative: ‘MOD_MICRO’ uint32_t time = PJON_MICROS(); ^~~~~~~~~~~ MOD_MICRO ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:330:7: error: ‘PJON_IO_READ’ was not declared in this scope PJON_IO_READ(_input_pin) && ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:330:7: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_READ(_input_pin) && ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:337:4: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS((SWBB_BIT_WIDTH / 2) - SWBB_READ_DELAY); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:338:8: error: ‘PJON_IO_READ’ was not declared in this scope if(!PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:338:8: note: suggested alternative: ‘PJON_NO_HEADER’ if(!PJON_IO_READ(_input_pin)) { ^~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::pulse(uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:371:4: error: ‘PJON_IO_WRITE’ was not declared in this scope PJON_IO_WRITE(_output_pin, HIGH); ^~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:371:4: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_IO_WRITE(_output_pin, HIGH); ^~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:372:4: error: ‘PJON_DELAY_MICROSECONDS’ was not declared in this scope PJON_DELAY_MICROSECONDS(SWBB_BIT_SPACER); ^~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::set_pin(uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:382:3: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:382:3: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h: In member function ‘void SoftwareBitBang::set_pins(uint8_t, uint8_t)’: ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:395:3: error: ‘PJON_IO_PULL_DOWN’ was not declared in this scope PJON_IO_PULL_DOWN(input_pin); ^~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/strategies/SoftwareBitBang/SoftwareBitBang.h:395:3: note: suggested alternative: ‘PJON_INCLUDE_PORT’ PJON_IO_PULL_DOWN(input_pin); ^~~~~~~~~~~~~~~~~ PJON_INCLUDE_PORT In file included from ./MySensors.h:395, from examples_linux/mysgw.cpp:82: ./hal/transport/PJON/MyTransportPJON.cpp: In function ‘void _receiver_function(uint8_t*, uint16_t, const PJON_Packet_Info&)’: ./hal/transport/PJON/MyTransportPJON.cpp:56:84: warning: unused parameter ‘packet_info’ [-Wunused-parameter] void _receiver_function(uint8_t *payload, uint16_t length, const PJON_Packet_Info &packet_info) ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ In file included from ./MySensors.h:390, from examples_linux/mysgw.cpp:82: ./hal/transport/PJON/driver/PJON.h: In instantiation of ‘uint16_t PJON<Strategy>::update() [with Strategy = SoftwareBitBang; uint16_t = short unsigned int]’: ./hal/transport/PJON/MyTransportPJON.cpp:47:13: required from here ./hal/transport/PJON/driver/PJON.h:932:30: error: ‘PJON_MICROS’ was not declared in this scope (uint32_t)(PJON_MICROS() - packets[i].registration) > ~~~~~~~~~~~^~ ./hal/transport/PJON/driver/PJON.h:932:30: note: suggested alternative: ‘MOD_MICRO’ (uint32_t)(PJON_MICROS() - packets[i].registration) > ~~~~~~~~~~~^~ MOD_MICRO ./hal/transport/PJON/driver/PJON.h: In instantiation of ‘void PJON<Strategy>::begin() [with Strategy = SoftwareBitBang]’: ./hal/transport/PJON/MyTransportPJON.cpp:69:12: required from here ./hal/transport/PJON/driver/PJON.h:149:36: error: ‘PJON_ANALOG_READ’ was not declared in this scope PJON_RANDOM_SEED(PJON_ANALOG_READ(_random_seed) + tx.id); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:149:36: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_RANDOM_SEED(PJON_ANALOG_READ(_random_seed) + tx.id); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/PJON.h:149:19: error: ‘PJON_RANDOM_SEED’ was not declared in this scope PJON_RANDOM_SEED(PJON_ANALOG_READ(_random_seed) + tx.id); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./hal/transport/PJON/driver/PJON.h:149:19: note: suggested alternative: ‘PJON_NO_HEADER’ PJON_RANDOM_SEED(PJON_ANALOG_READ(_random_seed) + tx.id); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PJON_NO_HEADER ./hal/transport/PJON/driver/PJON.h: In instantiation of ‘uint16_t PJON<Strategy>::receive(uint32_t) [with Strategy = SoftwareBitBang; uint16_t = short unsigned int; uint32_t = unsigned int]’: ./hal/transport/PJON/MyTransportPJON.cpp:88:35: required from here ./hal/transport/PJON/driver/PJON.h:456:30: error: ‘PJON_MICROS’ was not declared in this scope uint32_t time = PJON_MICROS(); ~~~~~~~~~~~^~ ./hal/transport/PJON/driver/PJON.h:456:30: note: suggested alternative: ‘MOD_MICRO’ uint32_t time = PJON_MICROS(); ~~~~~~~~~~~^~ MOD_MICRO ./hal/transport/PJON/driver/PJON.h: In instantiation of ‘uint16_t PJON<Strategy>::dispatch(const PJON_Packet_Info&, const void*, uint16_t, uint32_t, uint16_t) [with Strategy = SoftwareBitBang; uint16_t = short unsigned int; uint32_t = unsigned int]’: ./hal/transport/PJON/driver/PJON.h:552:10: required from ‘uint16_t PJON<Strategy>::send(uint8_t, const void*, uint16_t, uint8_t, uint16_t, uint16_t) [with Strategy = SoftwareBitBang; uint16_t = short unsigned int; uint8_t = unsigned char]’ ./hal/transport/PJON/MyTransportPJON.cpp:46:85: required from here ./hal/transport/PJON/driver/PJON.h:222:42: error: ‘PJON_MICROS’ was not declared in this scope packets[i].registration = PJON_MICROS(); ~~~~~~~~~~~^~ ./hal/transport/PJON/driver/PJON.h:222:42: note: suggested alternative: ‘MOD_MICRO’ packets[i].registration = PJON_MICROS(); ~~~~~~~~~~~^~ MOD_MICRO make: *** [Makefile:99: build/examples_linux/mysgw.o] Error 1
So it seems more changes are needed.
Maybe @Giovanni-Blu-Mitolo or @4ib3r have some information.