Mi colaboración en el proyecto ya acabó, y tengo unas impresiones sobre este tipo de proyectos...
El cliente es americano, y el proveedor de servicios (la empresa para la que trabajo) es alemana, así que la organización del proyecto es alemana. Y es un put... desastre, es increible que puedan hacer funcionar nada. Los alemanes prefieren poner jefes y más jefes, y añadir burocracia, que desde luego es más importante reportar las horas y tener todos los power point, project, flows y demás perfectos. Eso sí, que el trabajo salga, o que tenga una calidad más o menos aceptable, no les importa para nada.
El cliente tiene claro lo que quiere, y ha fijado las fechas límites para que el proyecto esté terminado, lo normal. Los alemanes han esperado hasta el último minuto antes de empezar el proyecto, y para que salga mejor en vez de mandar más tecnicos y especialistas, prefieren mandar más jefes, intermediarios y jefecillos, que seguro que son los que sacan adelante el proyecto, deben pensar.
Y, evidentemente, cuando hemos empezado a trabajar los "curritos", no hay nada preparado, no hay maquinas, no hay documentación, no hay organización, no está claro lo que hay que hacer, ni hay canales de comunicación con las otras partes involucradas... Pero eso sí, tenemos multitud de jefes, jefecillos y jefezotes.
Y cuando sale la Claudia Schiffer hablando de lo magnífica que es la ingeniería alemana en el anuncion de coches, no puedo evitar una carcajada...
Y luego los que tienen mala fama son las empresas españolas....
21 noviembre 2014
23 octubre 2014
Viaje a Columbus (II): Conociendo Estados Unidos
Ya llevo en Estados Unidos mas de dos semanas. Y al menos has pasado el tiempo suficiente para poder hacerme una idea de muchos aspectos de la vida aqui.
Columbus es la capital de Ohio, tiene unos 700.000 habitantes, pero no aparenta ese tamaño. No es como las ciudades de películas, con un gran centro lleno de rascacielos y grandes avenidas... no... Tiene un pequeño centro financiero con unos pocos edificios altos, y calles amplias, pero tiene una gran extensión de barrios residenciales con las típicas casas de madera, muchos centros comerciales desperdigados y centros de negocios con oficinas.
Parece que las ciudades no se acaban, ya que los barrios residenciales dan paso a zonas comerciales muy amplias, y estas a zonas de oficinas desperdigadas, y estos a más zonas residenciales de casitas de madera con jardín y calabazas en el porche.... Así se suceden pueblos y ciudades, sin que parezca que haya una discontinuidad...
Es prácticamente obligatorio utilizar el coche para moverse a cualquier lado y encima el trasporte publico es casi inexistente (en las grandes ciudades seguro que funciona mucho mejor), por suerte la gasolina está más barata que en Europa, aunque las carreteras son de peor calidad...
Al menos la gente me ha sorprendido muy gratamente,es muy agradable, y se hacen por entender mucho más de lo que yo me esperaba.
Algo muy negativo de aqui es que la gente hace mucha vida en los centros comerciales, comen demasiada comida rápida, y todo cierra demasiado pronto (es imposible encontrar un bar o un restaurante abierto despues de las 8 de la tarde).
Dentro de poco es Halloween, y se nota, hay muchas tiendas de disfraces y articulos para halloween, hay muchas casas con las puertas y el porche decorados, incluso en la oficina tenemos calabazas y alguna decoración...
Si me preguntaran a que huele Estados Unidos, yo diria que a hamburguesa, a comida rápida. No es que parezca su comida favorita, es que lo es. Por cada restaurante "normal" se pueden encontrar 10 o más establecimientos de comida rápida. No me extraña que sea tan facil encontrar a gente "demasiado redonda".
Columbus es la capital de Ohio, tiene unos 700.000 habitantes, pero no aparenta ese tamaño. No es como las ciudades de películas, con un gran centro lleno de rascacielos y grandes avenidas... no... Tiene un pequeño centro financiero con unos pocos edificios altos, y calles amplias, pero tiene una gran extensión de barrios residenciales con las típicas casas de madera, muchos centros comerciales desperdigados y centros de negocios con oficinas.
Parece que las ciudades no se acaban, ya que los barrios residenciales dan paso a zonas comerciales muy amplias, y estas a zonas de oficinas desperdigadas, y estos a más zonas residenciales de casitas de madera con jardín y calabazas en el porche.... Así se suceden pueblos y ciudades, sin que parezca que haya una discontinuidad...
Al menos la gente me ha sorprendido muy gratamente,es muy agradable, y se hacen por entender mucho más de lo que yo me esperaba.
Algo muy negativo de aqui es que la gente hace mucha vida en los centros comerciales, comen demasiada comida rápida, y todo cierra demasiado pronto (es imposible encontrar un bar o un restaurante abierto despues de las 8 de la tarde).
Dentro de poco es Halloween, y se nota, hay muchas tiendas de disfraces y articulos para halloween, hay muchas casas con las puertas y el porche decorados, incluso en la oficina tenemos calabazas y alguna decoración...
Si me preguntaran a que huele Estados Unidos, yo diria que a hamburguesa, a comida rápida. No es que parezca su comida favorita, es que lo es. Por cada restaurante "normal" se pueden encontrar 10 o más establecimientos de comida rápida. No me extraña que sea tan facil encontrar a gente "demasiado redonda".
01 octubre 2014
Viaje a Columbus (I): Brown-man nunca duerme
Cuando volvimos de nuestra experiencia en Alemania e Italia, vinimos con una visión completamente renovada sobre el funcionamiento de las empresas alemanas. Hay que ver que buena imagen que tienen!, para ser igual, o más, chapuceras, desorganizadas y burocratizadas, que las empresas españolas...
Tras ese proyecto estábamos en una temporada de calma... como la que dicen en las películas que precede a las tempestades. Era cuestión de tiempo que un nuevo marrón aterrizase en mi mesa, y Brown-man se tuviera que enfrentar a esa amenaza proviniente de un generador de mierdas alemán.
Ya en Italia, en mayo, supimos que habia un proyecto más prioritario en marcha, al que, en teoría, dedicaban todos los recursos. Ese proyecto es en Columbus (Ohio, USA), y parece que el cliente se ha cansado de que el proyecto no avance y ha puesto una fecha límite. "O esta para diciembre u os cagais". Algo así seguro que le habrán soltado a algún manager de turno...
La solución alemana (que recuerda mucho a la de muchas empresas españolas) ha sido sencilla, vamos a mandar a un ejercito de managers, que esos saben como hacer las cosas. Pero no saben, así que a última hora han buscado "browners". Y me ha tocado.
Así que la semana que viene aterrizaré en Columbus, Ohio (USA), para un proyecto del que no se practicamente nada (sólo que está relacionado con el que hicimos en Alemania e Italia).
Brown-man nunca duerme. Los marrones saben que hay alguien que se hará cargo de ellos. Por que no me queda más remedio, claro....
Tras ese proyecto estábamos en una temporada de calma... como la que dicen en las películas que precede a las tempestades. Era cuestión de tiempo que un nuevo marrón aterrizase en mi mesa, y Brown-man se tuviera que enfrentar a esa amenaza proviniente de un generador de mierdas alemán.
Ya en Italia, en mayo, supimos que habia un proyecto más prioritario en marcha, al que, en teoría, dedicaban todos los recursos. Ese proyecto es en Columbus (Ohio, USA), y parece que el cliente se ha cansado de que el proyecto no avance y ha puesto una fecha límite. "O esta para diciembre u os cagais". Algo así seguro que le habrán soltado a algún manager de turno...
La solución alemana (que recuerda mucho a la de muchas empresas españolas) ha sido sencilla, vamos a mandar a un ejercito de managers, que esos saben como hacer las cosas. Pero no saben, así que a última hora han buscado "browners". Y me ha tocado.
Así que la semana que viene aterrizaré en Columbus, Ohio (USA), para un proyecto del que no se practicamente nada (sólo que está relacionado con el que hicimos en Alemania e Italia).
Brown-man nunca duerme. Los marrones saben que hay alguien que se hará cargo de ellos. Por que no me queda más remedio, claro....
11 septiembre 2014
El extraño caso del compresor y el PIC32
Cuando ya tuvimos el código preparado, todos los componentes hardware conectados, y el desarrollo de la interfaz de usuario terminada, llegó el momento de hacer pruebas.
Fue justo en este momento cuando nos encontramos con un fenómeno curioso, extraño y desesperante a la vez. No siempre pasaba, pero al arrancar o apagar el compresor desde el PIC32, se perdía la sincronización del USB, con lo cual la comunicación entre la interfaz de usuario y el PIC32 se perdía y nos tocaba reiniciar todo el sistema.
Un suceso muy desesperante, pues por mucho que modifiqué el código del USB en el PIC32 no conseguimos ninguna solución.
Lo primero que pensamos fue que debido al alto consumo del compresor teníamos algún efecto (un armónico, o caida/subida de tensión, etc...) que nos llegaba desde la alimentación (ya que al final los dos componentes usan la misma fuente de alimentación). Así que nos liamos a separar las alimentaciones. Pero descubrimos que no, que seguía pasando el mismo fenómeno.
Lo siguiente fue cambiar el compresor (a ver si eso...), pero no, seguía pasando, incluso peor, con el nuevo compresor en el 100% de los casos, al arrancar el compresor, se perdía la comunicación USB.
También intentamos proteger el USB, pero sin ningún resultado.
Haciendo pruebas llegamos a desconectar completamente el compresor, tanto la alimentación como las señales, y lo arrancábamos/parábamos manualmente con un interruptor aislado, pero nada, seguía pasando lo mismo, al arrancar el compresor, se queda dañada la comunicación USB...
Así que acudimos a preguntar en foros, y a consultar a expertos. Ya teníamos un sospechoso, las emisiones electromagnéticas que se tienen que estar produciendo en el arranque del compresor. Las consultas confirmaros nuestras sospechas.
Lo que nos aconsejaron fué utilizar un filtro RC en la alimentación del compresor para absorber las radiaciones. Y trenzar todos los cables (en especial los de alimentación y señales del compresor) ya que el cableado podía estar haciendo un efecto de antena.
Y parece que esa es la solución, en nuestras últimas pruebas, ya no se ha vuelto a producir el maligno efecto "compresor-caida del USB".
Fue justo en este momento cuando nos encontramos con un fenómeno curioso, extraño y desesperante a la vez. No siempre pasaba, pero al arrancar o apagar el compresor desde el PIC32, se perdía la sincronización del USB, con lo cual la comunicación entre la interfaz de usuario y el PIC32 se perdía y nos tocaba reiniciar todo el sistema.
Un suceso muy desesperante, pues por mucho que modifiqué el código del USB en el PIC32 no conseguimos ninguna solución.
Lo primero que pensamos fue que debido al alto consumo del compresor teníamos algún efecto (un armónico, o caida/subida de tensión, etc...) que nos llegaba desde la alimentación (ya que al final los dos componentes usan la misma fuente de alimentación). Así que nos liamos a separar las alimentaciones. Pero descubrimos que no, que seguía pasando el mismo fenómeno.
Lo siguiente fue cambiar el compresor (a ver si eso...), pero no, seguía pasando, incluso peor, con el nuevo compresor en el 100% de los casos, al arrancar el compresor, se perdía la comunicación USB.
También intentamos proteger el USB, pero sin ningún resultado.
Haciendo pruebas llegamos a desconectar completamente el compresor, tanto la alimentación como las señales, y lo arrancábamos/parábamos manualmente con un interruptor aislado, pero nada, seguía pasando lo mismo, al arrancar el compresor, se queda dañada la comunicación USB...
Así que acudimos a preguntar en foros, y a consultar a expertos. Ya teníamos un sospechoso, las emisiones electromagnéticas que se tienen que estar produciendo en el arranque del compresor. Las consultas confirmaros nuestras sospechas.
Lo que nos aconsejaron fué utilizar un filtro RC en la alimentación del compresor para absorber las radiaciones. Y trenzar todos los cables (en especial los de alimentación y señales del compresor) ya que el cableado podía estar haciendo un efecto de antena.
Y parece que esa es la solución, en nuestras últimas pruebas, ya no se ha vuelto a producir el maligno efecto "compresor-caida del USB".
04 septiembre 2014
Desarrollando el programa para el PIC32
Al principio del proyecto, mientras estuve en Alemania e Italia, no tenía ningún dispositivo físico para poder probar lo que iba desarrollando. Así que tan sólo pude hacer algunas pruebas sobre el simulador, para aclarar los conceptos y preparar código de algunos temas básicos como las interrupciones (sumamente importantes para los PIC).
Así que en Alemania hice el corazón del programa, desarrollando la estructura, planteando todas las funciones y dejando establecida la lógica que regirá el funcionamiento de mi proyecto.
El entorno de trabajo (MPLAB X) no es complicado de usar, tiene muchos pequeños detalles muy de agradecer por los desarrolladores, aunque a veces tiene funcionamientos extraños (a veces muestra errores donde no los hay, o dice que el proyecto no tiene ficheros, cuando está lleno de código....) que supongo irán depurando y solucionando.
En Junio. y ya en España, insistí mucho en que necesitaba una placa de pruebas para poder seguir con el desarrollo, y me proporcionaron el Ethernet Startet Kit de Microchip. Esta es una interesante placa de pruebas, tiene conexiones Ethernet y USB, y para poder trabajar con entradas/salidas estandard, tiene 3 pulsadores y tres led con los que trabajar. El PIC que monta es un PIC32MX795F512L, más avanzado que el que vamos a utilizar en el proyecto, pero como punto de partida (y hasta que tenga la placa real para poder probar), me vale.
Con eso ya pude completar el desarrollo, por fín pude comprobar como se trabaja con las interrupciones y pude ajustar bien el tema de tiempos (con los simuladores no se puede). Y lo más importante, pude empezar con el desarrollo de las comunicaciones USB.
La placa de control (con el PIC32) hará las funciones de un dispositivo USB, así que tuve que buscar información y ejemplos de como implementar el USB. Por suerte Microchip distribuye una amplia colección de ejemplos con su librería Harmony (y muchos otros en su propia web), y como todo el tema corría prisa, decidí partir del ejemplo de dispositivo USB CDC (en el PC se ve como un dispositivo Serie), e ir avanzando.
Por desgracia la mayoría de la información que se puede encontrar en internet se refiere a la antigua librería de Microchip (deprecada y retirada para los PIC32), así que hay que usar solamente lo que proporciona el fabricante (Microchip Harmony).
Como ya comenté estas librerías han sufrido muchos cambios en poco tiempo (espero que la recién publicada versión 1.00 sea más estable que las anteriores), y me ha tocado rehacer varias veces parte del código para utilizar una versión más actualizada (y todo esto un poco a ciegas, puesto que Microchip no publica los cambios entre versiones, ni cuales son los errores corregidos entre una y otra).
Pero lo conseguí, finalicé el código del proyecto, incluyendo las comunicaciones USB, y otros temas delicados como el conversor analógico digital (ADC), y las comunicaciones I2C (aunque con este último me tuvieron que echar una mano, lo reconozco).
(continuará)
Así que en Alemania hice el corazón del programa, desarrollando la estructura, planteando todas las funciones y dejando establecida la lógica que regirá el funcionamiento de mi proyecto.
El entorno de trabajo (MPLAB X) no es complicado de usar, tiene muchos pequeños detalles muy de agradecer por los desarrolladores, aunque a veces tiene funcionamientos extraños (a veces muestra errores donde no los hay, o dice que el proyecto no tiene ficheros, cuando está lleno de código....) que supongo irán depurando y solucionando.
En Junio. y ya en España, insistí mucho en que necesitaba una placa de pruebas para poder seguir con el desarrollo, y me proporcionaron el Ethernet Startet Kit de Microchip. Esta es una interesante placa de pruebas, tiene conexiones Ethernet y USB, y para poder trabajar con entradas/salidas estandard, tiene 3 pulsadores y tres led con los que trabajar. El PIC que monta es un PIC32MX795F512L, más avanzado que el que vamos a utilizar en el proyecto, pero como punto de partida (y hasta que tenga la placa real para poder probar), me vale.
Con eso ya pude completar el desarrollo, por fín pude comprobar como se trabaja con las interrupciones y pude ajustar bien el tema de tiempos (con los simuladores no se puede). Y lo más importante, pude empezar con el desarrollo de las comunicaciones USB.
La placa de control (con el PIC32) hará las funciones de un dispositivo USB, así que tuve que buscar información y ejemplos de como implementar el USB. Por suerte Microchip distribuye una amplia colección de ejemplos con su librería Harmony (y muchos otros en su propia web), y como todo el tema corría prisa, decidí partir del ejemplo de dispositivo USB CDC (en el PC se ve como un dispositivo Serie), e ir avanzando.
Por desgracia la mayoría de la información que se puede encontrar en internet se refiere a la antigua librería de Microchip (deprecada y retirada para los PIC32), así que hay que usar solamente lo que proporciona el fabricante (Microchip Harmony).
Como ya comenté estas librerías han sufrido muchos cambios en poco tiempo (espero que la recién publicada versión 1.00 sea más estable que las anteriores), y me ha tocado rehacer varias veces parte del código para utilizar una versión más actualizada (y todo esto un poco a ciegas, puesto que Microchip no publica los cambios entre versiones, ni cuales son los errores corregidos entre una y otra).
Pero lo conseguí, finalicé el código del proyecto, incluyendo las comunicaciones USB, y otros temas delicados como el conversor analógico digital (ADC), y las comunicaciones I2C (aunque con este último me tuvieron que echar una mano, lo reconozco).
(continuará)
Suscribirse a:
Entradas (Atom)