[Icestudio][Desarrollo][Sugerencias]

89 views
Skip to first unread message

Juanma Rico

unread,
Feb 8, 2017, 5:29:25 AM2/8/17
to FPGAwars: explorando el lado libre
Creo este nuevo tema por sugerencia de Jesús en este hilo.
Se trata de aportar sugerencias en el desarrollo del programa. Fundamentalmente enfocándonos en el uso y estética del mismo.
Las complejidades técnicas quedan para la discusión en otros hilos de desarrollo.
Como no sabemos hasta donde va a llegar este hilo sería conveniente que citásemos de alguna forma la versión de Icestudio a la que nos referimos en cada momento.


Juanma Rico

unread,
Feb 8, 2017, 5:39:10 AM2/8/17
to FPGAwars: explorando el lado libre

 Empiezo yo con algunos puntos.

 Icestudio versión 0.3.0-beta3-dev

  • He estado haciendo bloques y al hacer zoom en la pantalla general, todas las letras se modifican excepto las letras del interior del código y los comentarios que quedan al mismo tamaño... es muy molesto y no es nada útil.

  • Al modificar un bloque ya conectado porque se me ha olvidado una entrada o una salida, el bloque entero se desconecta y debo volver a conectarlo... imagino que porque el id del bloque cambia y es como un bloque nuevo pero... ¿No se podrían reconectar automáticamente?

  • También me he dado cuenta que el copy-paste no funciona entre distintos ficheros o ventanas abiertos... también es un poco frustante tener que repetir un bloque que se te ha colado en otro esquema y no lo puedes recuperar ni sacar del fichero donde se ha creado.

  • El aspecto exterior y las propiedades de los bloques no se pueden modificar, poder ver las propiedades y poder modificar las básicas (versión, autor, fecha, imagen) sería conveniente y quizás, para las más avanzadas, poder contar con un programa externo de edición.

NexusVI

unread,
Feb 8, 2017, 10:43:19 AM2/8/17
to FPGAwars: explorando el lado libre
Hola, a mi me gustaria comentar una idea a la que llevo dandole vueltas un tiempo. En realidad no esta relacionado con ninguna version en concreto de icestudio sino que seria un cambio profundo de concepto.

Teniendo en cuenta que ya hoy Icestudio esta programado como si fuese una pagina web, ¿Por que no realmente implementarlo como una pagina web? Accediendo a la herramienta a traves del navegador y conectando los puertos USB del PC con el server a traves del API WebUSB https://wicg.github.io/webusb/. Creo que Chrome ya tiene soporte experimental y se podria empezar a plantear.

Esto permitiria no tener que instalar la aplicacion, no tener que mantener diferentes paquetes para sistema operativo (que siempre es un coñazo), con la ultima version siempre disponible y ademas abriria un amplio campo de opciones colaborativas como que las colecciones/actualizaciones que sube un usuario estubieran inmediatamente disponibles para todos...

Un Saludo

Juan José Luna Espinosa

unread,
Feb 8, 2017, 11:54:42 AM2/8/17
to fpga-wars-explora...@googlegroups.com
El problema sería el acceso a apio para programar la placa: No sería posible sin algún plugin en el navegador.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/b3c1a790-c017-46d8-ba60-08a8756443cd%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

NexusVI

unread,
Feb 8, 2017, 12:15:30 PM2/8/17
to FPGAwars: explorando el lado libre
Bueno claro, esto seria para desarrollar...
Podria generarse el bitstream en el server y que fuera el js de la pagina el que una vez obtenido se lo mandara a la placa por usb.
O aun mejor si pudieramos conectar directamente un apio en el server con el puerto USB del pc usando el navegador como bypass...

Yo me ofrezco a explorarlo si a la gente le parece que es una buena idea...

Jesús Arroyo

unread,
Feb 8, 2017, 12:39:46 PM2/8/17
to FPGAwars: explorando el lado libre


El miércoles, 8 de febrero de 2017, 11:39:10 (UTC+1), Juanma Rico escribió:

 Empiezo yo con algunos puntos.

 Icestudio versión 0.3.0-beta3-dev

  • He estado haciendo bloques y al hacer zoom en la pantalla general, todas las letras se modifican excepto las letras del interior del código y los comentarios que quedan al mismo tamaño... es muy molesto y no es nada útil.

