ms-iot / remote-wiring

A remote "Arduino Wiring" interface to control an Arduino compatible device from a Windows 10 Universal Windows Application. NOTE: The projects for Windows 8.1 and Windows Phone 8.1 are no longer maintained, but have been left in place to facilitate makers using those platforms.
https://microsoft.hackster.io/windowsiot/basic-windows-remote-arduino
MIT License
196 stars 123 forks source link

Arduino Mega not working with WRAE #120

Closed dflintt closed 7 years ago

dflintt commented 7 years ago

I've been trying to using an Arduino Mega (2560) with my raspberry pi. I uploaded standard firmata, and tried using windows remote arduino experience to connect to the board, in order to test that firmata is working correctly. However, it tells me the connection has failed, and asks if I've uploaded standard firmata.

Is this a common issue? I figured that it should at least be working for windows remote arduino experience, if not when it is hooked up to the pi.

I know this problem (or at least one similar) was mentioned in this thread:

https://github.com/ms-iot/remote-wiring/issues/80

specifically

"Coming back to this issue, I had a bit of time to debug it on the mega and partially solved the problem. From what I can tell, the mega has a lot more pins than the Uno and as such, takes a bit longer to count them all and build the capabilities. Thus, it would send a new request before giving the board time to complete the request which was sent before and never giving it time to actually respond.

In RemoteDevice.cpp, around line 497, I changed Sleep( delay_ms ); to Sleep( 1000 ); Obviosuly it is a temporary solution but at least it works."

I tried to implement this in my visual studio project (which has been verified to work with an arduino uno) However, since remote wiring is now installed via the simple nuget command (Install-Package Windows-Remote-Arduino), and the manual method doesn't appear to work, as it gave the following error when I tried to add the firmata and remote wiring references:

"a reference could not be added. primarywinmdoutputgroup parameter name output group not known or another build error occured"

Any advice?

IoTGirl commented 7 years ago

Hi @dflintt, It seems editing the RemoteDevice.cpp is the best way to use Remote Arduino with the Mega. This was discussed at https://social.msdn.microsoft.com/Forums/en-US/33ee6f83-fab8-43c0-8d28-b85d8347634a/arduino-mega-and-firmata?forum=WindowsIoT Sincerely, IoTGirl

dflintt commented 7 years ago

Sorry, I don't think I was clear enough. I know that this has been discussed, but my problem is that I can't edit RemoteDevice. See picture below:

image

The installation guide says to install windows remote arduino using the nuget package manager command (link here: https://github.com/ms-iot/remote-wiring/blob/develop/installation.md ). This adds the reference in the project, but clicking on it pops up the error message above. (This project has already been built, so that isn't the issue).

The alternative installation instruction is to import the microsfot maker firmata and microsoft maker remotewiring packages (which contain remote device) into the project and them add them as a reference. But that doesn't appear to work, as it is giving me the following error:

image

So I suppose to rephrase my question, do you know why this isn't importing correctly anymore? I followed the manual install instructions on the link above.

dflintt commented 7 years ago

@IoTGirl Just tagging you about my previous post since I'm not sure if you get notified. This is fairly urgent, and a response would really be appreciated.

mhmmtkls commented 7 years ago

Sleep ( 1000 ); does not work for me but Sleep( 200 ); works.

IoTGirl commented 7 years ago

Closing based on answer given by @DeveloperMK