Lo primero que deberiamos hacer a mi criterio, es definir el lenguaje a utilizar para la programacion y tambien el compilador
Esto es importante para el intercambio de las rutinas que se van a desarrollar de forma independiente.
Esto obliga a definir el C como lenguaje. Y el compilador es un problema. Deberia ser un compilador Free y/u open source.
por ejemplo el
SDCC.
Pero aca hay que tener mucho cuidado ya que hay que asegurarse de que los dispositivos a usar, sean soportados por el compilador.
Por que C?. Muy simple. Portabilidad. Claridad. Estructura. Potencia.
Y ultimamente, los compiladores estan generando muy buen codigo assembler. lo cual no deberia ser una excusa.
Ademas, el C, segun el compilador, te permite embeber codigo assembler para aquellas rutinas que necesitan velocidad de procesamiento.
Creo que tendriamos que empezar por evaluar cual es el tamaño de un archivo en g-code.
a partir de ahi, dimensionar un dispositivo de intercambio.
Este dispositivo deberia ser lo mas estandard posible, inclusive preever la existencia a futuro.
asegurarse que los fabricantes no lo van a descartar.
entonces sugiero:
Primero. Definir el lenguaje de programacion el compilador y tambien el IDE para escribir y manipular el codigo.
Segundo. comentemos cual fue el tamaño de archivo maximo que hemos visto con codigo G.
el que yo vi tenia casi 1Mb y la maquina estuvo trabajando casi 40 minutos.
Esto nos va a dar una idea del tamaño que necesitamos para la memoria que contendra el codigo en el circuito. Aunque esto se puede manejar de otra forma.
Tercero. analicemos cual seria este dispositivo de intercambio.
Yo creo que un pen usb seria el adecuado.
Cuarto. Analizar tambien la estrucura de archivo del dispositivo de intercambio.
FAT, FAT32 o cualquier otra que se considere standard y perdure un soporte de los fabricantes.
Quinto. Conseguir librerias para manejar la estructura de archivo decidida. FAT, FAT32, etc.
si no hay, codificarlas. si hay que codificarlas, hay que desarrollar un prototipo para poder hacer pruebas de lectura.
Sexto. Si hay librerias, desarrollar un prototipo para leer el dispositivo y porbar la estructura de archivos.
Septimo. Desarrolladas las rutinas de lectura del dispositivo. empezariamos por la parte de interpretacin del codigo G.
y asi seguir "paso a paso" el proyecto.
Tambien habria que distribuir entre nosotros, la codificacion de las rutinas.
un grupo se encargaria de la lectura del dispositivo de intercambio.
Otro, de las rutinas de codigo G entre los cuales se repartirian la intrepretacion de cada funcion G.
Otro , se encargaria del manejo de los envios a los controladores de los ejes
Otro grupo se encargaria del sistema operativo a implementar para el manejo del circuito principal.
Otro, se encargaria del protocolo de conmunicacion interporcesador
Otro, se encargaria del diseño electrico.
etc.
Cada uno de nosotros, deberia decir cual es su especialidad en cada caso.
para dedicarse a esa parte del proyecto.
Cada grupo deberia tener un coordinador
Y deberia existir un coordinador general del proyecto.
Creo que esta seria una forma ordenada de empezar con el proyecto.
Si esto toma cuerpo y lo empezamos a tratar seriamente. Tendriamos que pensar en montar un manejador de proyecto o versiones para controlar los cambios y avances. porque sino, se va a complicar.
bueno gente, fijense y vemos como seguir.