ControlMotoDriver - calling method is crashing the whole app

Hello!



I’ve came accross with a strange issue while calling ControlMotoDriver using GrovePi library (dll).
</s><i> </i>sensorController.ControlMotoDriver(true); public void ControlMotoDriver(Boolean onoff) { if (onoff) { motor.drive1(100); motor.drive2(100); } else { motor.drive1(0); motor.drive2(0); } }<e>

Calling this method causes the whole application to crash (restart). Is there any known issues around that? Is there any possiblity that application is crashing because using wrong port on the GrovePi+?



Thank your for your kind help,

Nace

Hi Nace,



please help take a picture of whole setup. we can see if we can simulate the issue. thanks.



Bill

The setup has been established using your documentation: https://github.com/Seeed-Studio/AzureGroveKit



Grove GrovePi Port

D2 Grove - Temp&Humi Sensor

D3 Grove - PIR Motion Sensor

D4 Grove – Button

D5 Grove - Relay

A0 Grove - Sound Sensor

A1 Grove - Light Sensor

A2 Grove - Gas Sensor

I2C1 Grove - OLED Display 0.96"

I2C2 Grove - Mini I2C Motor Driver

[attachment=0]grove_setup_f.png[/attachment]
grove_setup_f.jpg

Dear Nace:

I have got your question. I’m assembling raspberry with GrovePi+ and other sensor to test it.And I will reply you as soon as possible.

Any progress on that? We’ve bought GrovePi+, because there is written that is can be used for fast prototyping - now we have bunch of problems, not only with Moto Driver, but with LCD display too…

Hi Nace, Sorry for the late response, we try to simulate the issue. but we stuck at some place. I talked with software team manager. He is looking at the issue now. thanks.



best rgds

Bill

Hi Nace,


No, the I2C Grove doesn’t care which I2C port you’re connecting it to, your problem might be caused by bad network communication to the Azure, in which case the program will throw an exception which is not catch-ed. I’ve updated the code to catch these exceptions. Please try our latest App bundle with instructions here: <LINK_TEXT text=“https://github.com/Seeed-Studio/AzureGr … /README.md”>https://github.com/Seeed-Studio/AzureGroveKit/blob/master/README.md</LINK_TEXT>

Dear xuguang shao!



I’ve updated my code with your improvements on Github. Now i am able to print out the error. After calling the following line: </s>sensorController.ControlMotoDriver(true);<e> i got this error:



“Sorry…The system cannot find the file specified. Slave address was not acknowledged. Contact us for help”



Otherwise the communication with Azure IoT HUB is working fine - we’ve already managed to establish a connection for other sensors (temp., hum., PIT, …).



What am i doing wrong? Please help.

Any progress on this? We’ve done some research and tried out some methods, but we are still unable to start the motor using GrovePi C# library.

I’ve successfully driven the Grove - Mini I2C Motor Driver, and there’s no same issue reported for this, so I can temporarily conclude that your issue isn’t a common one.


Could you share more informations about your research? Have you tried other I2C Groves e.g. Grove - OLED Display 0.96" ?



From the error message


What I get from the message is, the Grove - Mini I2C Motor Driver may be damaged. Have you tried to drive this Grove via an Arduino board? Or grab some board that can do I2C scan, does the Grove - Mini I2C Motor Driver respond to any I2C communications?