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.