Esto es así porque al escalar (transformar) mediante css el objeto ACE editor queda muy raro y borroso. Sin embargo se me ocurre que se podría combinar con lo que sugirió Javascam del zoom y ajustar la fuente al zoom entero más próximo.
 
  • Al modificar un bloque ya conectado porque se me ha olvidado una entrada o una salida, el bloque entero se desconecta y debo volver a conectarlo... imagino que porque el id del bloque cambia y es como un bloque nuevo pero... ¿No se podrían reconectar automáticamente?

Te refieres a que si creas un bloque nuevo has de volver a conectarlo verdad? Realmente creo que eso no es posible de una forma general ya que eliminas un bloque y luego añades otro, por lo que no tienen ninguna relación. Por ejemplos añades un bloque AND lo conectas, luego lo borrar y añades un OR. La aplicación debería almacenar qué conexiones tenía el bloque borrado para asignarlas al bloque nuevo, pero... dónde viene expresada la relación de sustitución de un bloque por otro? eso implicaría añadir un bloque y que se conectara automáticamente. No veo cómo automatizarlo a nivel conceptual, pero si a alguien se le ocurre algo es bienvenido ;)
  • También me he dado cuenta que el copy-paste no funciona entre distintos ficheros o ventanas abiertos... también es un poco frustante tener que repetir un bloque que se te ha colado en otro esquema y no lo puedes recuperar ni sacar del fichero donde se ha creado.

 Efectivamente. El Clipboard es un objeto de cada aplicación (Cada ventana es un proceso independiente). Me parece una buena idea así que la apunto en la wishlist para investigar.
  • El aspecto exterior y las propiedades de los bloques no se pueden modificar, poder ver las propiedades y poder modificar las básicas (versión, autor, fecha, imagen) sería conveniente y quizás, para las más avanzadas, poder contar con un programa externo de edición.

No se si comprendo bien tu pregunta, pero si te refieres a la Información del proyecto, la puedes ver y editar en Edit > Preferences > Project information. Adjunto unos elaces a la documentación: http://icestudio.readthedocs.io/en/latest/source/gui.html#preferences, http://icestudio.readthedocs.io/en/latest/source/howto.html#create-a-block.

Un saludo.
 

Juanma Rico

unread,
Feb 8, 2017, 1:06:43 PM2/8/17
to FPGAwars: explorando el lado libre

Te respondo en rojo...


El miércoles, 8 de febrero de 2017, 18:39:46 (UTC+1), Jesús Arroyo escribió:


El miércoles, 8 de febrero de 2017, 11:39:10 (UTC+1), Juanma Rico escribió:

 Empiezo yo con algunos puntos.

 Icestudio versión 0.3.0-beta3-dev

  • He estado haciendo bloques y al hacer zoom en la pantalla general, todas las letras se modifican excepto las letras del interior del código y los comentarios que quedan al mismo tamaño... es muy molesto y no es nada útil.

Esto es así porque al escalar (transformar) mediante css el objeto ACE editor queda muy raro y borroso. Sin embargo se me ocurre que se podría combinar con lo que sugirió Javascam del zoom y ajustar la fuente al zoom entero más próximo.

Perfecto... O probar con una opción (por lo menos hasta encontrar una solución mejor), permitir zoom o no zoom sobre este tipo de objetos... :)


 
  • Al modificar un bloque ya conectado porque se me ha olvidado una entrada o una salida, el bloque entero se desconecta y debo volver a conectarlo... imagino que porque el id del bloque cambia y es como un bloque nuevo pero... ¿No se podrían reconectar automáticamente?
     
Te refieres a que si creas un bloque nuevo has de volver a conectarlo verdad? Realmente creo que eso no es posible de una forma general ya que eliminas un bloque y luego añades otro, por lo que no tienen ninguna relación. Por ejemplos añades un bloque AND lo conectas, luego lo borrar y añades un OR. La aplicación debería almacenar qué conexiones tenía el bloque borrado para asignarlas al bloque nuevo, pero... dónde viene expresada la relación de sustitución de un bloque por otro? eso implicaría añadir un bloque y que se conectara automáticamente. No veo cómo automatizarlo a nivel conceptual, pero si a alguien se le ocurre algo es bienvenido ;)

