Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Germany
Asked — Edited

Mono Ezb.Connect Not Working

Hello, i tried to program my EZ Robot with C# under Ubuntu 15.04.


using System;
using EZ_B;

public class HelloWorld
{
public static void Main()
{
Console.WriteLine("Enter IP of EZ-Robot");
string ip = Console.ReadLine();
Console.WriteLine("IP: "+ip );
Console.WriteLine("trying "+ ip);
Console.WriteLine("trying to connect with " +ip);

//connecting
EZB _ezb = new EZB();
_ezb.Connect(ip);
Console.WriteLine("connecting...");
if (_ezb.IsConnected)
{
Console.WriteLine("[+] EZB connected at ip: " + ip);
}
else
{
Console.WriteLine("[-] EZB NOT connected at ip: " + ip);
}

}
}



Thats my code, but if i execute it...


patrick@patrick-X781X-X782X:~/ezrobot$ mono bsp.exe
Unknown heap type: #GUlD

Unknown heap type: #Blop

Enter IP of EZ-Robot
192.168.1.1
IP: 192.168.1.1
trying 192.168.1.1
trying to connect with 192.168.1.1
Missing method .ctor in assembly /home/patrick/ezrobot/EZ_B.dll, type System.Runtime.CompilerServices.ExtensionAttribute
Can't find custom attr constructor image: /home/patrick/ezrobot/EZ_B.dll mtoken: 0x0a00000a

Unhandled Exception:
System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'EZ_B'.
at HelloWorld.Main () [0x00000] in :0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'EZ_B'.
at HelloWorld.Main () [0x00000] in :0




There must be a mistake with the "ez.Connect" command....

Thanks for help, Patrick.

#13  
Please write a tutorial! That would be wonderful.

Alan
PRO
Synthiam
#15  
Fine tune offsets every servo position by the number provided.

This is to make a servo calibrate.

It does work in Windows.
#16  
Hi, I know what Fine Tune is:D
But it don´t work...
#17  

Code:

bsp.cs(27,14): error CS1056: Unexpected character `­'
bsp.cs(27,21): error CS1056: Unexpected character `­'
bsp.cs(27,25): error CS1056: Unexpected character `­'
bsp.cs(27,31): error CS1056: Unexpected character `­'
bsp.cs(27,31): error CS1525: Unexpected symbol `Fine', expecting `,', `;', or `='
bsp.cs(27,36): error CS1056: Unexpected character `­'
bsp.cs(27,42): error CS1056: Unexpected character `­'
bsp.cs(27,49): error CS1056: Unexpected character `­'
bsp.cs(27,55): error CS1056: Unexpected character `­'
bsp.cs(27,60): error CS1056: Unexpected character `­'
bsp.cs(27,70): error CS1056: Unexpected character `­'
bsp.cs(27,70): error CS1525: Unexpected symbol `5', expecting `,', `;', or `='
#18  
with this command

Code:

_ezb.­Servo.­Set­Servo­Fine­Tune(­Servo.­Servo­Port­Enum.D0, ­5);
PRO
Synthiam
#19  
I just ran that command with no errors - are you executing that method before or after the ez-b is connected?
#20  

Code:

using System;
using EZ_B;

public class HelloWorld {

static EZB _ezb;

public static void Main() {

_ezb = new EZB();

Console.WriteLine("Connecting to EZ-B v4...");

_ezb.Connect("192.168.1.1");

if (!_ezb.IsConnected) {

Console.WriteLine("Unable to connect to EZ-B v4");

return;
}

Console.WriteLine("Hello World, I am moving servo d0 to position 90!");

_ezb.Servo.SetServoPosition(Servo.ServoPortEnum.D0, 90);
_ezb.­Servo.­Set­Servo­Fine­Tune(­Servo.­Servo­Port­Enum.D0, ­5);

_ezb.Disconnect();
}
}
PRO
Synthiam
#21  
Setting the fine tune after the servo position is set is backward approach.

Try this...

Code:


using System;
using EZ_B;

public class HelloWorld {

static EZB _ezb;

public static void Main() {

_ezb = new EZB();

_ezb.­Servo.­Set­Servo­Fine­Tune(­Servo.­Servo­Port­Enum.D0, ­5);

Console.WriteLine("Connecting to EZ-B v4...");

_ezb.Connect("192.168.1.1");

if (!_ezb.IsConnected) {

Console.WriteLine("Unable to connect to EZ-B v4");

return;
}

Console.WriteLine("Hello World, I am moving servo d0 to position 90!");

_ezb.Servo.SetServoPosition(Servo.ServoPortEnum.D0, 90);

_ezb.Disconnect();
}
}


