Ktechlab-0.3.7 modificado.

Página 1 de 3. 1, 2, 3  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo

Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Dom 4 Oct 2009 - 5:51

Finalmente conseguí un Ktechlab que mas o menos funciona.

Partiendo de las fuentes de la versión 0.3.7 de svn y con bastantes modificaciones:

La simulación con pics parece que funciona bastante bién y en tiempo real, aunque esto depende también de la carga del procesador, por ejemplo intenté hacer un video de una simulación funcionando pero el programa de grabar escritorio carga tanto al procesador que es imposible que la simulación vaya en tiempo real.

Las interrupciones, timers, etc parece que van bién.

Los pic tienen ahora una propiedad donde se puede establecer la velocidad de reloj a la que se simula el pic.

He añadido algunos pic a flowcode y a simulación: pic12, pic14, pic16 bits. pero quizás alguno no funcione, hay que probar.

Microbe ha sido sustituido por GcBasic.
Ahora Flowcode genera código GcBasic y se puede compilar GcBasic directamente en Ktechlab, exactamente igual que antes con microbe.
Al generar desde flowcode siempre es mejor usar la opción "guardar archivo", la opción "ver directamente" no funciona bién en el paso gcbasic->asm.
Gcbasic ya genera el .hex, así que no es necesario el paso asm->hex.

He añadido resaltado de sintaxis de GcBasic, también hay que buscar posibles errores o cosas que faltan.


LINKS ACTUALIZADOS A LA ULTIMA VERSION (19/10/09)


GcBasic tiene que estar en el path, así que hay que añadir la ruta del ejecutable al path o instalarlo en la estructura de directorios como cualquier otro programa, para eso aqui se puede descargar un .deb:
GcBasic.deb
Instalado con este deb no hay que añadir nada al path porque ya se instala en /usr/bin y /usr/share/GcBasic

Recuerda que es mejor usar gpsim-0.24.0 (creo 0.23 también vale), el que viene en los repositorios de Ubuntu (0.22) no es reconocido por Ktechlab, así que descarga las fuentes y compila o instala este deb:
Gpsim_0.24.deb

Aquí tienes un deb para instalar esta versión de Ktechlab:
Ktechlab-gcb.deb

Y aquí tienes las fuentes de Ktechlab por si quieres compilarlo tu mismo:
Ktechlab-gcb fuentes

Todavía hay muchos detalles que arreglar, así que si encontrais errores o lo que sea no dejeis de avisar.


Última edición por Pikitin el Mar 27 Oct 2009 - 7:47, editado 4 veces

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por litox9 el Dom 4 Oct 2009 - 15:10

Gran trabajo Pikitin, en cuanto pueda lo pruebo.
Un saludo

litox9
Asiduo del Foro
Asiduo del Foro

Mensajes: 101
Fecha de inscripción: 14/04/2009

http://litox.entramado.net/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Dom 4 Oct 2009 - 18:25

Bueno... ahí vá un pequeño video
Aquí otro video

Ya he visto algun fallo en la generación de codigo gcbasic por flowcode... seguro que hay más...

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por aztk el Lun 5 Oct 2009 - 4:03

Oralessssss!
Cada vez que me doy una vuelta por acá, encuentro un proyecto nuevo de algún miembro del foro o de Pikitin! Y yo que últimamente he dejado de hacer cosas de electrónica, no puede ser, tengo que echarle más ganas, jejeje.

Se agradece este nuevo aporte Smile

Saludos!

aztk
Participante Activo
Participante Activo

Mensajes: 52
Fecha de inscripción: 08/06/2009
Edad: 26
Localización: Tenochtitlan

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Sáb 10 Oct 2009 - 7:59

Bueno pues esto poco a poco lo voy avanzando, sobre todo el tema del flowcode:

- Arreglado un problema con el sangrado dentro de cada bloque (varios if anidados).
- Arreglado un error en el flowpart set pin state (generaba: PORTB.0 = high, ahora: PORTB.0 = 1).
- Arreglado un error en los delays que solo generaba ms.
- He añadido espacios antes y después de cada bloque (if, while, sub, etc).
- He añadido un "flowpart" para leer canales ADC.
- Ahora en el flowpat "inicio" se puede ajustar la velocidad reloj para que la añada al código (importante para los delays y otras funciones).
También se puede añadir código de inicio, como #includes, #defines, o lo que se quiera.
- El 7segmentos está casi listo, me falta el keypad.

Si echais en falta algún flowpart no teneis más que sugerirlo y se intentará...

La traducción hasta que no estén todos los cámbios bién fijados no se podrá hacer.

Para no estar poniendo descargas cada pocos días voy a esperar a terminar el keypad y el 7seg y arreglar posibles fallos y entonces subirlo, lo digo para los que hayais descargado el primer paquete que esteis atentos a que salga una versión con los errores corregidos.

Si alguién quiere colaborar abrá que hacer la traducción de los cambios, y también está lo de añadir nuevos pics, par eso ver este tema:
http://pic-linux.forosactivos.net/general-f33/ayuda-para-anadir-pics-para-simular-en-ktechlab-t209.htm



Hasta la próxima.

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Lun 19 Oct 2009 - 12:40

Pues ya está la primera versión más o menos definitiva.

Al final he conseguido que se pueda simular entradas analógicas, pero no es facil... hay varios problemas con esto en ktechlab.
Al usar entradas analógicas, todos las entradas del pic, aunque sean analogicas o digitales se "deben" actualizar cada 100 us.

Entonces he añadido una propiedad al pic para seleccionar "modo
analogico" si/no, si se selecciona modo analogico todo funciona, pero
todas las entradas se actualizan cada 100 us sean analogicas o digitales, entonces no vale para
frecuencias altas en las entradas digitales.
Si no se selecciona el modo analogico entonces las entradas solo
funcionan como digitales, igual que antes, pero se actualizan cada 1 us.
Por defecto el modo analogico está desactivado, si quieres simular adc o comparadores tienes que activarlo.

Algunas cosas no funcionan bién en modo analógico, entonces solo
usarlo cuando sea necesario y sabiendo que tiene limitaciones... esto
hay que probarlo bién.

Hay algunos errores corregidos, por
ejemplo ahora se puede generar directo de flowcode a asm o hex, también
sin guardar el archivo, ahora todo eso debería funcionar bién.

También está arreglado el problema que había a veces al cerrar archivos.

En flowcode el teclado y 7segmentos están funcionando, aunque al 7seg hay que añadir el pin del catodo en los #defines (ya lo explicaré con más tiempo).

Las traducciones está bastante completas.

El paquete de GcBasic también tiene algunos fallos corregidos y una traducción maś completa.

Está todo aquí: http://piclinux.sourceforge.net/

De todas formas he editado los enlaces en el primer mensaje, donde se pueden descargar directamente.



Saludos.

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por zivago40 el Jue 22 Oct 2009 - 16:28

Hola a todos:
pikitin me gustaria saber como añadir flowparts a ktechlab, podria añadirsele la posibilidad de tratamiento del puerto i2c y de la usart. He bajado las fuentes y he estado viendo el que añadiste de ADC, pero que de ahi no paso, quiero decir, que no tengo ni idea de todos los archivos que hay que cambiar ni mucho menos. Aunque ahora estoy un poco liado con el trabajo pero estoy dispuesto a ayudar lo que pueda.
Saludos

zivago40
Participante
Participante

Mensajes: 19
Fecha de inscripción: 09/10/2009

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Jue 22 Oct 2009 - 18:41

Que tal zivago40?

No es demasiado complicado añadir flowparts, sobre todo si existe la funcion correspondiente en GcBasic

Basicamente está todo en ese archivo, solo tienes que crear las propiedades necesarias con su tipo de dato, hacer lo que haya que hacer en "datachanged" y añadir las lineas de código GcBasic usando los valores de esas propiedades.

Luego tienes que hacer un icono y colocarlo en .../ktechlab/icons/pics.

