Nrf5x on NodeManager
-
Hello, i try nodeManager for arduino + nrf24 and it work perfectly but i want to use the NRF5x in my new design.
In the changelog NRF52 is supported but i don't find anything in the Template to use it...Thanks.
-
+1
I've tried the E73 Ebyte NRF52832 modules, various NRF51822, and "diymroe" STM32F407, all with the same result...not seeing anything and nothing to serial out.
Somebody with more experience with hardware debugging could probably dive deeper using STLINK / JLINK tools.
I know there are a few issues related to their use on github:
https://github.com/mysensors/NodeManager/issues/463
https://github.com/mysensors/NodeManager/pull/438I also remember the project owner, @user2684, mentioned he doesn't get notifications from the MySensors forum, best to open an issue via github.
-
@ncollins thanks for the at-mention! I've just got a NRF52832 shipped so when I'll get it I will run some tests by myself. So far tests on these platforms have been based on user feedback which is ok but not ideal since couldn't really test in an extensive way. I'll keep you posted. Thanks!
-
Hi.
I just stumbled upon this. Can Nodemanager be used for NRF51 chips?
Thanks
-
@Puneit-Thukral I run some tests a while ago and had no issues but never had the chance to have something running seriously and continuously to really troubleshoot NodeManager's behaviour with this board. If anybody is willing to volunteer and run some in depth testing, of course let me know here or privately. Thanks!
-
@user2684 I lack programming skills - but I have some time on hand due to the COVID19 induced lockdown and about 10 NRF51822 chips on hands. Happy to test it.
-
@user2684 Hi, I tried NRF51822 with the WaveShare dev board (https://www.waveshare.com/wiki/BLE400).
I can use his integrated cp2120 to see the serial output (no need to do any special coding, it works out of the box if we use the proper board when uploading our sketch).
I'm using a SSD1306 lcd working properly, using the proper library (https://github.com/beegee-tokyo/nRF52_OLED) and connecting the lcd to the SCL and SDA pins (P.01,P.02).The only thing I'm still trying to make it working is the Door sensor. Using Nodemanger is not working for me.
-
@Francisco_Elias Not using node manager but this sketch. See if it helps you
//#define MY_DEBUG //Debug Disabled in production #define MY_RADIO_NRF5_ESB //#define MY_NODE_ID 10 // change this for every node #define SKETCH_NAME "Door Sensor" // this can be changed as well #define SKETCH_VERSION "V1" #define MY_SMART_SLEEP_WAIT_DURATION 500 //activate smart sleep #define MY_SLEEP_TRANSPORT_RECONNECT_TIMEOUT_MS 10000 //wait for 10 seconds to reconnect in case of transport problems #define MY_TRANSPORT_WAIT_READY_MS 30000 //try connecting for 30 seconds //#define MY_PARENT_NODE_ID 0 //#define MY_PARENT_NODE_IS_STATIC #define DIGITAL_INPUT_SENSOR 2 // The digital input you attached your Door/Window sensor. #define CHILD_ID_DOOR 1 // Id of the door/window sensor child. #define CHILD_ID_BATTERY 254 // ID of the battery sensor #define BATTERY_FULL 3 // #define BATTERY_EMPTY 1.8 // NRF51822 does not work below 1.8V float BATTERY_FULL_PCNT=100; // float BATTERY_EMPTY_PCNT=0; // NRF51822 does not work below 1.8V #include <MySensors.h> #ifdef MY_DEBUG uint32_t SLEEP_TIME = 30000; // when debugging, sleep time is 30 seconds #endif #ifndef MY_DEBUG uint32_t SLEEP_TIME = 60000 * 1440 ; // when deployed, sleep time is 30 minutes #endif #define SHORT_WAIT 500 bool oldValueDoor = -1; float batteryVoltage = 0; //bool tripped=2; // Initialize door/window message MyMessage msgDoor(CHILD_ID_DOOR, V_TRIPPED); //Door/Window. MyMessage msgBattery(CHILD_ID_BATTERY, V_VOLTAGE); int batteryPcnt=-1; void setup() { pinMode(DIGITAL_INPUT_SENSOR, INPUT_PULLUP); // sets the door/window sensor digital pin as input digitalWrite(DIGITAL_INPUT_SENSOR, HIGH); } void presentation() { sendSketchInfo(SKETCH_NAME, SKETCH_VERSION); present(CHILD_ID_DOOR, S_DOOR, "Door"); wait(SHORT_WAIT); present(CHILD_ID_BATTERY, S_MULTIMETER, "DoorBatt"); } void loop() { bool tripped = digitalRead(DIGITAL_INPUT_SENSOR)==HIGH; if (tripped != oldValueDoor) { send(msgDoor.set(tripped ? "1" : "0"), true); // Send door/window tripped value to gw oldValueDoor = tripped; } batteryVoltage = ((float)hwCPUVoltage()) / 1000.0; send(msgBattery.set(batteryVoltage, 2)); //this creates a voltage sensor batteryPcnt = round((batteryVoltage - BATTERY_EMPTY) *100.0 / (BATTERY_FULL - BATTERY_EMPTY)); if (batteryPcnt > 100) {batteryPcnt = 100;} if (batteryPcnt <= 0) {batteryPcnt = 0;} sendBatteryLevel(batteryPcnt, true); // this adds attribute to the door sensor sendHeartbeat(); batteryPcnt=0; smartSleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, SLEEP_TIME); }
-
@Francisco_Elias said in Nrf5x on NodeManager:
The only thing I'm still trying to make it working is the Door sensor. Using Nodemanger is not working for me.
In case you want to give a try to the development version of NodeManager (https://github.com/mysensors/NodeManager/tree/development) there have been a few enhancements to support this board. Thanks
-
@user2684 @Puneit-Thukral Thanks Puneit and User2684.
I think I isolate more the problem. Using pin 3 for the sensor (I tested some of them) always works, if I use a different pin (I tested more than 10 different ones) other than pin 3 the sensor doesn't work. I tried to eliminate a hw issue, so I tested 3 different nrf51822 modules. I tested a simple sketch with two door sensors, one attached to pin 3 and another to pin 7. Pin 3 works but Pin 7 never works:#define SKETCH_NAME "Testing Nodemanger on NRF51822" #define SKETCH_VERSION "1.0" #define MY_RADIO_NRF5_ESB #define MY_BAUD_RATE 9600 #define NODEMANAGER_DEBUG ON #define NODEMANAGER_INTERRUPTS ON #define NODEMANAGER_SLEEP OFF #define NODEMANAGER_RECEIVE OFF #define NODEMANAGER_DEBUG_VERBOSE OFF #define NODEMANAGER_POWER_MANAGER OFF #define NODEMANAGER_CONDITIONAL_REPORT OFF #define NODEMANAGER_EEPROM OFF #define NODEMANAGER_TIME OFF #define NODEMANAGER_RTC OFF #define NODEMANAGER_SD OFF #define NODEMANAGER_HOOKING OFF #define NODEMANAGER_OTA_CONFIGURATION OFF #define NODEMANAGER_SERIAL_INPUT OFF #include <MySensors_NodeManager.h> #include <sensors/SensorDoor.h> SensorDoor door(3); SensorDoor door2(7); void before() { nodeManager.before(); } void presentation() { nodeManager.presentation(); } void setup() { nodeManager.setup(); } void loop() { nodeManager.loop(); }
This is the serial output:
15:54:10.386 -> 15:54:10.419 -> __ __ ____ 15:54:10.419 -> | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ 15:54:10.487 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| 15:54:10.522 -> | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ 15:54:10.591 -> |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ 15:54:10.625 -> |___/ 2.3.2 15:54:10.660 -> 15:54:10.693 -> 284 NM:INIT:VER=1.9-dev 15:54:10.693 -> 309 NM:INIT:INO=Testing Nodemanger on NRF51822 v1.0 15:54:10.760 -> 364 NM:INIT:LIB VER=2.3.2 CP=RNNNN--- 15:54:10.793 -> 404 NM:BFR:INIT 15:54:14.938 -> 4542 NM:BFR:OK 15:54:14.972 -> 4561 NM:PRES:DOOR(1) p=0 t=16 15:54:14.972 -> 4594 NM:PRES:DOOR(2) p=0 t=16 15:54:15.040 -> 4634 NM:STP:ID=18 M=1 15:54:15.040 -> 4658 NM:BFR:INT p=3 m=2 15:54:15.073 -> 4683 NM:STP:HW V=3303 F=16 M=0 15:54:45.439 -> 35033 NM:LOOP:INT p=3 v=0 15:54:45.439 -> 35060 NM:LOOP:DOOR(1):SET t=16 v=0 15:54:51.644 -> 41251 NM:LOOP:INT p=3 v=1 15:54:57.218 -> 46839 NM:LOOP:INT p=3 v=0 15:54:57.251 -> 46866 NM:LOOP:DOOR(1):SET t=16 v=0 15:55:04.109 -> 53731 NM:LOOP:INT p=3 v=1 15:55:25.624 -> 75223 NM:LOOP:INT p=3 v=0 15:55:44.678 -> 94288 NM:LOOP:INT p=3 v=1 15:55:54.928 -> 104520 NM:LOOP:INT p=3 v=0 15:56:09.315 -> 118909 NM:LOOP:INT p=3 v=1
And this is what the gateway is receiving (checking it with MYSController):
1575 25/10/2020 15:54:10 TX 18 - Testing Nodemanger on NRF N/A C_INTERNAL NO I_REBOOT 0 1576 25/10/2020 15:54:14 RX 18 INTERNAL C_PRESENTATION NO S_ARDUINO_NODE 2.3.2 1577 25/10/2020 15:54:14 RX 18 INTERNAL C_INTERNAL NO I_CONFIG 0 1578 25/10/2020 15:54:14 TX 18 INTERNAL C_INTERNAL NO I_CONFIG M 1579 25/10/2020 15:54:14 RX 18 - Testing Nodemanger on NRF INTERNAL C_INTERNAL NO I_SKETCH_NAME Testing Nodemanger on NRF 1580 25/10/2020 15:54:15 RX 18 - Testing Nodemanger on NRF INTERNAL C_INTERNAL NO I_SKETCH_VERSION 1.0 1581 25/10/2020 15:54:15 RX 18 - Testing Nodemanger on NRF 1 - DOOR C_PRESENTATION NO S_DOOR DOOR 1582 25/10/2020 15:54:15 RX 18 - Testing Nodemanger on NRF 2 - DOOR C_PRESENTATION NO S_DOOR DOOR 1583 25/10/2020 15:54:45 RX 18 - Testing Nodemanger on NRF 1 - DOOR C_SET NO V_TRIPPED 0 1584 25/10/2020 15:54:57 RX 18 - Testing Nodemanger on NRF 1 - DOOR C_SET NO V_TRIPPED 0 1585 25/10/2020 16:01:33 RX 18 - Testing Nodemanger on NRF INTERNAL C_INTERNAL NO I_DISCOVER_RESPONSE 0
I tested with a simple sketch and without nodemanager I can detect pin changes without any issue. My next steps will be:
- to check the same sketch with a NRF52832 (to check if something tied to the NRF51822). I have both ones.
- to check the same sketch with an arduino, so to verify it is something that only happen with NRF5.
-
I forgot to mention what I'm using:
- WaveShare BLE400 motherboard
- NRF51822 modules
- MySensors library 2.3.2
- Nodemanager (development version, updated few days ago)
- I'll use a NRF52832, but it will take one or two days (I need to unlock the NF52 flash protection in order to use it with my ST-Link)
-
Tested the same sketch on an Arduino Pro mini (changed the pin 7 to pin 2 due the limitation of the interruptions on this Arduino) and all seems to work fine:
Sketch used:#define SKETCH_NAME "Testing Nodemanger on Arduino Pro Mini" #define SKETCH_VERSION "1.0" //#define MY_RADIO_NRF5_ESB #define MY_RADIO_RF24 #define MY_BAUD_RATE 9600 #define NODEMANAGER_DEBUG ON #define NODEMANAGER_INTERRUPTS ON #define NODEMANAGER_SLEEP OFF #define NODEMANAGER_RECEIVE OFF #define NODEMANAGER_DEBUG_VERBOSE OFF #define NODEMANAGER_POWER_MANAGER OFF #define NODEMANAGER_CONDITIONAL_REPORT OFF #define NODEMANAGER_EEPROM OFF #define NODEMANAGER_TIME OFF #define NODEMANAGER_RTC OFF #define NODEMANAGER_SD OFF #define NODEMANAGER_HOOKING OFF #define NODEMANAGER_OTA_CONFIGURATION OFF #define NODEMANAGER_SERIAL_INPUT OFF #include <MySensors_NodeManager.h> #include <sensors/SensorDoor.h> SensorDoor door(3); SensorDoor door2(2); // replaced pin 7 for pin 2 (arduino pro mini interruption limitation) void before() { nodeManager.before(); } void presentation() { nodeManager.presentation(); } void setup() { nodeManager.setup(); } void loop() { nodeManager.loop(); }
Serial output log where we can see it detect the changes of both pins (2 & 3):
09:52:41.566 -> 09:52:41.566 -> __ __ ____ 09:52:41.599 -> | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ 09:52:41.633 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| 09:52:41.700 -> | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ 09:52:41.734 -> |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ 09:52:41.803 -> |___/ 2.3.2 09:52:41.836 -> 09:52:41.836 -> 208 NM:INIT:VER=1.9-dev 09:52:41.870 -> 301 NM:INIT:INO=Testing Nodemanger on Arduino Pro Mini v1.0 09:52:41.938 -> 364 NM:INIT:LIB VER=2.3.2 CP=RNNNA--- 09:52:41.971 -> 405 NM:BFR:INIT 09:52:46.052 -> 4505 NM:BFR:OK 09:52:46.087 -> 4532 NM:PRES:DOOR(1) p=0 t=16 09:52:46.121 -> 4564 NM:PRES:DOOR(2) p=0 t=16 09:52:46.190 -> 4608 NM:STP:ID=52 M=1 09:52:46.190 -> 4630 NM:LOOP:INT p=3 v=1 09:52:46.224 -> 4632 NM:BFR:INT p=3 m=1 09:52:46.224 -> 4657 NM:LOOP:INT p=2 v=1 09:52:46.257 -> 4659 NM:BFR:INT p=2 m=1 09:52:46.899 -> 4757 NM:STP:HW V=3242 F=8 M=1307 09:52:46.934 -> 4792 NM:LOOP:DOOR(2):SET t=16 v=1 09:53:12.277 -> 30169 NM:LOOP:INT p=2 v=0 09:53:12.311 -> 30169 NM:LOOP:INT p=2 v=0 09:53:16.634 -> 34463 NM:LOOP:INT p=2 v=0 09:53:16.668 -> 34463 NM:LOOP:INT p=2 v=1 09:53:16.668 -> 34465 NM:LOOP:DOOR(2):SET t=16 v=1 09:53:19.738 -> 37509 NM:LOOP:INT p=3 v=0 09:53:19.738 -> 37509 NM:LOOP:INT p=3 v=0 09:53:19.772 -> 37509 NM:LOOP:INT p=3 v=0 09:53:19.805 -> 37509 NM:LOOP:INT p=3 v=0 09:53:23.630 -> 41297 NM:LOOP:INT p=3 v=0 09:53:23.630 -> 41297 NM:LOOP:INT p=3 v=1 09:53:23.664 -> 41299 NM:LOOP:DOOR(1):SET t=16 v=1 09:53:28.297 -> 45950 NM:LOOP:INT p=2 v=0 09:53:28.330 -> 45950 NM:LOOP:INT p=2 v=0 09:53:28.399 -> 45983 NM:LOOP:INT p=2 v=0 09:53:28.433 -> 45983 NM:LOOP:INT p=2 v=0 09:53:28.467 -> 45985 NM:LOOP:DOOR(2):SET t=16 v=0 09:53:32.836 -> 50368 NM:LOOP:INT p=2 v=1 09:53:32.870 -> 50368 NM:LOOP:INT p=2 v=1 09:53:34.666 -> 52156 NM:LOOP:INT p=3 v=0 09:53:34.700 -> 52156 NM:LOOP:INT p=3 v=0 09:53:38.559 -> 55984 NM:LOOP:INT p=3 v=0 09:53:38.559 -> 55984 NM:LOOP:INT p=3 v=1 09:53:44.281 -> 61687 NM:LOOP:INT p=2 v=0 09:53:44.315 -> 61687 NM:LOOP:INT p=2 v=0 09:53:44.349 -> 61691 NM:LOOP:DOOR(2):SET t=16 v=0 09:53:44.383 -> 61704 NM:LOOP:INT p=2 v=0 09:53:44.418 -> 61704 NM:LOOP:INT p=2 v=0 09:53:49.123 -> 66408 NM:LOOP:INT p=2 v=0 09:53:49.157 -> 66408 NM:LOOP:INT p=2 v=1 09:53:49.191 -> 66410 NM:LOOP:DOOR(2):SET t=16 v=1 09:53:52.885 -> 70107 NM:LOOP:INT p=3 v=0 09:53:52.919 -> 70107 NM:LOOP:INT p=3 v=0 09:53:57.596 -> 74776 NM:LOOP:INT p=3 v=1 09:53:57.629 -> 74776 NM:LOOP:INT p=3 v=1
This is the output from the Gateway:
1634 26/10/2020 9:52:45 RX 52 INTERNAL C_PRESENTATION NO S_ARDUINO_NODE 2.3.2 1635 26/10/2020 9:52:46 RX 52 INTERNAL C_INTERNAL NO I_CONFIG 0 1636 26/10/2020 9:52:46 TX 52 INTERNAL C_INTERNAL NO I_CONFIG M 1637 26/10/2020 9:52:46 RX 52 - Testing Nodemanger on Ard INTERNAL C_INTERNAL NO I_SKETCH_NAME Testing Nodemanger on Ard 1638 26/10/2020 9:52:46 RX 52 - Testing Nodemanger on Ard INTERNAL C_INTERNAL NO I_SKETCH_VERSION 1.0 1639 26/10/2020 9:52:46 RX 52 - Testing Nodemanger on Ard 1 - DOOR C_PRESENTATION NO S_DOOR DOOR 1640 26/10/2020 9:52:46 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_PRESENTATION NO S_DOOR DOOR 1641 26/10/2020 9:52:46 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_SET NO V_TRIPPED 1 1642 26/10/2020 9:53:16 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_SET NO V_TRIPPED 1 1643 26/10/2020 9:53:23 RX 52 - Testing Nodemanger on Ard 1 - DOOR C_SET NO V_TRIPPED 1 1644 26/10/2020 9:53:28 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_SET NO V_TRIPPED 0 1645 26/10/2020 9:53:44 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_SET NO V_TRIPPED 0 1646 26/10/2020 9:53:49 RX 52 - Testing Nodemanger on Ard 2 - DOOR C_SET NO V_TRIPPED 1
Next step is to test it on a NRF52832. It will take some days as I need to set up my raspberry pi to unlock the NRF52 flash protection using the OpenOCD (I never did it and I need to read some docs). I'll keep you updated.
-
@user2684 Hi again. In order to verify if it is something related to mysensors nodemanager library I tested an sketch that monitor two pins (3 and 7) for changes and to print them over the serial and sending the message to the GW.
Sum up:- Nodemanager + NRF51822 + a pin other than pin 3 = fails
- Nodemanager + Arduino + a pin other than pin 3 = works
- NRF51822 + MySensors (without Nodemanager) + a pin other than 3 = works
Sketch for the NRF51822 test without Nodemanager:
#define MY_DEBUG #define MY_RADIO_NRF5_ESB #include <MySensors.h> uint32_t SLEEP_TIME = 120000; #define DIGITAL_INPUT_SENSOR 3 #define DIGITAL_INPUT_SENSOR2 7 #define CHILD_ID 1 #define CHILD_ID2 2 MyMessage msg(CHILD_ID, V_TRIPPED); MyMessage msg2(CHILD_ID2, V_TRIPPED); void setup() { pinMode(DIGITAL_INPUT_SENSOR, INPUT); pinMode(DIGITAL_INPUT_SENSOR2, INPUT); } void presentation() { sendSketchInfo("Testing without Nodemanager on NRF51822", "1.0"); present(CHILD_ID, S_DOOR); present(CHILD_ID2, S_DOOR); } void loop() { bool tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; bool tripped2 = digitalRead(DIGITAL_INPUT_SENSOR2) == HIGH; Serial.println(tripped); send(msg.set(tripped?"1":"0")); // Send tripped value to gw Serial.println(tripped2); send(msg2.set(tripped2?"1":"0")); sleep(digitalPinToInterrupt(DIGITAL_INPUT_SENSOR), CHANGE, digitalPinToInterrupt(DIGITAL_INPUT_SENSOR2), CHANGE, SLEEP_TIME); }
The serial output:
15:16:34.164 -> __ __ ____ 15:16:34.164 -> | \/ |_ _/ ___| ___ _ __ ___ ___ _ __ ___ 15:16:34.164 -> | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __| 15:16:34.164 -> | | | | |_| |___| | __/ | | \__ \ _ | | \__ \ 15:16:34.164 -> |_| |_|\__, |____/ \___|_| |_|___/\___/|_| |___/ 15:16:34.164 -> |___/ 2.3.2 15:16:34.164 -> 15:16:34.164 -> 24 MCO:BGN:INIT NODE,CP=RNNNN---,FQ=16,REL=255,VER=2.3.2 15:16:34.164 -> 29 TSM:INIT 15:16:34.164 -> 31 TSF:WUR:MS=0 15:16:34.164 -> 32 TSM:INIT:TSP OK 15:16:34.164 -> 34 TSF:SID:OK,ID=18 15:16:34.199 -> 36 TSM:FPAR 15:16:34.199 -> 43 ?TSF:MSG:SEND,18-18-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=NACK: 15:16:36.206 -> 2052 !TSM:FPAR:NO REPLY 15:16:36.206 -> 2054 TSM:FPAR 15:16:36.206 -> 2061 ?TSF:MSG:SEND,18-18-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=1,st=NACK: 15:16:37.154 -> 3027 TSF:MSG:READ,0-0-18,s=255,c=3,t=8,pt=1,l=1,sg=0:0 15:16:37.188 -> 3032 TSF:MSG:FPAR OK,ID=0,D=1 15:16:38.202 -> 4070 TSM:FPAR:OK 15:16:38.202 -> 4071 TSM:ID 15:16:38.202 -> 4072 TSM:ID:OK 15:16:38.202 -> 4074 TSM:UPL 15:16:38.202 -> 4076 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=2,st=OK:1 15:16:38.235 -> 4083 TSF:MSG:READ,0-0-18,s=255,c=3,t=25,pt=1,l=1,sg=0:1 15:16:38.235 -> 4089 TSF:MSG:PONG RECV,HP=1 15:16:38.235 -> 4091 TSM:UPL:OK 15:16:38.235 -> 4093 TSM:READY:ID=18,PAR=0,DIS=1 15:16:38.235 -> 4097 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100 15:16:38.235 -> 4105 TSF:MSG:READ,0-0-18,s=255,c=3,t=15,pt=6,l=2,sg=0:0100 15:16:38.235 -> 4112 TSF:MSG:SEND,18-18-0-0,s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=OK:2.3.2 15:16:38.269 -> 4121 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0 15:16:38.304 -> 4175 TSF:MSG:READ,0-0-18,s=255,c=3,t=6,pt=0,l=1,sg=0:M 15:16:38.338 -> 4182 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=11,pt=0,l=25,sg=0,ft=0,st=OK:Testing without Nodemanag 15:16:38.338 -> 4193 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0 15:16:38.338 -> 4201 TSF:MSG:SEND,18-18-0-0,s=1,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK: 15:16:38.338 -> 4209 TSF:MSG:SEND,18-18-0-0,s=2,c=0,t=0,pt=0,l=0,sg=0,ft=0,st=OK: 15:16:38.373 -> 4216 MCO:REG:REQ 15:16:38.373 -> 4218 TSF:MSG:SEND,18-18-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2 15:16:38.373 -> 4225 TSF:MSG:READ,0-0-18,s=255,c=3,t=27,pt=1,l=1,sg=0:1 15:16:38.373 -> 4231 MCO:PIM:NODE REG=1 15:16:38.373 -> 4233 MCO:BGN:STP 15:16:38.373 -> 4235 MCO:BGN:INIT OK,TSP=1 15:16:38.373 -> 1 15:16:38.373 -> 4239 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:38.373 -> 1 15:16:38.373 -> 4247 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:38.408 -> 4254 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:16:38.408 -> 4259 TSF:TDI:TPD 15:16:45.586 -> 11434 MCO:SLP:WUP=3 15:16:45.586 -> 11436 TSF:TRI:TPU 15:16:45.586 -> 0 15:16:45.586 -> 11440 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:16:45.586 -> 1 15:16:45.586 -> 11448 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:45.586 -> 11455 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:16:45.586 -> 11460 TSF:TDI:TPD 15:16:49.882 -> 15727 MCO:SLP:WUP=3 15:16:49.882 -> 15729 TSF:TRI:TPU 15:16:49.882 -> 1 15:16:49.882 -> 15732 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:49.882 -> 1 15:16:49.882 -> 15741 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:49.882 -> 15748 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:16:49.882 -> 15752 TSF:TDI:TPD 15:16:53.505 -> 19379 MCO:SLP:WUP=3 15:16:53.539 -> 19381 TSF:TRI:TPU 15:16:53.539 -> 0 15:16:53.539 -> 19384 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:16:53.539 -> 1 15:16:53.539 -> 19393 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:53.539 -> 19400 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:16:53.539 -> 19405 TSF:TDI:TPD 15:16:58.925 -> 24771 MCO:SLP:WUP=3 15:16:58.925 -> 24773 TSF:TRI:TPU 15:16:58.925 -> 1 15:16:58.925 -> 24776 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:58.925 -> 1 15:16:58.925 -> 24785 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:16:58.925 -> 24792 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:16:58.925 -> 24796 TSF:TDI:TPD 15:17:01.256 -> 27111 MCO:SLP:WUP=3 15:17:01.256 -> 27112 TSF:TRI:TPU 15:17:01.256 -> 0 15:17:01.256 -> 27116 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:17:01.256 -> 1 15:17:01.256 -> 27124 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:01.289 -> 27131 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:01.289 -> 27136 TSF:TDI:TPD 15:17:04.545 -> 30413 MCO:SLP:WUP=3 15:17:04.545 -> 30415 TSF:TRI:TPU 15:17:04.545 -> 1 15:17:04.545 -> 30418 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:04.578 -> 1 15:17:04.578 -> 30426 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:04.578 -> 30433 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:04.578 -> 30438 TSF:TDI:TPD 15:17:08.065 -> 33936 MCO:SLP:WUP=7 15:17:08.065 -> 33938 TSF:TRI:TPU 15:17:08.065 -> 1 15:17:08.065 -> 33941 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:08.099 -> 0 15:17:08.099 -> 33949 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:17:08.099 -> 33956 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:08.099 -> 33961 TSF:TDI:TPD 15:17:13.597 -> 39440 MCO:SLP:WUP=7 15:17:13.597 -> 39442 TSF:TRI:TPU 15:17:13.597 -> 1 15:17:13.597 -> 39445 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:13.597 -> 1 15:17:13.597 -> 39453 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:13.597 -> 39460 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:13.597 -> 39465 TSF:TDI:TPD 15:17:15.520 -> 41366 MCO:SLP:WUP=7 15:17:15.520 -> 41368 TSF:TRI:TPU 15:17:15.520 -> 1 15:17:15.520 -> 41371 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:15.520 -> 0 15:17:15.520 -> 41379 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:17:15.520 -> 41386 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:15.520 -> 41391 TSF:TDI:TPD 15:17:19.470 -> 45344 MCO:SLP:WUP=7 15:17:19.503 -> 45346 TSF:TRI:TPU 15:17:19.503 -> 1 15:17:19.503 -> 45349 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:19.503 -> 1 15:17:19.503 -> 45357 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:19.503 -> 45364 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:19.503 -> 45369 TSF:TDI:TPD 15:17:21.291 -> 47162 MCO:SLP:WUP=7 15:17:21.291 -> 47164 TSF:TRI:TPU 15:17:21.291 -> 1 15:17:21.291 -> 47167 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:21.324 -> 0 15:17:21.324 -> 47175 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0 15:17:21.324 -> 47182 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2 15:17:21.324 -> 47187 TSF:TDI:TPD 15:17:25.817 -> 51669 MCO:SLP:WUP=7 15:17:25.817 -> 51670 TSF:TRI:TPU 15:17:25.817 -> 1 15:17:25.817 -> 51674 TSF:MSG:SEND,18-18-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:25.817 -> 1 15:17:25.817 -> 51682 TSF:MSG:SEND,18-18-0-0,s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1 15:17:25.817 -> 51689 MCO:SLP:MS=120000,SMS=0,I1=3,M1=2,I2=7,M2=2
Gateway received information:
1884 26/10/2020 15:16:38 RX 18 INTERNAL C_PRESENTATION NO S_ARDUINO_NODE 2.3.2 1885 26/10/2020 15:16:38 RX 18 INTERNAL C_INTERNAL NO I_CONFIG 0 1886 26/10/2020 15:16:38 TX 18 INTERNAL C_INTERNAL NO I_CONFIG M 1887 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag INTERNAL C_INTERNAL NO I_SKETCH_NAME Testing without Nodemanag 1888 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag INTERNAL C_INTERNAL NO I_SKETCH_VERSION 1.0 1889 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag 1 - S_DOOR C_PRESENTATION NO S_DOOR 1890 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag 2 - S_DOOR C_PRESENTATION NO S_DOOR 1891 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1892 26/10/2020 15:16:38 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1893 26/10/2020 15:16:45 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 0 1894 26/10/2020 15:16:45 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1895 26/10/2020 15:16:49 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1896 26/10/2020 15:16:49 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1897 26/10/2020 15:16:55 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 0 1898 26/10/2020 15:16:56 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1899 26/10/2020 15:16:58 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1900 26/10/2020 15:16:58 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1901 26/10/2020 15:17:01 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 0 1902 26/10/2020 15:17:01 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1903 26/10/2020 15:17:04 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1904 26/10/2020 15:17:04 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1905 26/10/2020 15:17:08 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1906 26/10/2020 15:17:08 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 0 1907 26/10/2020 15:17:13 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1908 26/10/2020 15:17:13 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1909 26/10/2020 15:17:15 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1910 26/10/2020 15:17:15 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 0 1911 26/10/2020 15:17:19 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1912 26/10/2020 15:17:19 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1 1913 26/10/2020 15:17:21 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1914 26/10/2020 15:17:21 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 0 1915 26/10/2020 15:17:25 RX 18 - Testing without Nodemanag 1 - S_DOOR C_SET NO V_TRIPPED 1 1916 26/10/2020 15:17:25 RX 18 - Testing without Nodemanag 2 - S_DOOR C_SET NO V_TRIPPED 1
So no need to test the NRF52 (but I will do anyway and I'll post the result).
Do you know how to inform to the development team about this issue?Thanks a lot
-
@Francisco_Elias if understood correctly you are experiencing troubles in making a door sensor working attached to a pin different than 3 right? If this is the case, it is an expected behaviour, since interrupt pins on arduino pro mini are 2 and 3, those are the only two in which NodeManager configure the interrupts, even if there are boards supporting more interrupt pins. Let me know if this is a too strict limitation or feel free to open an issue directly on Github (https://github.com/mysensors/NodeManager/issues).
Thanks!
-
@user2684 Thanks User2684.
I think I didn't explained properly the issue. The problem is the following:- NRF51822 + MySensors + NodeManager + Door Sensor = only works pin 3
- Arduino Pro Mini + MySensors + NodeManager + Door Sensor = works both pins that manage interrupts (2 and 3)
- NRF51822 + MySensors without Nodemanager + Door Sensors (tested pin 3 and others) = all tested pins works.
So NRF51822 with NodeManager and Door Sensor is unable to handle interrupts comming from pins other than 3, when it can manage without any issue when we don't use NodeManager.
I hope it explain the issue. Let me know if you have any doubt or if you need any other information. I'm available for performing any test.
-
Yesterday I unlocked the flash protection on my NRF52832 and I have the same behaviour than with the NRF51822. Using Nodemanager I can't use for door/interruption sensors other pins than the pin 3. Using the same NRF5 without nodemanager (just MySensor) they works perfect, I can use other pins and also various at same time.