No,no,... es el mismo bloque que tú creas (de código) ya conectado al que le modificas las entradas, salidas y/o parámetros. Por ejemplo, creas una AND de dos entradas en código, la conectas, recuerdas que debía ser de tres, la editas, le añades una entrada más y al aceptar... te lo desconecta todo. :(
  • También me he dado cuenta que el copy-paste no funciona entre distintos ficheros o ventanas abiertos... también es un poco frustante tener que repetir un bloque que se te ha colado en otro esquema y no lo puedes recuperar ni sacar del fichero donde se ha creado.

 Efectivamente. El Clipboard es un objeto de cada aplicación (Cada ventana es un proceso independiente). Me parece una buena idea así que la apunto en la wishlist para investigar.

Nada que añadir... espararé impaciente a probarlo cuando lo tengas listo... :)
  • El aspecto exterior y las propiedades de los bloques no se pueden modificar, poder ver las propiedades y poder modificar las básicas (versión, autor, fecha, imagen) sería conveniente y quizás, para las más avanzadas, poder contar con un programa externo de edición.

No se si comprendo bien tu pregunta, pero si te refieres a la Información del proyecto, la puedes ver y editar en Edit > Preferences > Project information. Adjunto unos elaces a la documentación: http://icestudio.readthedocs.io/en/latest/source/gui.html#preferences, http://icestudio.readthedocs.io/en/latest/source/howto.html#create-a-block.

jajajajajaj, sí a eso me refería... ¡¡lo fácil que lo tenía y yo trampeando la imagen SVG para modificar directamente el fichero de texto .ice!!! jajajaja
Bueno, aparte de mi inutilidad... Lo más intuitivo (para los torpes como yo) quizás sería que sobre un bloque con el click derecho nos salga un menú en el que poder seleccionar "cambiar propiedades"... pero claro, para eso se deben de poder editar los bloques desde el fichero que los contiene...


Un saludo.
 

Jesús Arroyo

unread,
Feb 8, 2017, 1:31:29 PM2/8/17
to FPGAwars: explorando el lado libre
Buenas NexusVI,

Muy interesante el tema que sacas, pero si te parece, lo comentamos en otro hilo para lo liar este ;)

Un saludo.

Juanma Rico

unread,
Feb 8, 2017, 1:32:27 PM2/8/17
to FPGAwars: explorando el lado libre

Icestudio versión 0.3.0-beta3-dev
  • Un menú de ficheros recientes a la hora de abrir un proyecto, me ha parecido siempre útil en las aplicaciones.

Jesús Arroyo

unread,
Feb 8, 2017, 1:53:12 PM2/8/17
to FPGAwars: explorando el lado libre
Te respondo en azul


El miércoles, 8 de febrero de 2017, 19:06:43 (UTC+1), Juanma Rico escribió:

Te respondo en rojo...


El miércoles, 8 de febrero de 2017, 18:39:46 (UTC+1), Jesús Arroyo escribió:


El miércoles, 8 de febrero de 2017, 11:39:10 (UTC+1), Juanma Rico escribió:

 Empiezo yo con algunos puntos.

 Icestudio versión 0.3.0-beta3-dev

  • He estado haciendo bloques y al hacer zoom en la pantalla general, todas las letras se modifican excepto las letras del interior del código y los comentarios que quedan al mismo tamaño... es muy molesto y no es nada útil.

Esto es así porque al escalar (transformar) mediante css el objeto ACE editor queda muy raro y borroso. Sin embargo se me ocurre que se podría combinar con lo que sugirió Javascam del zoom y ajustar la fuente al zoom entero más próximo.

Perfecto... O probar con una opción (por lo menos hasta encontrar una solución mejor), permitir zoom o no zoom sobre este tipo de objetos... :)


 
  • Al modificar un bloque ya conectado porque se me ha olvidado una entrada o una salida, el bloque entero se desconecta y debo volver a conectarlo... imagino que porque el id del bloque cambia y es como un bloque nuevo pero... ¿No se podrían reconectar automáticamente?
     
Te refieres a que si creas un bloque nuevo has de volver a conectarlo verdad? Realmente creo que eso no es posible de una forma general ya que eliminas un bloque y luego añades otro, por lo que no tienen ninguna relación. Por ejemplos añades un bloque AND lo conectas, luego lo borrar y añades un OR. La aplicación debería almacenar qué conexiones tenía el bloque borrado para asignarlas al bloque nuevo, pero... dónde viene expresada la relación de sustitución de un bloque por otro? eso implicaría añadir un bloque y que se conectara automáticamente. No veo cómo automatizarlo a nivel conceptual, pero si a alguien se le ocurre algo es bienvenido ;)