Finalmente añadir los nuevos elementos a los makefiles correspondientes.... creo que no se me olvida nada.

Luego hay otro problema... usart e I2C necesitan ser inicializados, esto complica la cosa, a no ser que se añada otro flowpart que sea "InitUsart" o algo así... o quizás se puedan añadir lineas al código de inicio del flowpart "Inicio".

Nosé... habría que pensárselo bién... también haría falta un flowpart para leer y otro para escribir, entonces habría que plantearse el crear otra sección, por ejemplo "comunicaciones" o algo así y ahí meter usart, I2C y las que puedan venir.

Otra cosa es que I2C no tiene librería en el GcBasic oficial, hay unas por ahí ( las que está probando Alejandro) pero habría que mirarlo bién.

Entonces yo empezaría por Usart a ver como sale la cosa.... no sé... quizás puedas plantearte el flowpart de leer usart para empezar.. o como tú veas.
Me voy a mirar como se podría hacer lo del InitUsart.


Saludos.

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por zivago40 el Vie 23 Oct 2009 - 15:44

Saludos, seguramente conoces Nipple. Yo creo que lo mismo se podria hacer desde ktechlab, es cuestion de ir añadiendo poco a poco.
Pikitin cuando dices ese archivo a cual te refieres??? al que tu has añadido del ADC?? como puedo averigura si gcbasic tiene las rutinas usart?? Ya te dije que andaba un poco perdido, aunque si a piñon puedo programarlo seguro que hacerlo tambien puedo.

zivago40
Participante
Participante

Mensajes: 19
Fecha de inscripción: 09/10/2009

Volver arriba Ir abajo

Re: Ktechlab-0.3.7 modificado.

Mensaje por Pikitin el Sáb 24 Oct 2009 - 2:00

Saludos, seguramente conoces Nipple. Yo creo que lo mismo se podria
hacer desde ktechlab, es cuestion de ir añadiendo poco a poco.
Si... basicamente es lo mismo. Pero el flowcode que viene en Ktechlab es muy muy básico, lo justo para hacer las cosas más sencillitas; porque estaba linitado por el Microbe, que es un compilador muy básico y es complicado ampliarlo. Ahora con GcBasic las posiblidades se multiplican, tanto en funciones como en pics quye se pueden añadir.

Y como tu dices se pueden ir añadiendo cosas. No conozco el Niple.. lo he visto por ahí, pero como no me gusta mucho programar con diagramas de fujo pues no lo he usado.

Pikitin cuando dices ese archivo a cual te refieres??? al que tu has
añadido del ADC??

Si, para cada flowpart hay un parte.cpp y su corresponiente parte.h
Yo lo hice copiando otro y simplemente reemplazando nombres, luego modificar/crear las propiedades, adaptar Parte::dataChanged() y Parte::generateGcBasic()

Para probar puedes usar un icono existente y luego ya pones uno definitivo.

como puedo averigura si gcbasic tiene las rutinas
usart?? Ya te dije que andaba un poco perdido, aunque si a piñon puedo
programarlo seguro que hacerlo tambien puedo.

La librería de usart la tienes en:
GcBasic/include/lowlevel/usart.h

Si has instalado GcBasic con el deb:
/usr/share/GcBasic/include/lowlevel/usart.h

Pero las funciones basicamente son:

InitUSART
HserReceive
HserSend()
HserPrint()

Hay alguna más, pero esas son la principales.
Creo que lo suyo sería crear un flowpart para cada una.


Por ejemplo el HserReceive se podría hacer facilmente a partir de adcpin, ya que sería incluso más sencillo (sobra el canal a leer).
Procura respetar el uso de Mayúsculas/minúsculas: minúsculas para nombre de archivo, nombre de parte, etc...


Saludos.

Pikitin
veterano
veterano

Mensajes: 623
Fecha de inscripción: 26/11/2008

http://linuxmicros.blogspot.com/

Volver arriba Ir abajo

Página 1 de 3. 1, 2, 3  Siguiente

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

Permisos de este foro:
No puedes responder a temas en este foro.