Electrónica y Programación en Personal
«Si no se soluciona con un script en Python entonces no es viable»

por Yeison Cardona el 29 de abril del 2013 a las 8:36 pm UTC

[Des]Ventajas

Hay ciertas ventajas cuando se instala desde los repositorios de Subversion la principal es que podemos actualizar IDE a la revisión mas reciente y estar totalmente actualizados.
Como desventaja está el hecho de que hay que descargar e instalar mas programas.



Dependencias

Las dependencias son programas que hay que descargar para tener un IDE funcional o para la descarga del mismo:

  • TortoiseSVN: es un programa que se integra con el explorador de Windows, con él descargaremos las fuentes de Pinguino y actualizaremos a la revisión mas reciente.
  • Python: es el intérprete para el lenguaje de programación en que está escrito el IDE de Pinguino.
  • wxPython: paquete para Python que permite crear aplicaciones con entorno gráfico.
  • LibUSB: biblioteca para acceder al Puerto USB.
  • Pinguino Drivers: drivers de Microchip modificados para ser usados en el proyecto Pinguino.

Descarga directa

32 bits
64 bits
TortoiseSVN
1.7.12
1.7.12
Python
2.7.4
2.7.4
wxPython
2.8.12.1
2.8.12.1
LibUSB y Pinguino drivers
todas las plataformas

Descargando el código fuente

Primero hay que instalar TortoiseSVN, éste programa se integra con el explorador de Windows, así que para hacer el creckout hacemos click izquierdo (en un directorio o en el escritorio) y buscamos la opción SNV Checkout...
y en la opción «URL of repository» ingresamos:

svn checkout https://pinguino32.googlecode.com/svn/ide/



Click en «OK»



Y esperamos a que termine (se tomará su tiempo)

Instalando Dependencias

Primero instalamos Python:



Luego wxPython:



Es muy importante saber que cuando vamos a instalar los drivers y las bibliotecas LibUSB debemos hacerlo como administrador:







Para asignar los drivers al dispositivo nos movemos hasta el administrador de dispositivos de Windows, claro con el Pinguino conectado al computador, y buscamos Pinguino Project en la lista de Otros dispositivos:



Seleccionamos «Actualizar drivers»



Y le decimos que vamos a buscar manualmente el driver



Y buscamos en la carpeta de instalación del LibUSB, usualmente Documents and Setting/LibUSB



completamos el proceso y listo.





Posibles problemas

No se puede asignar los driver en el dispositivo, problemas por «drivers no firmados»

En este caso hay que deshabilitar la opción de inspeccionar firmas en los drivers, podemos seguir ésta guía en donde muestran cómo se hace.

No compila 8-bits

Si al ejecutar el IDE nos encontramos con que no podemos compilar código para boards a 8 bits y obtenemos un mensaje STDOUT como éste:



entonces sólo debemos modificar un poco la variables del sistema, para ello vamos a «panel de control» y buscamos «path», luego seleccionamos la opción como se muestra en la imagen:







y agregamos la ruta exacta en donde se encuentra la carpeta \win32\p8\bin que se encuentra dentro de los archivos que descargamos con TortoiseSVN, debe ser la ruta exacta, incluso sin ningún espacio en blanco al final, debes separarla de la última ruta mediante un punto y coma (;)



Probando la Instalación

Y si todo ha ido bien, a la hora de compilar un código obtendremos un resultado como el siguiente:



Observaciones

Como pueden notar por la capturas he usado Windows 8 a 64 bits, y todo ha funcionado correctamente, en Windows 7 debería ser similar, si algo no ha quedado claro puedo modificar la guía, en todo caso dejen sus comentarios.
Oleada de comentarios en 3, 2, 1...

También podría interesarte:

Comentarios:
Cristian dijo:
abr. 30, 2013, 1:29 p.m.
Yeison, me aparece el siguiente error al intentar compilar que podrá ser: ERROR: device list pic16devices.txt not found, specify its path via -I '18f2550' was not found.
Responder a Cristian
Respuesta de Yeison Cardona:
mayo 2, 2013, 8:40 p.m.
Un saludo Cristian, Mira que he estado preguntando e instalado de diferentes modos y no he podido replicar el error, quisiera saber si aún tienes el problema o ya si lo pudiste solucionar para que nos cuentes, qué hiciste.
Responder a Yeison Cardona
Respuesta de Cristian:
mayo 4, 2013, 6:42 p.m.
Yeison, problema solucionado, no entiendo el porque pero funciona había algunos archivos de configuración extras en la carpeta X.4 que generaban el error. Si descubrí un problema extra con el archivo CONFIG en la carpeta X.4 que no me dejaba arrancar la IDE, al borrar el archivo .config y arrancar la IDE arranca bien cambio al tela GnomeLook abro un archivo, compilo y cierro la IDE. Al querer abrir de nuevo la IDE falla Python. con esta configuración falla: [Board] architecture = 8 mode = BOOT device = Pinguino 2550 bootloader = [boot2, 0x2000] [IDE] window/width = 1456 window/height = 876 window/xpos = 0 window/ypos = 0 maximized = True theme = GnomeLook lateralpath = C:\x.4\examples sourcedoc = official sashposcl = 500 sashposco = 500 [Main] tools = True open-save = True auto-complete = True [Tools] search = True files = True documents = False [Open/Save] autosave = False openlast = False template = True [Highligh] codeerror = [241, 0, 0] selection = [241, 132, 88] [Source] userfontinoutput = False tabsize = 4 [Recents] recents_count = 1 recents_0 = C:\x.4\examples\01.Basics\Blink\Blink.pde [Last] last_count = 1 last_0 = C:\x.4\examples\01.Basics\Blink\Blink.pde last_focus = C:\x.4\examples\01.Basics\Blink\Blink.pde con esta si funciona: [Board] architecture = 8 mode = BOOT device = Pinguino 2550 bootloader = ['boot2', 8192] [IDE] window/width = 1456 window/height = 876 window/xpos = -8 window/ypos = -8 maximized = True theme = PinguinoX lateralpath = C:\x.4\examples sashposcl = 500 sashposco = 500 [Main] tools = True open-save = True auto-complete = True [Tools] search = True files = True [Open/Save] autosave = False openlast = False template = True [Highligh] selection = [241, 132, 88] codeerror = [120, 255, 152] [Source] tabsize = 4 [Completer] enable = True charscount = 1 insertparentheses = False [Recents] recents_count = 1 recents_0 = C:\Users\PC ESCRITORIO\Desktop\usbprocessing.pde recents_1 = C:\x.4\examples\01.Basics\Blink\Blink.pde [Last] last_count = 2 last_0 = C:\x.4\.temp\Newfile0.pde last_focus = C:\Users\PC ESCRITORIO\Desktop\usbprocessing.pde last_1 = C:\Users\PC ESCRITORIO\Desktop\usbprocessing.pde
Responder a Cristian
Respuesta de Yeison Cardona:
mayo 5, 2013, 8:10 a.m.
Si, efectivamente, ya he corregido el error en la revisión 805, muchas gracias por reportar el problema. si encuentras más sería de mucha ayuda que también los reportaras, puede ser conmigo directamente o en el foro. Hasta pronto.
Responder a Yeison Cardona
Joshua dijo:
mayo 3, 2013, 10:32 a.m.
Gracias por lo ultimo de modifficar la variable de entorno de windows, antes no podia compilar ni un prende led, uso el py2.7.3, tortoise 1.7.11 y pysvn 173, probaré mas codigos, gracias por la solución...
Responder a Joshua
fred warden dijo:
mayo 6, 2013, 11:13 p.m.
yeison, i can compile but the pde will not load onto the chip
Responder a fred warden
Respuesta de Yeison Cardona:
mayo 6, 2013, 11:16 p.m.
STDOUT message?
Responder a Yeison Cardona
fred warden dijo:
mayo 6, 2013, 11:19 p.m.
Processor: 18f4550 sdcc: Calling linker...
Responder a fred warden
fred warden dijo:
mayo 7, 2013, 7:08 p.m.
Yeison, this is what sohws in the pinguino panic file when i try to upload the blink pde or any of the pde's. fred Traceback (most recent call last): File "C:\Users\fwarden\Desktop\X.4\wxgui\pinguino.py", line 273, in OnUpload u = Uploader(self.displaymsg, filename, self.curBoard) File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploader.py", line 101, in __init__ curUploader.writeHex() File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploaderVSC.py", line 265, in writeHex self.device = self.getDevice() File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploader.py", line 56, in getDevice busses = usb.busses() File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\legacy.py", line 333, in busses return (Bus(),) File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\legacy.py", line 329, in __init__ self.devices = [Device(d) for d in core.find(find_all=True)] File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\core.py", line 846, in find raise ValueError('No backend available') ValueError: No backend available
Responder a fred warden
fred warden dijo:
mayo 7, 2013, 7:10 p.m.
Yeison, this is what i get in the pinguino panic file when uploading PDE. fred Traceback (most recent call last): File "C:\Users\fwarden\Desktop\X.4\wxgui\pinguino.py", line 273, in OnUpload u = Uploader(self.displaymsg, filename, self.curBoard) File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploader.py", line 101, in __init__ curUploader.writeHex() File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploaderVSC.py", line 265, in writeHex self.device = self.getDevice() File "C:\Users\fwarden\Desktop\X.4\wxgui\uploader\uploader.py", line 56, in getDevice busses = usb.busses() File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\legacy.py", line 333, in busses return (Bus(),) File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\legacy.py", line 329, in __init__ self.devices = [Device(d) for d in core.find(find_all=True)] File "C:\Users\fwarden\Desktop\X.4\python_lib\usb\core.py", line 846, in find raise ValueError('No backend available') ValueError: No backend available
Responder a fred warden
Respuesta de Yeison Cardona:
mayo 10, 2013, 4:35 a.m.
Hi fred i can't duplicate the bug, i still testing :(
Responder a Yeison Cardona
Fred warden dijo:
mayo 10, 2013, 12:01 p.m.
Yeison, I posted this issue on the forum and another member is having the same issue.FYI. THANKS FRED
Responder a Fred warden
fred warden dijo:
mayo 11, 2013, 6:34 p.m.
Yeison, i found the problem.when i did the edit in the environment variable i delete everything in path and typed in c:\Users\brookie\Desktop\X.4\win32\p8\bin. so after many days i figured out that there was something missing and there it was i typed in this after my edit and now it works ;\windows\system32. so the path looks like this on my machine c:\Users\brookie\Desktop\X.4\win32\p8\bin;\windows\system32
Responder a fred warden
Gonzalo dijo:
jun. 12, 2013, 2:18 p.m.
Hola soy nuevo en esto de la programacion de Microprocesadores, y no entiendo mucho de que es lo que hay que hacer tengo ya descargado todos los archivos y conectado una placa Olimex, pero ahora que hago.
Responder a Gonzalo
Añadir un nuevo comentario:
Si desean una respuesta para su comentario sólo deben agregarme en G+ y hacer una mención a Yeison Cardona, así les podré responder lo antes posible.