Is anyone using RoboEmu2 with the 2006/2007 controller

Is anyone using RoboEmu2 with the 2006/2007 controller? Based on the comments in the forum, it looks like a great tool, but the most recent reference to it that I can find in the forum is from 5/05.

I've downloaded the files.  They are dated 11/04, and definitely refer to the pre-2006 controller.  Before I spend a lot of time trying to make it work with the 2006 controller, I thought I'd check to see if anyone else has tried...

You might want to consider making this thread a poll… But I have to say now, i didn’t use it this year…

I tried to get it working with this year’s robot… I don’t think there is any good reason that it shouldn’t work… however I recommend applying the roboemu-specific changes to your code rather than trying to start with his files.

Two years ago, I hooked in some camera handlers to RoboEmu which basically used two of the analog or joystick sliders as center x and y coordinates of the camera blob.

void camera() {
	data_rdy=0;
	if (parse_mode==0) {
		Serial_Char_Callback('A');
		Serial_Char_Callback('C');
		Serial_Char_Callback('K');
		Serial_Char_Callback('\r');
	} else {
		Serial_Char_Callback('T');
		Serial_Char_Callback((char)ana_ins[4]);
		Serial_Char_Callback((char)ana_ins[5]);
		Serial_Char_Callback((char)ana_ins[4]);
		Serial_Char_Callback((char)ana_ins[5]);
		Serial_Char_Callback((char)ana_ins[4]);
		Serial_Char_Callback((char)ana_ins[5]);
		Serial_Char_Callback((char)20);
		Serial_Char_Callback((char)rc_dig_in18?90:0);
		Serial_Char_Callback((char)ana_ins[6]);
		Serial_Char_Callback((char)ana_ins[7]);
		Serial_Char_Callback('\r');
	}
}

all of those are analog inputs just getting fed directly back to the program, I believe, so they were easy to change in runtime and see how the code reacts…

Then, To hook up the camera, make your own copies of “Write_Serial_Port_Two” and “Read_Serial_Port_Two” to replace serial_ports.c and do some additional parsing to see whether the code expects an “ACK” after the command, or if it expects a “T” packet…
Again, this is a lot of work, but if you get it, it may be worthwhile.

For some reason, the auto box still comes greyed out… I think it works if you just enable it in the code, though he claimed “it tended to cause infinite loops.”

You might be able to think of a few other easier ways that could involve re_core and using something like the “user_display_mode” checkbox.

In addition, I added pot and encoder code by interpreting the motor output, for example:

		 hall_effect_add_1 = (pwm01-127)/4;
		 if (hall_effect_add_1<0)
			 hall_effect_add_1=-hall_effect_add_1;
		 
		 hall_effect_add_2 = ((255-pwm02)-127)/4;
		 if (hall_effect_add_2<0)
			 hall_effect_add_2=-hall_effect_add_2;
		 
		 arm_position_2+=(pwm03-127)/4;
		 arm_position_1+=(pwm04-127)/16;

		 if (arm_position_1<0)
			 arm_position_1=0;
		 if (arm_position_1>254)
			 arm_position_1=254;

		 if (arm_position_2<0)
			 arm_position_2=0;
		 if (arm_position_2>254)
			 arm_position_2=254;
}
/* And later in my update inputs function: */

		for (i=0;i<hall_effect_add_1;++i) {
			INTCON3bits.INT2IF=INTCON3bits.INT2IE=1;
			InterruptHandlerLow ();
		}
		
		for (i=0;i<hall_effect_add_2;++i) {
			INTCON3bits.INT3IF=INTCON3bits.INT3IE=1;
			InterruptHandlerLow ();
		}

		ana_ins[0]=arm_position_1;
		ana_ins[1]=arm_position_2;

Anyway, I really liked the idea of RoboEmu2, and it’s kind of sad that it’s just a little too hard to get working to be worthwhile in most cases.

If you get a nice and clean implementation of these features, I would be interested in seeing it (though in my case it was about as hacked up as you can get).

Patrick,

I apologize for not responding sooner, I got pulled off onto something else. Thanks for taking the time to reply, and including your code samples.

I will continue to work on this for next year, and let you know if I come up with something generally useful.

Looking for a tool to allow classroom full of students to play with robot code without an RC per student. I thought roboemu2 would be the cat’s meow, but can’t find it anywhere and robbayer.com is a dead site. Anybody got a clue?

Bill