View Full Version : User Documentation
MWeberSSI
06-28-02, 05:08 PM
I read the IsoPod and IsoMAx documenation and find a lot of infomation missing. Sinple things like "how do I list all machines?", "how do I edit or debug machines?, "what do the resevered words in the word list do (incl. syntax)?", "what is the general syntax of the language (max. variable length, input line length, syntax rules, allows charactes in varaibale names, etc......). How do I erase code? How do I list code in the Pod? Is the code retained over a power-down?
The language approach apprears pretty nice (Do all reserved words have to be in CAPS?).
Where do I find all this info?
RMDumse
06-28-02, 10:39 PM
All this info? Ask or wait. The manual is updated often. I gave nmitech a new copy of the IsoPod(TM) manual yesterday, althought I didn't follow up to see if it was posted.
Since you did ask...
"How do I list all machines?"
WORDS lists all definitions in the language. Machines are write only. We have a machine compiler in the board, not a machine uncompiler. Keep your source in a file. Download it when testing. Remove from memory. Edit in file. Download again. Test.
"How do I edit or debug machines?"
You enter a machine and test it interactively. If you don't like what you've got, FORGET it and start over from what is forgotten onward. Once you are happy with a machine you install it. Usually you will develop machines in a text editor, and download them and test them interactively. You can have your text in another window, and communicate interactively with a terminal program such as MaxTerm.
"What do the resevered words in the word list do (incl. syntax)?"
I assume you're looking at the manual under syntax then. Most are compiler words, not of general interest. I'd say don't worry about them. Trinaries are important too, but too complex to explain in this short post. Wait for the manual update. There are quite a few procedural words in the Forth section of WORDS you will want to learn eventually. But take it easy. Everything you might want to do in a language is possible.
"What is the general syntax of the language (max. variable length, input line length, syntax rules, allows charactes in varaibale names, etc......).
Input line is 80 char. Everything input in the language is a word or a number. Words and numbers are separated by spaces. So no spaces or backspaces in names. Up to 32 characters per name.
Words must match their names in the WORDS list. If not a WORD or an NUMBER it is an error. That's it for the language. Some words have their own syntax, usually looking for a string to follow to be used as a name. For instance, MACHINE looks at the following string on the same line as the name of the new machine. Really that's about all there is too it.
"How do I erase code?"
FORGET <name> Everything after that name is removed from the langauge.
"How do I list code in the Pod?"
You don't. There is (currently) no uncompiler. You can list the words in the Pod, but typing WORDS
"Is the code retained over a power-down?"
In version V0.2 it isn't. A reset starts you over. In version V0.3 is should be. In both versions, though, the program can be put into Flash and autostarted. But that is a whole 'nother story.
"Do all reserved words have to be in CAPS?"
Yes. I do wonder if this isn't an artifact of the teletype. But commands in the military aren't given in lower case. They are said with command presence. So when you talk to the Pod, be the General/Admiral. Use CAPs for command presence.
MWeberSSI
06-29-02, 06:06 PM
Thanks for the quick response. I will have to ask a lot, i.e. how do I access the A/D converters, how do I program the PWMs, etc? Examples would be great.
Does NMI plan a code example repository? It would be great if code snipplets could be accessable to the community. I would be happy to contribute.
RMDumse
06-29-02, 07:28 PM
"how do I access the A/D converters"
I haven't gotten that far, but the simplest method is just setup one operating register, then when ever you want data, just take it.
"how do I program the PWMs, etc?"
Working on that currently. RC Servo at least. I have the code for the 12 hardware PWM, but I'm trying to add a patch for running the 16 timers as PWM as well.
BTW, the hardware manual for the chip covers everything at the register level, the link is given in another discussion thread here. If you want to go right to the registers and do it yourself, you can. Sharing would be nice.
"Examples would be great."
Yes. We plan it.
"Does NMI plan a code example repository?"
Yes, LC is already accumulating some examples in a subdirectory here. I don't remember it off the top of my head. Maybe he can give you a link. We hope you might share the approaches ya'll take, so we can all benefit.
vBulletin v3.0.7, Copyright ©2000-2010, Jelsoft Enterprises Ltd.