#861
|
||||
|
||||
Procesos que sigue nuestro GPS, sacado de un log, para que veais que orden de cosas ejecuta siempre:
Cita:
LCSAPI_D: SUPL (suplapi_setserver): supl_server = www.spirents-lcs.com:7276
LCSAPI_D: SUPL (suplapi_setid): IMSI:12046100126726F9 LCSAPI_I: LBS : lcsapi_setlbsmode (0) LCSAPI_D: SUPL (suplapi_setserver): supl_server = www.spirents-lcs.com:7276 LBS_I: API: gllbs_gps_request_assistant_data(1, 0x2) LBS_I: CB: RIL request 2 LCSAPI_D: LCSAPI: GpsHalLcsApi_send_reqcellid (session: 0) LBS_D: Assistance data requested: RL get_wakelock 1 Power enable delay: 80ms GpsHalGpioSet LPmode set none /sys/power/lpaudio_lock <-el LPmode sigo sin saber que es.. ¿sonido? asic com thru TTY GpsHalPlatfTTYOpen("/dev/s3c2410_serial1",115200) <- acPortName / lBaudRate. $113423I @(#)Broadcom GLL ver. 2.16.4 79266, 2010/Jul/13, 06:12:01, //depot/client/core/rel/v16 GLL @79266 $113423I SetLogFacMask(0x00000003) <-LogPriMask $113423I SetLogPriMask(0x000000FF) <-LogFacMask $113423I GL_RF_TYPE(12) GL_FREQ_PLAN(8) - 16800,2000,100,-,10000,TCXO, 3 dB <-RfSAtt $113423I DYN_MODE(P) <-PEDESTRIAN $113423I FeatureSet 00 $113423I SBAS high $113427I <GlPeTimeManager><Reset> $113443I sensor set 1 $113462D GlEngineImplStd::Finished loading components $113462I StartRequest GL_REQ_PERIODIC(0016BB54) cb=(SNRCTP ydlT) acc=21 (máscara de accuracy... 50 es el valor standard... se cambia en el secgps.conf) per=1 timeout=-1 $113462I $113479I GlReqSm: add pend req GL_REQ_PERIODIC ok LBS_I: API: gllbs_gps_request_assistant_data(0, 0x7) LBS_I: CB: RIL request 2 LCSAPI_D: LCSAPI: GpsHalLcsApi_send_reqcellid (session: 1) LBS_D: Assistance data requested: RL RT NV LBS_D: LBS state changed: 0 -> 1 <-Activa el Lbs de Server LBS_I: CB: conn_req LBS (GpsHalLbsSyncCellsToLocalDB): sync_lto=1403908, sync_cells to Local DB <-Lectura local LBS_I: API: gllbs_sync(0, 0, 65536) LCSAPI_D: LCSAPI: suplapi_setreflocation (session: 0) LBS_I: API: gllbs_ril_notify(2, 0) LBS_I: API: gllbs_ril_notify(WCDMA,1)(214,1,14693189) LCSAPI_D: LCSAPI: suplapi_setreflocation (session: 1) LBS_I: API: gllbs_ril_notify(2, 0) LBS_I: API: gllbs_ril_notify(WCDMA,1)(214,1,14693189) LBS: Error resolving address from (null) <-No hay conexión LBS_I: API: gllbs_os_connected(-2 LBS_D: LBS state changed: 1 -> 0 <-Cambia el sistema Lbs de Server a Local... $113527I 4751 A1 detected! <- nuestro chip GPS $114186I GlMeasEng: RTC Valid(329231.201172 ms, 988886, 0) $114186I GlPosEng::AsicStarted(92, 1318117, 0, 236, 1, 62.458198, 1318.092102, 1) $114186I Start reading NVRAM ... (archivo gldata.sto) $114187I NVRAM SetDataToIgnore(0x200[0x0]) NVRAM file [/data/gps/gldata.sto] opened for reading $114320I --GlPeTimeManager::RecoverFromSleep[(0 - 0)2^32+[1318117-988886] (1000000Us)](329.231000 s) OK $114320I --GlPeTimeManager::SetCurentAsicLms([92, 1624, 117723084 1000000]) OK Empieza a leer los datos que el LTO y el XTra.bin le han descargado al gldata $114320I Read NVRAM Ephemeris(3) $114321I Read NVRAM Ephemeris(6) $114321I Read NVRAM Ephemeris(11) $114321I Read NVRAM Ephemeris(14) $114321I Read NVRAM Ephemeris(19) $114322I Read NVRAM Ephemeris(20) $114322I Read NVRAM Ephemeris(21) $114323I Read NVRAM Ephemeris(22) $114323I Read NVRAM Ephemeris(24) $114323I Read NVRAM Ephemeris(32) $114324I Serialize REFPOS: (41.426871, 2.148898, 162.956873)(0) OK $114325I Read NVRAM REFPOS: (41.426871, 2.148898, 162.956873) $114325I OSC_STORE read 571 ppb (0)[117392853, 1624] $114325I OSC_UPDATE read 571 ppb (98)(98) TimeValid Y $114325I Read NVRAM Almanac(2) $114326I Read NVRAM Almanac(3) $114326I Read NVRAM Almanac(4) $114326I Read NVRAM Almanac(5) $114326I Read NVRAM Almanac(6) $114327I Read NVRAM Almanac(7) $114327I Read NVRAM Almanac(8) $114327I Read NVRAM Almanac(9) $114327I Read NVRAM Almanac(10) $114344I Read NVRAM Almanac(11) $114344I Read NVRAM Almanac(12) $114344I Read NVRAM Almanac(13) $114351I Read NVRAM Almanac(14) $114352I Read NVRAM Almanac(15) $114352I Read NVRAM Almanac(16) $114352I Read NVRAM Almanac(17) $114353I Read NVRAM Almanac(18) $114353I Read NVRAM Almanac(19) $114353I Read NVRAM Almanac(20) $114353I Read NVRAM Almanac(21) $114354I Read NVRAM Almanac(22) $114354I Read NVRAM Almanac(23) $114354I Read NVRAM Almanac(24) $114354I Read NVRAM Almanac(25) $114355I Read NVRAM Almanac(26) $114366I Read NVRAM Almanac(27) $114367I Read NVRAM Almanac(28) $114371I Read NVRAM Almanac(29) $114371I Read NVRAM Almanac(30) $114372I Read NVRAM Almanac(31) $114372I Read NVRAM Almanac(32) $114372I LTO BadSvs $114373I NVRAM UnitId 236 OK Closed NVRAM file $114373I UTC Offset 15000 ms <-Tiempo de conexion con el server NTP $114374I NVRAM reading complete. Start reading LTO ... este LTO es el que nosostros podemos descargamos para poder tener una ephemerides LOCAL LTO file [/data/gps/lto.dat] opened for reading (fd=32) Closed LTO file (fd=32) $114668I LTO reading complete. $114669I Start reading CBEE file ... Esto esto secreto... EE file [/data/gps/cbee.cbee] opened for reading (fd=32) Closed EE file (fd=32) $114669I CBEE file reading complete. Hasta aquí ya ha leido los Almanaques/Ephemerides...y ya tiene los datos para empezar a calcular posiciónes $114669I ReqBag(3): hdlr[0] Type=0 Acc=21 TmOut=-1 TmLeft=0 $114669I ReqBag(9): hdlr[0] Type=0 Acc=21 TmOut=-1 TmLeft=0 $114669I GlReqSm: add actv req GL_REQ_PERIODIC ok $114669I GetAccuracymask()[0] = 21 0 write to com port $115188I GetAccuracymask()[0] = 21 &115188E PEND ASST_STAT {apntm}GL_NMEA[$GPGGA,084148.98,,,,,0,00,300.0,,M,,M,,*65 A partir de aquí datos, MNEA... tantos como satélites encuentre fije o no fije ..... Una vez no encuentra más, vuelve a cargar datos $120197I ReqBag(3): hdlr[0] Type=0 Acc=21 TmOut=-1 TmLeft=0 $120197I ReqBag(9): hdlr[0] Type=0 Acc=21 TmOut=-1 TmLeft=0 $120198I GL100 Tim [ 2011-Feb-21 08:41:53.984000, +/- 1 sec ] $120198I GL100 Pos [ 41.4268706525635 2.14889849601672 163 ] $120198I GL100 Alm [ 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ] $120198I GL100 Eph [ 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ] $120198I GL100 Aid [ 03 06 11 14 19 20 22 24 28 32 ] $120837I GL_REQ StopAllRequests $120837I GlReqSm: terminate all requests &120837I GL_NMEA[$PGLOR,FIN,0*37 $120837I RequestDone GL_REQ_PERIODIC(0016BB54) cb=(SNRCTP ydlT) acc=21 per=1 timeout=-1 $121189I --GlPeTimeManager::SetCurentAsicLms([6992, 1624, 117729984 1000000]) OK $121189I Start writing to NVRAM... NVRAM file [/data/gps/gldata.sto] opened for reading $121192I Serialize REFPOS: (41.426871, 2.148898, 162.956873)(0) OK $121192I Read NVRAM REFPOS: (41.426871, 2.148898, 162.956873) $121192I Skip reading oscillator $121197I NVRAM UnitId 236 OK Closed NVRAM file $121198I UTC Offset 15000 ms Created NVRAM file $121200I Write NVRAM Time([1624 117729984],1000000) (1325017, 0) $121201I Write NVRAM Ephemeris(3) $121201I Write NVRAM Ephemeris(6) $121201I Write NVRAM Ephemeris(11) $121201I Write NVRAM Ephemeris(14) $121201I Write NVRAM Ephemeris(19) $121202I Write NVRAM Ephemeris(20) $121202I Write NVRAM Ephemeris(21) $121202I Write NVRAM Ephemeris(22) $121202I Write NVRAM Ephemeris(24) $121202I Write NVRAM Ephemeris(32) $121203I Serialize REFPOS: (41.426871, 2.148898, 162.956873)(0) OK $121203I OSC_STORE stored 571 ppb (98, 2000) [117723084, 1624] $121203I Write NVRAM Almanac(2) $121204I Write NVRAM Almanac(3) $121204I Write NVRAM Almanac(4) $121204I Write NVRAM Almanac(5) $121204I Write NVRAM Almanac(6) $121205I Write NVRAM Almanac(7) $121205I Write NVRAM Almanac(8) $121205I Write NVRAM Almanac(9) $121205I Write NVRAM Almanac(10) $121205I Write NVRAM Almanac(11) $121205I Write NVRAM Almanac(12) $121206I Write NVRAM Almanac(13) $121206I Write NVRAM Almanac(14) $121206I Write NVRAM Almanac(15) $121206I Write NVRAM Almanac(16) $121207I Write NVRAM Almanac(17) $121207I Write NVRAM Almanac(18) $121207I Write NVRAM Almanac(19) $121207I Write NVRAM Almanac(20) $121208I Write NVRAM Almanac(21) $121208I Write NVRAM Almanac(22) $121209I Write NVRAM Almanac(23) $121209I Write NVRAM Almanac(24) $121209I Write NVRAM Almanac(25) $121209I Write NVRAM Almanac(26) $121209I Write NVRAM Almanac(27) $121210I Write NVRAM Almanac(28) $121210I Write NVRAM Almanac(29) $121210I Write NVRAM Almanac(30) $121210I Write NVRAM Almanac(31) $121210I Write NVRAM Almanac(32) Closed NVRAM file $121212I GlMeasEng::SetRtc(6992 1325017 0 42, Valid) $121212I <GlMeasEng::SetNvmem>[snr=-2,Fail=F][bBinCtr=F/F][bBinDir=-/-] $121212I NVRAM write complete UnitId 42 (Clear 0x0) $121219I GlPosEng::AsicStopped() get_wakelock 0 GpsHalGpioClear LPmode set none /sys/power/lpaudio_lock .... Esto lo haria una primera vez que conectas, pero la segunda descarta los LTO, y utiliza lo almacenado en el gldata.sto, hasta que no conecta con algun satélite, a modo de verificación... Última edición por chetodann Día 21/02/11 a las 12:04:42. |
|
#862
|
||||
|
||||
La verdad es que solo puedo agradecer el compromiso que dais al tema, el GPS va a resultar al final plenamente funcional, con el Fix 7 a mi ya me funciona practicamente perfecto.
Tengo entendido que la limitación de precisión en pasos de 5 en 5 metros se debe a la frecuencia de uso de la librería. ¿Esto no se puede modificar? Pregunto desde la curiosidad, para saber si, quizás, el siguiente paso a atacar podría ser ese. La precisión de 5 metros está bien, te sobra para ir conducir sin problemas, lo malo es que a veces sube a 10 y esto deja de estar tan bien. Si los pasos fuesen de 2 en 2, el cambio de 4 a 6 metros no sería tan traumático. Pero bueno, que ahora mismo estoy dando palmas con las orejas. Tengo un Galaxy S de Septiembre de 2010 y con el mod de la antena con estaño y esta currada de fix, he pasado de tener una precisión de 85 metros (con suerte) a 5 metros practicamente constantes, con saltos a 10 en calles muy estrechas. Medido en un VW Golf de 2009. Un saludo y lo dicho, muchas gracias. La verdad es que el BCM4751 de nuestro GPS no tiene soporte WASS/EGNOS, de ahi esa limitación a 5m. Los calculos los realiza en base a unos valores extremos 5m,10m,15m, es decir, el cálculo que realiza le da una precisión de X mts, de por ejemplo 6m, y el chip tira hacia el valor extremo más alejado, que serian 10m... si da 2 (jejeje) ,3,4, nos marca 5,... no sé si me explico... es como redondear a lo seguro... A parte, el 4751 esta destinado al nuevo formato de localización QZSS, que si dará un precisión de... cm.. segun dicen ellos claro!!!, que de momento, creo, sólo esta en Japon... es lo que tiene ir demasiado deprisa... |
#863
|
||||
|
||||
No se puede sin el codigo fuente de la libreria... esto tiene que ver con el alogarítmo de cálculo que implementa el GPS... vamos a decir que es el barato del mercado...
La verdad es que el BCM4751 de nuestro GPS no tiene soporte WASS/EGNOS, de ahi esa limitación a 5m. Los calculos los realiza en base a unos valores extremos 5m,10m,15m, es decir, el cálculo que realiza le da una precisión de X mts, de por ejemplo 6m, y el chip tira hacia el valor extremo más alejado, que serian 10m... si da 2 (jejeje) ,3,4, nos marca 5,... no sé si me explico... es como redondear a lo seguro... A parte, el 4751 esta destinado al nuevo formato de localización QZSS, que si dará un precisión de... cm.. segun dicen ellos claro!!!, que de momento, creo, sólo esta en Japon... es lo que tiene ir demasiado deprisa... Supongo que librerías libres de ese chip no existen para poder crear unos drivers nuevos ¿no es así? Vamos, que estamos condenados a la chapucería Samsungiana . En otro orden de cosas, entonces en modo MS Assisted, que es el que recomiendas, el lto.dat no lo podrá bajar automáticamente, según he podido entender, por lo que seguiriamos necesitando el lto downloader, corrigeme si me equivoco. Pues nada, curiosidad saciada, muchas gracias y esperando con ganas el Fix v8. Última edición por gatoh Día 21/02/11 a las 12:08:09. |
#864
|
||||
|
||||
Me sorprende que hasta el HTC Wildfire de mi novia llegue a precisiones de 2 metros sin despeinarse con picos altos de 6 y nosotros estemos anclados en 5 constantes con el buque insignia de Samsung. Aún así, esto solo se refiere al calculo de la precisión ¿no? quiero decir, que la precisión del GPS es realmente de, pongamos, 3 m, aunque el algoritmo envía que son 5 para no pillarse los dedos, pero en unas coordenadas realmente te está situando con un error de 3 metros, si es así, no veo el problema. Me imagino que no será así, pero bueno, por preguntar..
Como ya he dichio el Alogaritmo que llevamos es el barato... me explico, BROADCOM oferta una serie de servicios (que incluye CHIP, alogaritmo, sistema de servidores, SUPL,...), con una serie de precios a cual más alto según sea el servicio... Samsung ha cogido la opción más barata: Cntin/SBASS con opción futura a QZSS... Si el HTC te da 2m. debe llevar seguramente WASS/EGNOS... No, con el MS Assisted descarga (con wifi/datos) ambos ,el Lto y el Xtra... pero este lo descarga cuando lo necesita realmente (1 dia, 2 ,7,nunca,...? )... es por eso que el Jupiter que subiré en breve, le ponedré cada cuanto se lo descargará... que seguramente seran 3 dias. Un slaudo Última edición por chetodann Día 21/02/11 a las 13:01:19. |
#865
|
||||
|
||||
Entonces la solución es genial, esperando que lo subas para probar impresiones! gracias por contestar a todo.
Un saludo. |
#866
|
||||
|
||||
Chetoann, y hay mejoras en cuanto a la navegacion y el lag?
Saludos |
#867
|
||||
|
||||
Perdon por plantear una duda que debería de estar superada, pero creía que el modo optimo para el GPS era el MS BASED (intermedio entre el STANDALONE Y el ASISTED)...pero parece que ahora hablais todos del MS ASISTED.
Entonces, es correcto que si uso el GPS con datos para facilitar la conexion/fijacion inicial tengo que ponerlo en MS ASISTED ¿? o el modod BASED es el mejor aun este caso ¿? |
#868
|
||||
|
||||
Perdon por plantear una duda que debería de estar superada, pero creía que el modo optimo para el GPS era el MS BASED (intermedio entre el STANDALONE Y el ASISTED)...pero parece que ahora hablais todos del MS ASISTED. Entonces, es correcto que si uso el GPS con datos para facilitar la conexion/fijacion inicial tengo que ponerlo en MS ASISTED ¿? o el modod BASED es el mejor aun este caso ¿?
El MS ASSITED es el único que descarga el LTO y el XTRA.BIN, por eso lo recomiendo ahora... per ocualqueira de ellos es bueno para utilizar... l oque pasa que estamos limitados a la Ephemerides/alamanques de que dispongamos... |
#870
|
||||
|
||||
Dios!!! Estás a todo!!! jejeje
Con lo coñazo que es probar el GPS (que no es nada fácil de testear) no sé ni como has llegado hasta donde estamos ahora... |
#871
|
||||
|
||||
@chetodann ¡Hola! Tío ¿me puedes confirmar el driver del GPS que estás usando en tu FIX? Si no estoy mal es el driver del Captivate ¿no? Es que creo haber descubierto por qué el la inyección nativa que utilizo en el GPS Aids no va en el algunos dispositivos. Resulta que @julianico utiliza tu fix y desde el principio nunca le funcionó, ahora lo ha quitado y le va. Entonces me he puesto a mirar logs y resulta que al poner el driver del captivate algo se rompe y no inyecta. ¡Gracias!
|
#872
|
||||
|
||||
@chetodann ¡Hola! Tío ¿me puedes confirmar el driver del GPS que estás usando en tu FIX? Si no estoy mal es el driver del Captivate ¿no? Es que creo haber descubierto por qué el la inyección nativa que utilizo en el GPS Aids no va en el algunos dispositivos. Resulta que @julianico utiliza tu fix y desde el principio nunca le funcionó, ahora lo ha quitado y le va. Entonces me he puesto a mirar logs y resulta que al poner el driver del captivate algo se rompe y no inyecta. ¡Gracias!
|
#874
|
||||
|
||||
@julianico.. ¿pero tío no decías que con el Fix7 no te funcionaba el método nativo del GPS Aids? Te lo pregunté varias veces
|
#875
|
||||
|
||||
|
#876
|
||||
|
||||
Las librerias (libgps.so y libsecgps.so) y el glgps del Captative / GALAXY S y Vibrant son los mismos... Utilizamos los tres el BCM4751...
Ahora ha aparecido otro... el Continuum. (pero del cual, el libgps no es el mismo y/o no fucniona en el nuestro...) Un saludo Un saludo |
#877
|
||||
|
||||
@julianico en realidad el hilo es tuyo :P pero a ver.. es que no estamos confundiendo. Tu al principio me decías que no podías utilizar el método nativo. Sólo podías forzar la bajada del ficherl LTO (para lo cual es necesario ser root y tener busybox). Yo te estoy preguntando si te funciona el método nativo, a secas, sin utilizar root. No sé si me explico
|
#878
|
||||
|
||||
@chetodann ¡Hola! Tío ¿me puedes confirmar el driver del GPS que estás usando en tu FIX? Si no estoy mal es el driver del Captivate ¿no? Es que creo haber descubierto por qué el la inyección nativa que utilizo en el GPS Aids no va en el algunos dispositivos. Resulta que @julianico utiliza tu fix y desde el principio nunca le funcionó, ahora lo ha quitado y le va. Entonces me he puesto a mirar logs y resulta que al poner el driver del captivate algo se rompe y no inyecta. ¡Gracias!
|
#879
|
||||
|
||||
@julianico en realidad el hilo es tuyo :P pero a ver.. es que no estamos confundiendo. Tu al principio me decías que no podías utilizar el método nativo. Sólo podías forzar la bajada del ficherl LTO (para lo cual es necesario ser root y tener busybox). Yo te estoy preguntando si te funciona el método nativo, a secas, sin utilizar root. No sé si me explico
p.d el hilo era mio pero ahora es tuyo,bueno, de los dos pero ahora tuyo. Última edición por julianico Día 21/02/11 a las 16:46:27. |
|
#880
|
||||
|
||||
|