No,no,... es el mismo bloque que tú creas (de código) ya conectado al que le modificas las entradas, salidas y/o parámetros. Por ejemplo, creas una AND de dos entradas en código, la conectas, recuerdas que debía ser de tres, la editas, le añades una entrada más y al aceptar... te lo desconecta todo. :(


Ahh, entendido. Te cuento un secreto. Al editar un bloque código se elimina el anterior y se crea un nuevo. Por eso ese comportamiento. Creo que con una buena reflexión se podría gestionar de la siguiente manera: si cambia el tipo (wire, bus) o el tamaño del pin se desconecta, lo mismo si este se elimina, pero conservar el resto. Lo apunto a la lista de pensar.

  • También me he dado cuenta que el copy-paste no funciona entre distintos ficheros o ventanas abiertos... también es un poco frustante tener que repetir un bloque que se te ha colado en otro esquema y no lo puedes recuperar ni sacar del fichero donde se ha creado.

 Efectivamente. El Clipboard es un objeto de cada aplicación (Cada ventana es un proceso independiente). Me parece una buena idea así que la apunto en la wishlist para investigar.

Nada que añadir... espararé impaciente a probarlo cuando lo tengas listo... :)

  • El aspecto exterior y las propiedades de los bloques no se pueden modificar, poder ver las propiedades y poder modificar las básicas (versión, autor, fecha, imagen) sería conveniente y quizás, para las más avanzadas, poder contar con un programa externo de edición.

No se si comprendo bien tu pregunta, pero si te refieres a la Información del proyecto, la puedes ver y editar en Edit > Preferences > Project information. Adjunto unos elaces a la documentación: http://icestudio.readthedocs.io/en/latest/source/gui.html#preferences, http://icestudio.readthedocs.io/en/latest/source/howto.html#create-a-block.

jajajajajaj, sí a eso me refería... ¡¡lo fácil que lo tenía y yo trampeando la imagen SVG para modificar directamente el fichero de texto .ice!!! jajajaja
Bueno, aparte de mi inutilidad... Lo más intuitivo (para los torpes como yo) quizás sería que sobre un bloque con el click derecho nos salga un menú en el que poder seleccionar "cambiar propiedades"... pero claro, para eso se deben de poder editar los bloques desde el fichero que los contiene...


Lo de modificar las propiedades del bloque lo dejamos para la siguiente etapa.
 

Un saludo.
 

Jesús Arroyo

unread,
Feb 8, 2017, 1:55:01 PM2/8/17
to FPGAwars: explorando el lado libre


El miércoles, 8 de febrero de 2017, 19:32:27 (UTC+1), Juanma Rico escribió:

Icestudio versión 0.3.0-beta3-dev
  • Un menú de ficheros recientes a la hora de abrir un proyecto, me ha parecido siempre útil en las aplicaciones.

Juanma Rico

unread,
Feb 8, 2017, 3:15:03 PM2/8/17
to FPGAwars: explorando el lado libre

 Icestudio versión 0.3.0-beta3-dev

Una imagen...



  • Sé que es una tontería... pero que no quede centrada la señal de reloj del bloque con la línea de conexión (o viceversa) me trae loco...  ¿tiene arreglo? :)

  • Y como se aprecia en la imagen hay dos bloques ya con sus propiedades identificadas, pero... ¿Habría alguna forma de "apellidar" los bloques una vez añadidos?
    Por ejemplo, en la imagen poder añadir una etiqueta que diga "Control" y "Estado" para que se identifiquen facilmente de un primer vistazo.
Auto Generated Inline Image 1

Jesús Arroyo

unread,
Feb 9, 2017, 2:38:07 AM2/9/17
to FPGAwars: explorando el lado libre
Buenas,

  • Seguramente pueda mejorar el renderizado del reloj. Por curiosidad estás usando Windows?
  • Para añadir información extra al diseño puedes utilizar los bloques de Información

Juanma Rico

unread,
Feb 9, 2017, 3:19:40 AM2/9/17
to FPGAwars: explorando el lado libre


El jueves, 9 de febrero de 2017, 8:38:07 (UTC+1), Jesús Arroyo escribió:
Buenas,

  • Seguramente pueda mejorar el renderizado del reloj. Por curiosidad estás usando Windows?
Sí, un Win7.
  • Para añadir información extra al diseño puedes utilizar los bloques de Información
Sí, tienes razón... pero el bloque de información no es a primera vista, no está asociado al elemento y se pierde de pantalla al hacer zoom.
Mirando el fichero .ice veo que lo único que diferencia a los distintos bloques es un id único y hacen la referencia a otro de dependencia.
Igual con una asociación simple al final del fichero .ice id<->apellido se podría solucionar... es como en los esquemáticos electrónicos, tienes el componente R y luego R1, R2,...
según los vayas repitiendo... bueno, es una sugerencia... :)
Reply all
Reply to author
Forward
0 new messages