I would appreciate anyone's thoughts on these issues:

I'm using a USB Hub which is working okay. The same one Gael recommended. 

1) Mac OSX won't allow me to have two Arduino windows open at the same time with MRLComm.  I can upload MRLComm into each Mega separately with no problem as the two port identities are coming up with no problem while using the hub.   As soon as I change the port number on the second Arduino window or file it changes the port number on the original Arduino window. This doesn't happen on windows. I get an error during upload if I upload MRLComm after creating a second Arduino file.  I tried that as an alternate way of getting around the problem.  What are other Mac users doing re: using both Arduinos at once?  I gather we still have to have two Arduino windows open at the same item or one of the Arduinos will disconnect. Please correct me if I am wrong in that assumption. I have tried renaming the second MRLComm file but then I get an error saying that it has to have the same folder name. 

2) In Windows I'm getting a frozen MRL every single time I run a python script.  I have to shut it down and restart it at the end of every servo movement or setting.  The Arduinos in Windows seem to stay connected, however and don't need to be restarted.  The movements are acting as they should. This is still happening since I upgraded from Windows 7 to Windows 10. 

The above issues happen with at least the last 5 versions of MRL.  I can't remember what happened in ancient MRL history. 

Any thoughts, observations would be appreciated. 

juerg

6 years 11 months ago

Can you provide an example script that results in freezing? Maybe upload it to your users script library?

I am on w10/64 with version 2141 and could verify.

Hi, Juerg.

It's so short I just posted it here. It's just a basic script to move servos for testing. It doesn't crash MRL on the Mac, just on Windows on my other laptop.  It works once before MRL freezes. My Windows computer is also 64 bit. 

 

arduino = Runtime.createAndStart("Arduino","Arduino")

 

arduino.connect("COM37")

 

servo = Runtime.createAndStart("Servo","Servo")

 

servo.attach(arduino,7)

 

servo.setMinMax(0,180)

 

servo.setRest(90)

 

servo.rest()

 

I have run your minimal script with only the change to the COM-port, it is COM3 with my machine.

I can move the slider of the servo and get logs in java:

[Servo] [INFO] servoMoveToMicroseconds servo Servo id 1 87.0->1441 us
[Servo] [INFO] servoMoveToMicroseconds servo Servo id 1 86.0->1431 us
[Servo] [INFO] servoMoveToMicroseconds servo Servo id 1 86.0->1431 us
[Servo] [INFO] servoMoveToMicroseconds servo Servo id 1 86.0->1431 us
[Servo] [INFO] servoMoveToMicroseconds servo Servo id 1 85.0->1420 us
 
no freezing so far.
 
I stopped and restarted mrl, then only executing your script and (beside some problems on the serial connection at the beginning which resolved on its own) I do get a normal behaviour of mrl.
 
my PC's USB is connected to a cheap china usb 4 port extender and the arduinos plug in there. My DeviceManager shows Com-ports 3 and 4, both list Arduino Mega 2560. No other stuff currently plugged  in to other USB ports on my machine.

My latest theories on MRL freezing on Windows after running script once is:- 

1) Bitdefender was blocking the incoming data from the Arduino; or

2) My Firewall was doing the same.

Have White-listed Arduino and MRL on both just in case.  

Still don't know what to do about that other Mac issue.  Interested to hear from other Mac users who've tried running two Megas at the same time in their inMoov.