RoboEmu 1.11beta1

To commemerate the 790th download (that’s an average of once per team!) of RoboEmu 1.10, I bring you RoboEmu 1.11.

Like 1.10, I’m releasing it here first to get a little feedback before turning it loose on the community as a whole in order to save headaches for both myself and the endusers.

Anyways, I think you’re going to like the new version, as it finally supports all the operators, both unary and binary. In addition, I took almost all of the suggestions I got last time around and implemented them. Here’s the changelog:

Fixed LOOKDOWN
Fixed ABS
Added support for REV, SQR, DCD, NCD, SIN, COS
Added support for //, **, */, DIG, REV
Added match mode (15s autonomous then 1:45 normal)
Added parsing of $STAMP directive–only need to open slot 0 now
Added ability to minimize
Added ability to open project files from command line
Added check for 26-byte limit
Added file freshness check–will reload files if needed
Added '!dump directive
Changed UI to have a pause toggle instead of two menu items
Moved recent file list to registry, where it belongs

As always, I’m looking for bug reports, logic errors, or new feature suggestions as well as anything else you want to send me.

–Rob

roboemu.zip (85.2 KB)


roboemu.zip (85.2 KB)

VERY COOL!!!

do you have to src available?

Out of curiosity, did you correct the action of comp_mode? Per update 11, 1 now means disabled…

*Originally posted by guzugi *
**VERY COOL!!!

do you have to src available?**

Yes, RoboEmu is open-source, GPL’d software. I didn’t post the source for 1.11beta because it is a little on the big side and I didn’t really want to waste CD’s space. If you want the source for version 1.10, it’s available at my website, http://www.robbayer.com/software.html. Or, if you want the 1.11beta1 source, I can send it to you later tonight.

*Originally posted by Nate Smith *
**Out of curiosity, did you correct the action of comp_mode? Per update 11, 1 now means disabled… **

Oops, kinda forgot about that. I’ll do it for the official 1.11 most definately. Thanks for the reminder.

Here’s a few questions I have for people:

  1. What does PBASIC do if you try to divide by 0. RoboEmu currently crashes.
  2. Is it legal to have more than one SHIFTOUT (reinit master uP)? RoboEmu currently allows this, but I’m not sure if the actual controllers do.
  3. What does PBASIC do with array-out-of-bounds type errors? Yes, this does mean I’m currently working on supporting arrays.
  4. Are there any other operators/commands/features you’d like to see.

i noticed you mention that it “automatically reloads files”? how does one do that? for example: i use roboemu in parallel with the stamp editor. When i make a change on the program, i have to switch to roboemu, browse for the file again, and then run it again…is there a shortcut to just say “reload the current file”?

And can you change the switch names like dashboard v1.1?

Looks like you can, just double click on the titles, and change the name!

*Originally posted by guzugi *
**i noticed you mention that it “automatically reloads files”? how does one do that? for example: i use roboemu in parallel with the stamp editor. When i make a change on the program, i have to switch to roboemu, browse for the file again, and then run it again…is there a shortcut to just say “reload the current file”? **

If you pauses the emulator (ctrl + p) and then start it again (ctrl +p), it will check to see if the file has been saved since the last load. If it has, it will ask you if you want to reload. Say “yes” and it should work correctly. Let me know if it doesn’t.

ya, cool, that works!

*Originally posted by rbayer *
**
2. Is it legal to have more than one SHIFTOUT (reinit master uP)? RoboEmu currently allows this, but I’m not sure if the actual controllers do.
4. Are there any other operators/commands/features you’d like to see. **

  1. According to Tom Watson at Innovation FIRST, you can reinitialize the master uP more then once. I have not tried it though.

I’d like to see a “real-time” mode, that runs through one loop and then pauses for the rest of 26 ms.

I’d also like to see a single step mode, so that it runs one loop of your program, and the pauses till you step again.

*Originally posted by Joe Ross *
**2) According to Tom Watson at Innovation FIRST, you can reinitialize the master uP more then once. I have not tried it though.

I’d like to see a “real-time” mode, that runs through one loop and then pauses for the rest of 26 ms.

I’d also like to see a single step mode, so that it runs one loop of your program, and the pauses till you step again. **

Thanks for the info. I’ll give it a try on a real robot soon, but hopefully it will work.

How fast is RoboEmu running for you right now? The way it’s written, it should run at a maximum of one loop every 26ms. Is this not happening?

Single-step would be very cool and very easy to implement. I’ll see what I can do.

I tried the time again, and even reset my computer, and the time is about 2x fast. And, the serout must have all the numbers in, unlike the old one.

I agree with Steve. It is at least 2 times faster then it should be. It may be even more then that.

*Originally posted by Joe Ross *
**I agree with Steve. It is at least 2 times faster then it should be. It may be even more then that. **

THAN. Have you been programming PBASIC too long?:wink:

I’m not sure if it this version, or if it’s all, but it doesn’t seem to support the “Toggle” command for feedback lights on the operator control.

*Originally posted by guzugi *
**I’m not sure if it this version, or if it’s all, but it doesn’t seem to support the “Toggle” command for feedback lights on the operator control. **

You are correct. No toggle support yet.

any idea if that would be in the next version (toggle) ? and when do you expect the next version?

also, let me just personally thank you because RoboEmu has saved me SO MUCH time! Now i can work on robot software AT HOME, without any robot, and know that when i put it on the bot, it will work perfectly, the first time!

THANK YOU!!!

*Originally posted by gwross *
**THAN. Have you been programming PBASIC too long?:wink: **

I don’t think that’s the problem…just that it has been too long since I took Mrs. Ross’s English Class :wink:

Back on topic…

I tried the timing on my windows 2000 machine, and it works fine. On the windows 98 machine, it runs too fast. Any ideas?

*Originally posted by Joe Ross *
**
I tried the timing on my windows 2000 machine, and it works fine. On the windows 98 machine, it runs too fast. Any ideas? **

That’s very, very strange. On my computer, it seems to run 2x too slow. (ie 50ms/loop). I’m going to keep trying to fix it, but I’m not quite sure what’s going on.

–Rob

actually, I saw the 2x too slow when i ran it in wine…but I attributed that to wine, not the program.