logo logo
Inicio arrow Foros...
Monday, 29 de December de 2008
 
 
English English  Español Español  
Próximos Eventos
10.Jun. 2009

IWANN 2009
Salamanca, Spain
11.Jun. 2009

Toward a Science of Consciousness
Hong Kong, China
15.Jun. 2009

International Workshop on Machine Consciousness
Hong Kong, China
15.Jun. 2009

The 8th IEEE International Conference on Cognitive Informatics
Hong Kong, China
22.Jun. 2009

IWINAC 2009
Santiago de Compostela, Spain
Etiquetas
Análisis Artificial Associations Científicos Conciencia Consciencia Consciencia Artificial Conscientes Consciousness Developer Documentación Documentation Español Howto Investigación Publicaciones Reviews Robotics Robots Robótica Spanish Studio VPL artificial
Destacados
Conscious-Robots.com Forum  


Raúl
Moderador

Moderador
Mensajes: 443
graph
Karma: 6  
Re:Dudas con el dashboard - 2008/08/18 08:59 Hola,

Lo primero, es que si estás usando un servicio que implementa GenericDifferentialDrive y este se está ejecutando cuando lanzas el SimpleDashboard deberías verlo en la lista de servicios que aparecen (una vez que te has conectado al nodo DSS).

En cualquier caso, te cuento como puedes hacer para controlar los servicios que aparecen en las lista del SimpleDashboard (por cierto, también puedes ver como lo he modificado yo en mi CraniumDashboard, que está incluido en la descarga de la aplicación ExplorerSimSonar).

En el proyecto del servicio SimpleDashboard hay un archivo que se llama DriveControl.cs. En ese archivo encontrarás un método que se llama ReplaceDirectoryList:

Code:

 public void ReplaceDirectoryList(ServiceInfoType[] list)



Este método se encarga de rellenar la lista de servicios que se presentan al usuario en la GUI de SimpleDashboard. Mira un ejemplo de mi código para que veas como he añadido el servicio de sonar:

Code:

 foreach (ServiceInfoType info in list) {     if (info.Contract == sicklrf.Contract.Identifier ||         info.Contract == drive.Contract.Identifier ||         info.Contract == arm.Contract.Identifier ||         info.Contract == pxsonar.Contract.Identifier )     {            Uri serviceUri = new Uri(info.Service);            listDirectory.Items.Add(serviceUri.AbsolutePath);     } }



Por lo tanto, sólo tienes que añadir tu servicio en este foreach. Te decía antes que el drive tiene que aparecer porque ya es la segunda condición del if, después del LRF..

Luego tienes que controlar qué pasa cada vez que el usuario hace doble clic en un elemento de esa lista (la lista de servicios), para eso mira el método listDirectory DoubleClick:

Code:

 private void listDirectory_DoubleClick(object senderEventArgs e)



En el caso de un servicio que implemente drive, se hace lo siguiente:

Code:

 if (info.Contract == drive.Contract.Identifier) {      _eventsPort.PostUnknownType(new OnConnectMotor(thisinfo.Service)); }



Bueno, en definitiva el tema es que para modificar el Dashboard que viene con MSRS tienes que entender todo este código... O al menos como funcionan estos métodos. Ya me contarás que tal te va..
Saludos,
Raúl.
Raúl Arrabales Moreno. conscious-robots.com/raul
  El administrador ha deshabilitado la escritura de mensajes a los usuarios no registrados.

      Temas Autor Fecha
    thread link
Dudas con el dashboard
sutaro 2008/08/18 05:25
    emo
thread linkthread link Re:Dudas con el dashboard
Raúl 2008/08/18 08:59
Titulares RSS
 Conscious Robots RSS FeedFuente RSS de Conscious Robots





¿Recuperar contraseña?
¿Quieres registrarte? Hazlo aquí
Mensajes en el Foro
 
Top! Top!