InnovationFIRST just posted the new RC default code and I’m not happy. First, it seems to use PBASIC 2.5, which doesn’t exist according to google. Ditto on the use of the C-style (similar to switch) select commands.
Not only that, but it won’t even tokenize correctly under the most recent STAMP software (1.33).
I’m hoping it’s some kind of sick joke to make people like me hyperventilate, but it looks genuine. Depending on what happens in the next few days, this may mean I have to completely gut RoboEmu, not to mention un-teach all my mentees old PBASIC.
OK, between the periods of being passed out from the aforementioned hyperventilation (:D), I’ve done a little research. The programming guide says to refer to BASIC stamp manual 2.0c. I just looked through the entire 353 page thing and there’s not a single occurance of the word else, or any reference to select…case constructs. The latter appears very similar to the QBASIC syntax, but that’s another matter…
Also the $PBASIC directive doesn’t seem to exist and the documentation completely ignores it, even though they do explain the $STAMP directive.
Given that the new RC code is dated 12-18-02, it seems really odd that they didn’t post this earlier.
Anyway, as I said before, the default code doesn’t even work anymore.
After reading the rest of the documentation, I’m a little calmer, as it says EduBot code and Full-size RC code are completely interchangeable, meaning RoboEmu should still work, at least with code written under the “old” style.
Finally, there references to autonomous mode appear to be copied-and-pasted straight fromt the EduCode, so it doesn’t really give anything new away. It is definately there though.
I looked at the code and i think that this will be easier to program with than the previous version. It also suggests automation which will be fun as well.
But now I am going to have to print the new programming manual.
The extra commands are the last 2 pages of the manual, although some more explanation would be nice… **
Yes, they are there. I know that. The problem is that it says to refer to the BASIC Stamp manual for more information, but the manual doesn’t have anyting on DO…LOOP,SELECT, etc. I even have the same version they are referencing (2.0c).
Unless there’s something brand spanking new inside the KOP, I’m not sure how any of this is going to work.
if rc_sw5 = 1 then p3_y = p3_y MAX 127
if rc_sw6 = 1 then p3_y = p3_y MIN 127
if rc_sw7 = 1 then p4_y = p4_y MAX 127
if rc_sw8 = 1 then p4_y = p4_y MIN 127
if rc_sw9 = 1 then p1_wheel = p1_wheel MAX 127
if rc_sw10 = 1 then p1_wheel = p1_wheel MIN 127
if rc_sw11 = 1 then p2_wheel = p2_wheel MAX 127
if rc_sw12 = 1 then p2_wheel = p2_wheel MIN 127
if rc_sw13 = 1 then p3_wheel = p3_wheel MAX 127
if rc_sw14 = 1 then p3_wheel = p3_wheel MIN 127
if rc_sw15 = 1 then p4_wheel = p4_wheel MAX 127
if rc_sw16 = 1 then p4_wheel = p4_wheel MIN 127
According to my manual (version 2.0c) THis is also illegal. The only thing allowed after a then is an address that program control will be shifted to. Personally, I prefer this way, but last time I tried it she didn’t work…
:ahh: Ok, I am trying to calm down now that I realize that I am not the only one who is stunned by the default program!
The IF Statements are all wrong, the PBASIC 2.5 directive is not supported on the latest PBASIC Stamp Editor, Where in the manual is the SELECT command?, or the DO…LOOP. I am not going to argue that I rather program in this “new” language, it seems simpler, but umm… if it can’t tokenize then isn’t it kinda useless?
What do they expect the programmers to do? On top of autonomous mode are they going to have us make our own tokenizer too?
What is going on? I thought I would have this programming thing under control!
the reason you cant find any data… is that the version of Pbasic that the RC uses… is different than actual Pbasic for some reason. alot of the commands are slighty altered. expecially the Serin commands… if you try to do that with the standard BS2… it repots that the stamp isnt found.
the code is a little different… but who cares? worry more that the new game is a Robot Tupperware party ^.^
Thanks for sending that email Rob. I sure hope this can be resolved soon. The CD in the KOP only contains pdf’s of the FIRST manuals as far as I can tell.
*Originally posted by PyroPhin *
**the reason you cant find any data… is that the version of Pbasic that the RC uses… is different than actual Pbasic for some reason. alot of the commands are slighty altered. expecially the Serin commands… if you try to do that with the standard BS2… it repots that the stamp isnt found.
the code is a little different… but who cares? worry more that the new game is a Robot Tupperware party ^.^
~Pyro **
Umm… sorry, but that’s just plain not true. The PBASIC that the RC uses is Parallax PBASIC. 100% pure, unmolested goodness. Yes, the method for getting data in and out of the program is not standard, but it still uses a standard command. Serin and Serout can be used on any of the Stamp 2SX’s I/O pins, and InnovationFIRST just happens to have one of these connected to the input/output uP.
the main difference i was referring to was the Serin/Serout stuffs… but however, there are subtle differences in the coding… not enough to notice… but the stuff in the initiation routine is a little different… I dont know if yhe casual programmer would pick up on it… but when you dig deep… there are teeny tiny things that will not run on a standard BS2.