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!


  • Mod

    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.


Log in to reply
 

Suggested Topics

  • 3
  • 2
  • 10
  • 3
  • 15
  • 2

28
Online

11.2k
Users

11.1k
Topics

112.5k
Posts