π¬ Sensebender Gateway
-
for info, a new Mysensors SAMD board definition file have been released (1.0.4)
Includes the following changes:
Arduino SAMD 1.6.11 supported (the latest arduino board definitions for SAMD)
Various bits and pieces regarding pin definitions are fixed (a couple of missing defines)
Windows driver .inf file added. -
@MLs reload board definition from IDE
I have a little annoying bug : I can't reset de gateway. When resetting, I loose communication with my computer (linux) same after loading a new sketch (last version with IDE 1.8.1 and def 1.0.4))
[13727.746445] usb 1-1: new full-speed USB device number 9 using xhci_hcd [13727.892970] usb 1-1: New USB device found, idVendor=1209, idProduct=6949 [13727.892974] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [13727.892977] usb 1-1: Product: Sensebender GW [13727.892980] usb 1-1: Manufacturer: MySensors.org [13727.895690] cdc_acm 1-1:1.0: ttyACM1: USB ACM device [13749.066589] usb 1-1: USB disconnect, device number 9So I can't check debug messages from init.
-
Are you using it as an ethernet gw, or standard serial gw? If serial GW, then the gateway waits until something connects to the serial device
The ethernet gw doesn't wait for something to connect. But you can hack the core, change hwInit() function in MyHwSAMD.cpp:
original
void hwInit() { MY_SERIALDEVICE.begin(MY_BAUD_RATE); #if defined(MY_GATEWAY_SERIAL) while (!MY_SERIALDEVICE) {} #endif Wire.begin(); }modify to this
void hwInit() { MY_SERIALDEVICE.begin(MY_BAUD_RATE); while (!MY_SERIALDEVICE) {} Wire.begin(); }It will make the gateway halt the initialization until something connects to the USB device.
Be advised, that if you don't have it connected to a computer, then it will not start up correctly.. That is why you need to hack the core to enable it..
-
When I try to upload sketch
Arduino:1.8.0 (Windows 10), Kort:"Arduino/Genuino Zero (Native USB Port)" Sketch uses 46488 bytes (17%) of program storage space. Maximum is 262144 bytes. No device found on COM4 An error occurred while uploading the sketch Invalid version found: 1.04 Invalid version found: 1.04 This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.When I use the serial monitor
0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGS--,VER=2.1.0 0;255;3;0;9;TSF:LRT:OK 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;TSM:INIT:TSP OK 0;255;3;0;9;TSM:INIT:GW MODE 0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0 0;255;3;0;9;MCO:REG:NOT NEEDED 0;255;3;0;14;Gateway startup complete. 0;255;0;0;18;2.1.0 0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1 0;255;3;0;9;TSF:MSG:READ,27-27-0,s=0,c=1,t=1,pt=7,l=5,sg=0:45.6 27;0;1;0;1;45.6 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:8.4 23;1;1;0;0;8.4 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:8.3 23;1;1;0;0;8.3 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=0,c=1,t=1,pt=7,l=5,sg=0:51.8 23;0;1;0;1;51.8 0;255;3;0;9;TSF:MSG:READ,22-22-0,s=1,c=1,t=0,pt=7,l=5,sg=0:3.4 22;1;1;0;0;3.4 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=0,c=1,t=1,pt=7,l=5,sg=0:52.0 23;0;1;0;1;52.0 0;255;3;0;9;TSF:MSG:READ,22-22-0,s=1,c=1,t=0,pt=7,l=5,sg=0:3.5 22;1;1;0;0;3.5 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:8.2 23;1;1;0;0;8.2 0;255;3;0;9;TSF:MSG:READ,23-23-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:FPAR REQ,ID=23 0;255;3;0;9;TSF:PNG:SEND,TO=0 0;255;3;0;9;TSF:CKU:OK 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;!TSF:MSG:SEND,0-0-23-23,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=0,c=1,t=1,pt=7,l=5,sg=0:52.4 23;0;1;0;1;52.4 0;255;3;0;9;TSF:MSG:READ,22-22-0,s=1,c=1,t=0,pt=7,l=5,sg=0:3.4 22;1;1;0;0;3.4 0;255;3;0;9;TSF:MSG:READ,23-23-0,s=1,c=1,t=0,pt=7,l=5,sg=0:8.1 23;1;1;0;0;8.1I USE IDE 1.80

Which card should I choose to get upload sketch on GW
//Mattias
-
Are you using it as an ethernet gw, or standard serial gw? If serial GW, then the gateway waits until something connects to the serial device
The ethernet gw doesn't wait for something to connect. But you can hack the core, change hwInit() function in MyHwSAMD.cpp:
original
void hwInit() { MY_SERIALDEVICE.begin(MY_BAUD_RATE); #if defined(MY_GATEWAY_SERIAL) while (!MY_SERIALDEVICE) {} #endif Wire.begin(); }modify to this
void hwInit() { MY_SERIALDEVICE.begin(MY_BAUD_RATE); while (!MY_SERIALDEVICE) {} Wire.begin(); }It will make the gateway halt the initialization until something connects to the USB device.
Be advised, that if you don't have it connected to a computer, then it will not start up correctly.. That is why you need to hack the core to enable it..
@tbowmo I'm using the serial sketch.
I have few issues (I think) :- when I want to upload a new sketch, first time after powering by computer, every led goes off and SBGW seems to be disconnected. When I unplug/plug, no led are on or blink, but detection is ok and I can upload a firmware.
- When I press RESET after connecting SBGW on my computer, all led goes off and SBGW disconnect.
And it doesn't seems to wait when I plug computer, led start blinking ...
-
have you installed the mysensors board files? And chosen the Sensebender Gateway as target platform?
(Seems that you are using Arduino/Genuino Zero as target?)
-
Yes, I have installed MYSensors boards but find only micro

So therefore, I tried another card.
//Mattias
-
Is it windows or linux? Linux (ubuntu) have a bad habit of letting modem manager snatch any ACM devices that is connected to the computer.
-
have you installed the mysensors board files? And chosen the Sensebender Gateway as target platform?
(Seems that you are using Arduino/Genuino Zero as target?)
Hi i get same error whit Sensebender Ga
Arduino:1.8.0 (Windows 10), Kort:"Sensebender Gateway" Build options changed, rebuilding all Sketch uses 46720 bytes (17%) of program storage space. Maximum is 262144 bytes. No device found on COM4 An error occurred while uploading the sketch Invalid version found: 1.04 Invalid version found: 1.04 This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.```No device found on COM4
But serial monitor works fine with COM4//Mattias
-
Hi i get same error whit Sensebender Ga
Arduino:1.8.0 (Windows 10), Kort:"Sensebender Gateway" Build options changed, rebuilding all Sketch uses 46720 bytes (17%) of program storage space. Maximum is 262144 bytes. No device found on COM4 An error occurred while uploading the sketch Invalid version found: 1.04 Invalid version found: 1.04 This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.```No device found on COM4
But serial monitor works fine with COM4//Mattias
-
@MLs In Device Manager what com port is assigned to the sensebender GW? Have you manually installed the inf file?
com4 is likely the last com port you used in the arduino interface not the one assigned to the GW.
-
@tbowmo : It's better for seeing debug from start.
But there is 2 bugs :- When you want to upload sketch. /dev/ttyACM0 disapear (and D4 goes off) afterunplu/plug it works for uploading sketch (D4 off) but at the end of uplaod ArduinoIDE makes a soft reset and /dev/ttyACM0 disapear. Works fine after plus/unplug (D4 ON)
- When pressing reset /dev/ttyACM0 disapear (and D4 goes off). Works fine after plug/unplug
-
No, I have not installed or selected com port.
Device Manager COM4
As I understood it so Windows 10 would fix everything, right?//Mattias
-
I don't have windows installed, so I'm sorry that I can't help with windows specifics.
-
I added a couple of udev rules, to stop modemmanager take control over the device
ACTION!="add|change|move", GOTO="local_usb_device_blacklist_end" SUBSYSTEM!="usb", GOTO="local_usb_device_blacklist_end" ENV{DEVTYPE}!="usb_device", GOTO="local_usb_device_blacklist_end" ATTRS{idVendor}=="1209", ENV{ID_MM_DEVICE_IGNORE}="1" LABEL="local_usb_device_blacklist_end"Add the above to this file /etc/udev/rules.d/mysensors.rules
As the USB is native in the arm processor, then it will re-enumerate on the USB port whenever a reset condition occurs. When you press the reset button it will act as a unplug / plug operation (you can see this in dmesg)
When uploading to the gateway, it will reset itself to enter bootloader.. The bootloader will have another VID/PID combo (VID:1209, PID:6448) than during normal operation (VID:1209, PID:6449).
I have never seen the problems that you are having, where you need to fysically unplug / plug the device, after you have pressed the reset button (or uploaded a new firmware). And I have uploaded firmware (and pressed the reset button) quite some times :)
Also please note, that if you double tap the reset button, the gateway will enter bootloader mode, and wait for a new sketch to be sent.