Jump to content

ipcon_connect returns -4 (◾E_NO_CONNECT)


Austin71

Recommended Posts

I am creating a C++/MFC program to run the stepper motor.  I have included "ws2_32.lib" and "advapi32.lib" in the project properties (linker additional dependencies).

 

I am using the following defines:

 

#define HOST "localhost"

#define PORT 4223

#define UID "5W5jBJ" // Obtained from running brick viewer

I am using the following code, taken from the example code:

 

// Create IP connection

IPConnection ipcon;

ipcon_create(&ipcon);

 

// Create device object

Stepper stepper;

stepper_create(&stepper, UID, &ipcon);

 

// Connect to brickd

if (ipcon_connect(&ipcon, HOST, PORT) < 0)

{

  //returns -4

}

Everything compiles fine, but I can't connect.  I have loaded the brickd drivers for the stepper motor, and I can connect and run the stepper motor using brick viewer.

 

Any clues as to what I may be doing wrong?  Thanks.

 

Link zu diesem Kommentar
Share on other sites

Can I ask a follow up question?  Your suggestion worked and we are now able to run the stepper motor.  However, when execution of the following test block is finished, I have memory leaks.  Obviously, this block doesn't do anything except connect and release, but I wanted to isolate the memory leak problem:

 

---------------------

IPConnection ipcon;

ipcon_create(&ipcon);

 

Stepper stepper;

stepper_create(&stepper, UID, &ipcon);

 

stepper_disable(&stepper);

ipcon_destroy(&ipcon);

---------------------

 

My output windows shows:

 

Detected memory leaks!

Dumping objects ->

{586} normal block at 0x006E50C0, 4248 bytes long.

Data: <    5  6n    > 01 00 00 00 20 35 F6 C0 E0 36 6E 00 02 00 00 CD

Object dump complete.

 

Thank you for any advice.

Link zu diesem Kommentar
Share on other sites

The code does more than connect and release. You're calling stepper_disable which disables the stepper motor driver. You should call stepper_destroy instead. The memory leak comes from not calling stepper_destroy.

 

It seems that these destroy calls are missing in all our C/C++ examples. I'm going to fix that now.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...