Hi,

I am trying to do inter robot communication using player stage and currently not having any success. Do you have any examples of how to use the blackboard proxy to send and receives messages? I have used several links on google and tried these example but I am getting an array of error messages, for instance I get a "FEHLER" message when i run this example I found;

#include <libplayerc++/playerc++.h>
#include <iostream>


#define KEY "SSL"
#define GROUP "JD"

using namespace std;
using namespace PlayerCc;


void On_First_Device_Event(playerc_blackboard *blackboard, player_blackboard_entry_t event)
{
        printf("First device event fired for key '%s'\n", event.key);
        printf("Key value = %d,%d,%d,%d\n", event.data[0], event.data[1], event.data[2], event.data[3]);
}

int main(int argc, char **argv)
{
    const char * key = strdup(KEY);;
    const char * group = strdup(GROUP);
    PlayerClient robot ("localhost", 6665);
    BlackBoardProxy bb (&robot, 0);
    bb.SubscribeToKey(key, group);
    player_blackboard_entry_t *entry = new player_blackboard_entry_t;
    memset(entry, 0, sizeof(entry));
    entry->key = strdup(KEY);
    entry->group = strdup(GROUP);
    entry->key_count = strlen(KEY) + 1;
    entry->group_count = strlen(GROUP)+1;
    entry->data = new uint8_t[4];
    entry->data[0] = 4;
    entry->data[1] = 3;
    entry->data[2] = 2;
    entry->data[3] = 1;
    entry->data_count = 4;
    bb.SetEventHandler(On_First_Device_Event); //it can be commented out, here it is just from demo.
    bb.SetReplaceRule(1);
    while(1)
    {
    bb.SetEntry(*entry);

    //Important: dummy reading to avoid queue overflow.
    //have to use it even you just set the entry.
    robot.ReadIfWaiting();


    entry->data[0] = entry->data[0]+1;
    usleep(30*1000);

    }



Any help would be greatly appreciated as I have got to do some important work that is due imminently.

Regards,

Matthew Tallyn