Posts Tagged ‘ joystick

ARMYC Simulator

This is a very simple video of the ARMYC simulator, the simulator aims to be able to specify special ARM devices

In this case we are simulating three devices:

  • An internal memory, written in objective C.
  • An LCD device, written in python.
  • A joystick driver, written in python.

The interface to the programs is through the memory, and we can add the configuration through a simple file:

[dataflash0]
lib = at91sam9260
sym = dataflash
model = objc
base = 0
size = 2097152
 
[control1]
lib = at91sam9260
sym = Control
model = python
base = 8587830276
port = /dev/input/js0
 
[lcd]
lib = at91sam9260
sym = LcdMx
model = python
config = images.cfg
base = 4294963716
#include <controller.h>
#include <lcd.h>
 
void main() {
	unsigned char *lcd = (unsigned char *)4294963716;
	unsigned char *control1 = (unsigned char *)8587830276;
	unsigned char *control2 = (unsigned char *)8587830272;
	int i;
	char id1;
	char id2;
	char move1;
	char move2;
	id1 = createObject(lcd, 1, 1, 1);
	id2 = createObject(lcd, 2, 1, 1);
	put_char('0' + id1);
	put_char('\n');
	put_char('0' + id2);
	put_char('\n');
	while(1) {
		move1 = readControl(control1);
		move2 = readControl(control2);
		put_char('0' + move1);
		put_char(' ');
		put_char('0' + move2);
		put_char('\n');
		if(move1 != 8)
			move(lcd, id1, readControl(control1), 1);
		if(move2 != 8)
			move(lcd, id2, readControl(control2), 1);
	}
}

If you are interested in the project you can find info here