N3tkat escribió:No entiendo muy bien a que te refieres. La placa actua como si fuera un cartucho de cara a la consola, entonces accedo a unas posiciones de memoria determinadas en las que estan mapeados los dispositivos externos (motores, sensores, leds, ...). El codigo de DS lo cargo primero desde un cartucho flash y despues conecto la consola a la placa, esto es asi porque al prototipo no le he añadido memoria flash, pero estoy trabajando en una version mas completa en una placa de circuito impreso que si tiene ya memoria flash para almacenar la rom.
Supondría que no me entenderias. Intentaré explicarme.
Supon que tienes la controladora conectada al robot y mapeas x registros de la SRAM del cartucho en la controladora:
-1 de control
-1 de tipo de funcion
-1 de datos
(dezconozco que dirección en la SRAM estan los registros)
Ahora tienes la consola conectada al robot (sin ningun software/cartucho)
Tu controladora lo que tendría que hacer es:
while(1){ //bucle infinito
while(lee_sram_control!=1){
sleep(x)
}
//Ahora el control es 1 -> implica que queremos hacer algo
datos=lee_sram_datos
switch(lee_sram_tipo_funcion){
case (gira_motor): gira(datos) break;
etc...
}
}
Entonces lo que tienes que hacer es arrancar la consola ponerla en modo descarga y cargar un programa que tu hagas:
Este programa lo que tiene que hacer es escribir la secuencia de cosas que quieres hacer en la SRAM (con la libreria PA_lib es my facil hacerlo)
Así podrías programar tu robot sin tener que sacarlo/meterlo en la placa.
Además una vez esten liberadas las librerias TCP/IP podrías controlar tu robot remotamente mediante esta misma forma. (enviando comandos via TCP/IP que lo que hacen es escribir en la SRAM)
Espero haberme explicado bien.