2013/11/19 Manuel Kaufmann <humitos(a)gmail.com>:
¿Ese archivo es "todo" el firmware que necesito para hacer
comunicación por USB? Pregunto esto ya que el Turtle Blocks no me
funciona y por lo tanto no tengo ningún .hex para copiar al PIC.
Jajaja! Esto es increíblemente muy bueno!
Ya tengo el firmware tortucaro en mi placa icaro y estoy pudiendo
prender y apagar un led desde la consola de Python. Esto es demasiado
muy excelentemente bueno :D
¡Mis felicitaciones a todos los que han trabajado para que esto sea
tan sencillo!
Como no tengo el Turtle Blocks, lo que hice fue ponerme a leer el
código y finalmente llegué a copiar los comandos de "sdcc" a mano para
compilar y para hacer el "upload" al PIC. Luego, simplemente usé las
funciones python que están en el IDE de icaro así:
>> import carga
>> carga.compilar_pic('tortucaro', 'sdcc')
SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08
2.9.0 #5416 (Feb 3 2010) (UNIX)
sdcc -mpic16 --denable-peeps --obanksel=9 --opt-code-size
--optimize-cmp --optimize-df -p18f4550 -I
/home/humitos/.icaro/firmware/source/ -I
/home/humitos/.icaro/firmware/tmp/ -I
/home/humitos/.icaro/firmware/non-free/include/pic16 -I
/usr/share/sdcc/include/pic16/ -c -c
-o/home/humitos/.icaro/firmware/temporal/tortucaro.o
/home/humitos/.icaro/firmware/source/tortucaro.c 2>
/home/humitos/.icaro/firmware/temporal/log.dat
/home/humitos/.icaro/firmware/temporal/tortucaro.asm:492:Warning [231]
No memory has been reserved by this instruction.
este es el valor de i= 0
>> # presionar el botón SW_PUSH y esperar 3 segundos
>> # luego, ejecutar la siguiente línea
>> carga.upload_pic('tortucaro', 'sdcc')
>> # reiniciar la placa icaro y esperar unos segundos
>> # conectar un LED en la pata 1 del puerto B
>> from apicaro import apicaro
>> p = apicaro.puerto()
>> p.iniciar()
True
>> p.activar(1) # prender el LED
True
>> p.activar(0) # apagar el LED
True
>> p.cerrar()
True
Espero que les sirva a los que están jugando con esto. Gracias, nuevamente.
--
Kaufmann Manuel
--
http://mkaufmann.com.ar