none
Problema con puerto Gps en Win CE RRS feed

  • Pregunta

  • Tengo una aplicacion para registro de geoposiciones y funciona bien, pero tambien tengo un programa para la toma de pedidos, cuando se realiza un pedido el programa del gps se queda registrando el mismo punto, cosnstrui un programa para ver el estado del puerto y lo que ocurre es que el puerto COM3 del gps se queda congelado... e cambiado el puerto y siempre sucede lo mismo..... alguna sugerencia????
    viernes, 18 de mayo de 2012 17:13

Todas las respuestas

  • ¿aun tienes el problema?

    André ;)

    lunes, 23 de julio de 2012 21:45
  • Hola André.

    Si aun persiste mi problema.... todos los ejemplos de programas para gps incluso los comerciales se quedan pegados.... el unico que no se traba es el software demo que tiene la pagina de SIRF; que es el fabricante del chip que tiene mi device.

    Saludos

    lunes, 23 de julio de 2012 21:53
  •  ¿ dices que se queda pegado el puerto?

    ¿ pero tu tienes abierto el puerto del GPS y luego intentas consultarlo nuevamente?

    coloque mas informacion de tu problema, asi puedo ayudarte con mas claridad.

    Saludos


    André ;)

    lunes, 23 de julio de 2012 22:17
  • El esenario es el siguiente:

    Tengo un programa comercial para ingresar pedidos y tengo otro programa para ir grabando las geoposiciones cada minuto (este lo hice yo); cuando dejo trabajando solo el sistema gps, este funciona perfectamente; pero cuando esta funcionando el otro sistema(pedidos); mi gps se queda grabando el mismo punto.

    Isntale otro programa para ver el status de los puertos y al grabar un pedido los puertos se congelan por un instante y esto hace que el gps se quede grabando el mismo punto(esto no sucede siempre; a veses se piden pedidos y el gps sigue funcionando).

    He probado cambiendo los puertos, cambiando el baudrate, y siempre sucede esto... una vez congelado el gps no puedo hacer que se vuelva a iniciar, ni siquiera matando el proceso.... siempre tengo que reiniciar el dispocitivo.

    Prove con otros programas para capturar las geoposiciones y siempre pasa lo mismo; el unico que no se queda congelado es uno que baje de la pagina web del fabricante del chip.

    El chip es un sirfIII.

    Slds.

      

    lunes, 23 de julio de 2012 22:31
  • Hola.

    Creo yo que como el software de Pedidos no esta hecho por ti, no sabes como esta siendo desarrollado( a menos que sepas como esta hecho y este no interfiere en ningun puerto del dispositivo).

    La configuracion de los puertos y los baudrate deben ser dependiendo del fabricante.

    Cuando dices que el puerto se queda pegado, lo haces por programación, verdad? y no es posible cerrar el puerto?

    He trabajado con muchos dispositivos y no me habia pasado algo parecido con el puerto "congelado", creo a mi parecer debe haber un conflicto ocasionado con el otro software de pedidos, porque tu debieses verificar si el puerto esta disponibles, abrir el puerto en caso que este cerrado, luego capturar la posicion y cerrar el puerto.

    ¿el otro software usa impresora movil?

    ¿que dispositivo estas usando?


    André ;)

    martes, 24 de julio de 2012 13:27
  • Hola.

    Si verifico que el puerto este disponible; de echo el gps comienza a grabar los datos antes de ejecutar el sistema de pedidos...

    Cuando se queda congelado es imposible cerrarlo, aun matando todos los procesos.... siempre hay que reiniciar el dispositivo....

    Utilizo una handheld Intermec cn4.

    El software de pedidos es algo viejo; Creo que esta echo en interdev o vb 6.0 o anterior.

    El sistema de pedidos puede utiliza impresor para emitir facturas.

    Intente mantener el puerto abierto exclusivo solo para el gps, con esto protendia que el sistema de pedidos me diera algun error pero nada, siempre se bloquea....

    tenemos como 20 dispositivos y en todas ocurre lo mismo solo que la ocurrencia varia entre dispositivos....

    lo curioso es que el unico software de gps que no se bloquea es el sirfdemo.

    martes, 24 de julio de 2012 14:08
  • Ok. revisando tu comentario. me parece muy raro.

    Yo he trabajado con los intermec cn50 y son de la misma linea del cn40 sin problemas,

    me entra una duda, tu app del GPS que hiciste, como trabaja?Me refiero a como esta programada?

    Porque me tinca que para que todo se bloquee es poque claramente esta haciendo interferencias y el software de Pedidos y el tuyo, quieren hacer uso de recursos que los dos utilizan y Plop!

    Bueno cuando he hecho app con interaccion de GPS, son hechos por Hilos y trabajo de fondo, por ejemplo delegados que corren siempre por detras y verificando que nada lo puedo obstruir.

    ¿cuentame como esta hecho tu app?

    Saludos.


    André ;)

    martes, 24 de julio de 2012 18:35
  • el sistema esta echo en c#.

    Utilizo la libreria ejemplo de la microsoft. (location.dll); para obtener las lecturas y los satelites. 

    Ejemplo:

    En el load:

      updateDataHandler =

    new EventHandler(UpdateData);

                gps.DeviceStateChanged +=

    new DeviceStateChangedEventHandler(gps_DeviceStateChanged);

                gps.LocationChanged +=

    new LocationChangedEventHandler(gps_LocationChanged);

    if (!this.gps.Opened)

                {

    this.gps.Open();

                }

                OpenCOM();

    protected void gps_LocationChanged(object sender, LocationChangedEventArgs args)

            {   position = args.Position;

    Invoke(updateDataHandler);

            }

    void gps_DeviceStateChanged(object sender, DeviceStateChangedEventArgs args)

            {

               device = args.DeviceState;

                 Invoke(updateDataHandler);

            }

    void UpdateData(object sender, System.EventArgs args)

            {

    if ((position.LatitudeValid) && (position.LongitudeValid))

       {

                             

       ///escribo el archivo

        }

    }

    Este seria un estracto de lo que hace....

    Como te menciono, probamos con unos gps comerciales como el ontrack y les sucede el mismo problema....

    martes, 24 de julio de 2012 21:01