Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. sbrinkmann
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    sbrinkmann

    @sbrinkmann

    2
    Reputation
    2
    Posts
    216
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    sbrinkmann Follow

    Best posts made by sbrinkmann

    • [PlatformIO] How to build a library to share across projects?

      A few weeks ago I switched from the Arduino IDE to PlatformIO. Since then developing of MySensors nodes becomes as convenient as it is developing Java or NodeJS applications. Then I tried to build a base library to share common functionality across my different projects. To archive this I've build a PlatformIO library project and added MySensors as dependency, since I want to add or wrap existing MySensors functionality. When I try to build one of my depending projects, LDF resolves the dependency tree as following:

      Library Dependency Graph
      |-- <BaseLibrary>
      |   |-- <MySensors> v2.1.0
      |   |   |-- <SPI> v1.0
      |   |   |-- <Wire> v1.0
      |   |   |-- <EEPROM> v1.0
      |-- <SPI> v1.0
      |-- <MySensors> v2.1.0
      |   |-- <SPI> v1.0
      |   |-- <Wire> v1.0
      |   |-- <EEPROM> v1.0
      |-- <EEPROM> v1.0
      |-- <ESP8266WiFi> v1.0
      

      But when I add #include <MySensors.h> to my BaseLibrary.cpp and build the depending project, the linker shows for each MySensors method the error ... multiple definition .... From my understandung the following precompiler statement

      #ifndef MySensors_h
      #define MySensors_h
      

      should avoid that this happens. Does anyone know how to build a multi project library with a MySensors dependency? Is this possible with the current MySensors design?

      posted in Development
      sbrinkmann
      sbrinkmann

    Latest posts made by sbrinkmann

    • RE: RF Nano = Nano + NRF24, for just $3,50 on Aliexpress

      I've ordered three of them and tried to get them working. But when I reproduce your configuration, the debug messages show me that it's not possible to establish a connection to the RF24 module.

      Here is my configuration

      // Enable debug prints to serial monitor
      #define MY_DEBUG
      #define MY_DEBUG_VERBOSE_RF24
      
      // Enable and select radio type attached
      #define MY_RADIO_RF24
      
      // PINS for the RF24 Communication
      #define MY_RF24_CE_PIN 10 
      #define MY_RF24_CS_PIN 9
      
      // Add some wait time until network is ready on node startup
      #define MY_TRANSPORT_WAIT_READY_MS 1000
      
      // Enable AES encryption
      #define MY_RF24_ENABLE_ENCRYPTION
      
      // Enable message signing
      #define MY_SIGNING_SOFT
      // Not longer required since the CPU integrated random numger generator is used
      //#define MY_SIGNING_SOFT_RANDOMSEED_PIN A0
      #define MY_VERIFICATION_TIMEOUT_MS 5000
      #define MY_SIGNING_REQUEST_SIGNATURES
      #define MY_SIGNING_GW_REQUEST_SIGNATURES_FROM_ALL
      

      this are the log statements:

       __  __       ____
      |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
              |___/                      2.3.1
      
      16 MCO:BGN:INIT NODE,CP=RNNNAS-X,REL=255,VER=2.3.1
      65 TSM:INIT
      66 TSF:WUR:MS=1000
      68 RF24:INIT
      69 RF24:INIT:PIN,CE=10,CS=9
      71 RF24:SBY
      72 RF24:WBR:REG=0,VAL=14
      79 RF24:WBR:REG=3,VAL=3
      81 RF24:WBR:REG=4,VAL=95
      83 RF24:WBR:REG=5,VAL=76
      87 RF24:WBR:REG=6,VAL=37
      89 RF24:WBR:REG=29,VAL=4
      91 RF24:RBR:REG=29,VAL=4
      93 RF24:RBR:REG=6,VAL=5
      95 !RF24:INIT:SANCHK FAIL
      98 !TSM:INIT:TSP FAIL
      99 TSM:FAIL:CNT=1
      101 TSM:FAIL:DIS
      103 TSF:TDI:TSL
      104 RF24:SLP
      105 RF24:WBR:REG=0,VAL=12
      1067 MCO:BGN:STP
      1068 !TSF:SND:TNR
      1070 !TSF:SND:TNR
      

      Currently I power the whole thing just trough the connected USB device. Is it possible that RF24 doesn't get powered through USB and has to be powered externally...? I tried different configurations and none of them got the RF24 working.

      posted in Hardware
      sbrinkmann
      sbrinkmann
    • [PlatformIO] How to build a library to share across projects?

      A few weeks ago I switched from the Arduino IDE to PlatformIO. Since then developing of MySensors nodes becomes as convenient as it is developing Java or NodeJS applications. Then I tried to build a base library to share common functionality across my different projects. To archive this I've build a PlatformIO library project and added MySensors as dependency, since I want to add or wrap existing MySensors functionality. When I try to build one of my depending projects, LDF resolves the dependency tree as following:

      Library Dependency Graph
      |-- <BaseLibrary>
      |   |-- <MySensors> v2.1.0
      |   |   |-- <SPI> v1.0
      |   |   |-- <Wire> v1.0
      |   |   |-- <EEPROM> v1.0
      |-- <SPI> v1.0
      |-- <MySensors> v2.1.0
      |   |-- <SPI> v1.0
      |   |-- <Wire> v1.0
      |   |-- <EEPROM> v1.0
      |-- <EEPROM> v1.0
      |-- <ESP8266WiFi> v1.0
      

      But when I add #include <MySensors.h> to my BaseLibrary.cpp and build the depending project, the linker shows for each MySensors method the error ... multiple definition .... From my understandung the following precompiler statement

      #ifndef MySensors_h
      #define MySensors_h
      

      should avoid that this happens. Does anyone know how to build a multi project library with a MySensors dependency? Is this possible with the current MySensors design?

      posted in Development
      sbrinkmann
      sbrinkmann