Set the fine tune before you use the servos - because that's an offset which the servos will require.

PS, thanks for wrapping your code:D Much easier for my eyes!
#22  
I tried exactly the same code as you posted, but the same error:

[u]bsp.cs(12,14): error CS1056: Unexpected character `­'
bsp.cs(12,21): error CS1056: Unexpected character `­'
bsp.cs(12,25): error CS1056: Unexpected character `­'
bsp.cs(12,31): error CS1056: Unexpected character `­'
bsp.cs(12,31): error CS1525: Unexpected symbol `Fine', expecting `,', `;', or `='
bsp.cs(12,36): error CS1056: Unexpected character `­'
bsp.cs(12,42): error CS1056: Unexpected character `­'
bsp.cs(12,49): error CS1056: Unexpected character `­'
bsp.cs(12,55): error CS1056: Unexpected character `­'
bsp.cs(12,60): error CS1056: Unexpected character `­'
bsp.cs(12,70): error CS1056: Unexpected character `­'
bsp.cs(12,70): error CS1525: Unexpected symbol `5', expecting `,', `;', or `='
Compilation failed: 12 error(s), 0 warnings
[/u]
PRO
Synthiam
#23  
Not sure where those errors are coming from - but looks like something broken in Mono (not surprising). Try reinstalling mono? Ensuring you have the latest version and dependencies? There are no known issues with the entire EZ-Robot mono library - i ran the entire test last night.

When googling the error "error CS1056", it could be caused by a European character in code: https://msdn.microsoft.com/en-us/library/59k0x971.aspx

Mono, like most programming languages, it not friendly to all character sets. Given that it's complaining about the commas "," and semicolons ";" or something.
PRO
Synthiam
#24  
It indeed looks like strange unicode characters in your code. For example, when i copy and paste the errors that you posted into Notepad.exe, this is what i see.

User-inserted image


Notice how after filtering the code that you posted through notepad (Which removes any bits outside of the ascii-7 charset), displays different errors.

Somehow, your keyboard is putting strange characters into the code while you type.
#26  
Hi

i googled and found that somebody installed Mono 4.0 and it worked.
On the Mono homepage i found "Mono develop". A very useful program.

Could be "Visual Studio Lite" for Linux:D

But there are still the same errors. With the newest Mono version....

I´ll try something else tomorrow, by me it´s 11:48 PM

Good night, and thanks for your time;)
#27  
Hi,

I am using Ubuntu 15.04. With german keyboard layout.



I am woundering about, that if i delete this line

Code:

_ezb.­Servo.­Set­Servo­Fine­Tune(­Servo.­Servo­Port­Enum.D0, ­5);


it compiles without no warnings.






Code:

using System;
using EZ_B;

public class HelloWorld {

static EZB _ezb;

public static void Main() {

_ezb = new EZB();

_ezb.­Servo.­Set­Servo­Fine­Tune(­Servo.­Servo­Port­Enum.D0, ­5);

Console.WriteLine("Connecting to EZ-B v4...");

_ezb.Connect("192.168.1.1");

if (!_ezb.IsConnected) {

Console.WriteLine("Unable to connect to EZ-B v4");

return;
}

Console.WriteLine("Hello World, I am moving servo d0 to position 90!");

_ezb.Servo.SetServoPosition(Servo.ServoPortEnum.D0, 90);

_ezb.Disconnect();
}
}

if i use this code, there are the errors i posted....
PRO
Synthiam
#28  
I think it's because the line was typed vs copy and pasted. It's going to be difficult for me to diagnose this one because I don't have a German keyboard or am I on the mono development team. They sadly do not have a great forum for assistance. Can you change the character set of your Linux installation to USA keyboard? That seems to be mono's solution to this.
PRO
Synthiam
#29  
There's an update to the mono library, which includes a more efficient camera thread, audio thread, and Auto Position thread.
#30  
Hi,


I have also no English keyboard... :/
But I found an old (very old) Panasonic Toughbook CF29 with Englisch keyboard. I´ll try later with an englisch installed Kali Linux.
Thanks for your time!:D
PRO
Synthiam
#31  
Anytime:)

It might also be the selected character set in the operating system - not just the keyboard.
#32  
lol, if I set the keyboard layout to "EN" and write the

Code:

_ezb.Servo.SetServoFineTune(Servo.ServoPortEnum.D0, 5);
with EN settings, it compiles. So I have to set only the keyboard layout.

Difficult to find the right keys :D;)


Thanks for your great time and help:D



Lol, I want to work at ezrobot:D