PropForth 4.0 is available for download
prof_braino
Posts: 4,313
PropForth 4.0 is available for download
http://code.google.com/p/propforth/downloads/list
This release includes support for:
Spinneret (Wiznet5100) Ethernet controller
- IP server
- Telnet server
High-speed synchronous serial communication
(similar to "full clock speed serial" described by Beau Schwabe)
- supports master/slave configuration
- supports n-channels 1 per available cog
- tested at 6,000 application character per second
removed - incorrect
- supports N available cogs where N = (Number of Props) * 6
Multiple serial connection support
ROM-less boot slaves
- Master emulate EEPROM for slave (currently tested with 1 slave)
- Master provides clock for slaves
- needs only three resistors (no crystal, no EEPROM, no capacitor) per slave
standardized I/O for:
- serial
- Ethernet
- High Resolution VGA Kernel
- Low Resolution VGA extension
- cogs
these are all handled the same way now
EEPROM file system
Minimal default kernel (user extensible)
Forth development extension defined in forth (pick and chose what you use)
Regression test suite (in case you make a change and want to see if something broke)
PropForth 4.0 also include the features from previous releases:
Interactive development environment
User extensible function dictionary
High Resolution VGA kernel displaying two simultaneous interactive sessions -Two cogs on each half of the screen
-"Jupiter ACE" standalone operation (needs no PC)
Low resolution VGA extension support
- 16 colors
- giant character
- toggle between two interactive sessions
-"Jupiter ACE" standalone operation (needs no PC)
PropForth Assembler
-PropForth disassembler
-PropForth debugger
Runs on ANY propeller chip, needs no particular hardware
- default hardware is prop only
- VGA default is demo board, user configurable
- support for Hive configuration included
- easily ports to Morpheus or C3, but they haven't sent us boards yet and its too early for Christmas
supports any EEPROM (so far) 0K, 32K, 64K
floating point from the command line
Software Logic Analyzer
Software Forth Multi-tasker (pause round-robin)
Software Assembler Multi-tasker (next round-robin)
Ability to re-generate the spin source for the kernel
- user modifications encouraged
Tons of (weak) documentation on the Google code site
(send me a message I'll fix any error you spot)
If you like this stuff, then this is stuff you'll like!
Perfect for beginners, especially those with or wishing for a strong background in electronics hardware and stack based computing!
http://code.google.com/p/propforth/downloads/list
This release includes support for:
Spinneret (Wiznet5100) Ethernet controller
- IP server
- Telnet server
High-speed synchronous serial communication
(similar to "full clock speed serial" described by Beau Schwabe)
- supports master/slave configuration
- supports n-channels 1 per available cog
- tested at 6,000 application character per second
removed - incorrect
- supports N available cogs where N = (Number of Props) * 6
Multiple serial connection support
ROM-less boot slaves
- Master emulate EEPROM for slave (currently tested with 1 slave)
- Master provides clock for slaves
- needs only three resistors (no crystal, no EEPROM, no capacitor) per slave
standardized I/O for:
- serial
- Ethernet
- High Resolution VGA Kernel
- Low Resolution VGA extension
- cogs
these are all handled the same way now
EEPROM file system
Minimal default kernel (user extensible)
Forth development extension defined in forth (pick and chose what you use)
Regression test suite (in case you make a change and want to see if something broke)
PropForth 4.0 also include the features from previous releases:
Interactive development environment
User extensible function dictionary
High Resolution VGA kernel displaying two simultaneous interactive sessions -Two cogs on each half of the screen
-"Jupiter ACE" standalone operation (needs no PC)
Low resolution VGA extension support
- 16 colors
- giant character
- toggle between two interactive sessions
-"Jupiter ACE" standalone operation (needs no PC)
PropForth Assembler
-PropForth disassembler
-PropForth debugger
Runs on ANY propeller chip, needs no particular hardware
- default hardware is prop only
- VGA default is demo board, user configurable
- support for Hive configuration included
- easily ports to Morpheus or C3, but they haven't sent us boards yet and its too early for Christmas
supports any EEPROM (so far) 0K, 32K, 64K
floating point from the command line
Software Logic Analyzer
Software Forth Multi-tasker (pause round-robin)
Software Assembler Multi-tasker (next round-robin)
Ability to re-generate the spin source for the kernel
- user modifications encouraged
Tons of (weak) documentation on the Google code site
(send me a message I'll fix any error you spot)
If you like this stuff, then this is stuff you'll like!
Perfect for beginners, especially those with or wishing for a strong background in electronics hardware and stack based computing!
Comments
Two quick notes:
* I had to find the link to the Google code page on the previous (v3.5?) post.
* I find the notation "some_buffer long 0[256]" much easier to follow than a bunch of lines of "some_buffer long 0,0,0,0...etc" [8^)
thanks for many future hours of poring over well-crafted Spin code!
Jonathan
do you plan to add support for external SRAM memory? I use the dracblade board (see http://www.smarthome.viviti.com/propeller).
Best regards,
Andreas
I hope you enjoy it!
Sal just did a major re-write to reorganize the kernel and make the I/O more consistent. I haven't figured it out yet, but apparently it no longer cares if its serial, Ethernet, VGA, or another cog; you plug in and go the same way with all of them.
* Fixed
* The unusual use of thing that look like lists are due to the interactive kernel. Some folks find the interactive nature worth the effort of learning the stack based methods
The coma operators c, w, l, compile a byte, word or long to the dictionary; and initialize the location to whatever is on the stack
so the coma actual mean "compile that to the dictionary". Its a little bit different than the syntax you might be used to, but its only dark for a couple of days.
If you happen to spend time on the wiki documentation, please send me messages on things you find that don't work or are wrong.
Much is out of date, but I only have time and organization skilled to fix specific items. We're planning to go over everything after Christmas, but documentation always seems to come last after experimenting.
Cheers!
EDIT - There isn't a word for byte or longs by default. You can add them, but they are not in the default kernel. something about efficiency and code size
not in default kernel:
cvariable MyByteLabel 127 c, 126 c,
lvariable MyLongLabel 4000000 l, 4000002 l,
That's fine. I'm relatively new to Forth. So I have enough time to learn the basics until those parts are finished.
Andreas
I installed PropForth4.
I have questions. I can't understand well because of much changing..
Main prop's P11 connect to slave's XI in README.
Slave Prop is no XTAL?
13. reboot, fsload LogicAnalyzer.f
I did. Prop reply-->Prop0 Cog6 ok
14. c" hex a aaa60 setHza b 6ACF0 setHzb" 5 cogx
I did. Prop reply-->Prop0 Cog6 ok
start up 2 clocks on IO pins A & B, then run <---- I don't know. What's this?
c" hex a aaa60 setHza b 6ACF0 setHzb" 5 cogx
Prop0 Cog6 ok
sampleNoTriger
UNDEFINED WORD sampleNoTriger
Prop0 Cog6 ok
caskaz always asks the hard questions!
slave has no XTAL, it is driven by MASTER. I haven't fixed the docs, the new version info is in the comments; old version was
http://code.google.com/p/propforth/wiki/HighSpeedSerialInterpropCommunications
Search source for "sampleNoTriger", it might be "sampleNoTrigger" with two g's if that's a typo.
I'll start on the update for this doc tonight
EDIT 20101205
Please see new tutorial link in post#35
I tested fs.f.
fsls put out lists.
End oflists display "-6C80 bytes free in file system".
This "-6C80 bytes" is wrong?
Hi. It's type.
I don't know, I didn't test that yet, but
If the last item in the list is a TOTAL then it might be a dash.
Sal said the kernel uses 4 k, and 6c80 is around 27,776
Does that fit what the code says?
I did see a word in the logic analyzer that is something like
sampleNoTrigger
Find that to determine the correct spelling and how to load it.
ALSO - The logic analyzer is defined in ONLY ONE COG, not in the main hub dictionary.
SO if you have logic analyser defined in COG 5, you won't see the cog 5 only parts in cog 6
Switch to cog 5 and see if its there.
Usage might be:
Thanks for testing this stuff out. I won't be able to get to it until tonight.
In README.TXT there is below;
IO 0 --> 220 ohm --> IO 30
IO 1 --> 220 ohm --> IO 31
In norom.f there is below;
IO 0 --> --> IO 30
IO 1 --> --> IO 31
Which is correct?
No pull-up-resister?
In com.f P20&P21 are used. These are different another com?
I test procedures from 1. to read README.TXT.
But I CANNOT go ahead from 14.
I cannot understand what are these.
I use protoboard as main.
40pin propeller as slave.
protpboard
slave
P8
> 220ohm -> P28
P9
> 220ohm -> P29 -- 10kohm(pull-up resister) --> VDD
P10
> RESET
P11
> XI
3.3V
> VDD
0V
--> VSS
Hardware is wrong?
No, it looks right.
Is slave BOE also to VSS?
I am really swamped here, I won't get to it till weekend. Apologies.
No TV yet. Sal doesn't use it, so he left that as an exercise for the user. Hi and LOW VGA have fit all needs (mostly) so far.
If you look at the VGA kernel compared to the standard kernel, you should be able to determine what changed, and add the TV stuff the same way. At least thats what Sal says, but I haven't been able to figure it out yet. Its a little tough.
Give it a shot, if you get TV to work, you will truly be a Jedi Master. Or just leave it until more people are asking for it, then we'll all do it as a group. We have other fish to fry right now.
Of course slave BOE conncted to VSS.
I attached log from step 10 to step16.
At step16 WORD"cominit" use 0x14/0x15 for com-port.
master slave
P20
P20
P21
P21
Above is correct?
And "this starts a terminal, and connect to cog0 via the com interface,CTL-F exits" at step16
What is this? How it do?
Sorry, I cannot understand at all.
Ok, there are a couple different methods for the connection, you might be mixing methods, which could be causing problem.
When I first tried it it did not work either. The instructions were correct, but I made several assumptions that threw me in the wrong direction.
Sal usually checks his stuff, so my guess it that the instructions should be right. Although sometimes only Sal can understand them. Sorry. I can't look at it just yet.
Please try starting again, and moving slowly. I had to do this, and then DING! the light went on and it worked. But it took several tries before I could follow the instructions correctly.
I will go through the material on the weekend and try to make a better instruction. Sorry for the delay, I really want to work on it too, please bear with me.
I done step by step In README.TXT.
I'm wrong how to use TeraTerm?
If you get an UNDEFINED WORD response, it generally will not work.
Where you followed the directions correctly or whether teraterm is incorrect cannot be determined.
Figure out the UNDEFINED WORD message and proceed from there.
Otherwise, please wait until I can look at it.
I see.
LogicAnalyzer.f doesn't load at step13 of README.TXT.
Why?
no error messages.
I'm reading WORD'(fsload)' in fs.f.
various promo blurbs talk about multiple slaves. Questions ...
- do they 'daisy chain' or what? I mean if I took your reference setup with a Proto board, 40 pin DIP PropChip, and Spinaret and built up a small board with another 40 pin Dip Prop would I simply make the same connections between the 1st DIP Prop and the 2nd DIP Prop as were made between the Master Prop on the Proto and the 1st DIP Prop and so on for each additional slave?
- slaves??? Are they just for added CPU power, or can we address their I/O pins? If so, how?
- slaves??? When we start spinning off processes to slave cogs do we have any knowledge and/or control of what cog in which slave we are going to?
I have checked it over for mistakes, found and fixed a couple, which isn't to say I didn't suffer an operator head space error or two. A critical look would be appreciated .... hope this is of some help.
I have question to everyone.
I cannot test procedures of README.TXT.
This problem is caused only me?
You can test procedures of README.TXT?
No problem?
WORD"st?" is deleted?
And I made eeDump to see datas inside eeprom.
Dump-list is not expected form.
CarrigeReturn's line is inserted 1-line in Dump-list.
Why?
I noticed that too.
The code for the kernel has been re-organized, so we don't have to always load the development code. (For example, when the target device is complete and you only want the application, and don't need the command line).
So all the development material must be loaded from the XXX.f file. ButI didn't find that yet. I'll be talking to Sal tomorrow.
WOW. Your great.
I only ran the demo on the development version 3.6 which was not posted ti the public.
I was planning to start my testing today (intense week at work) but we had a small face-plant incident at Chuck E Cheese from which the Brainettes are still recovering.
Plan is to get to test tonight and post asap
I guess I should not post the releases early (before posting completed documentation), it seems to cause too much confusion. Sorry, I got too excited; I didn'twant my personal schedule to prevent you guys from playing.
I can see now that I am going to have some fun playing with it.
Another question: I see that the Spineret has a 4 bit buss for fast nibble transfers in addition to SPI. Does Sal have a driver in the kernel to drive it at 4bits?
Thanks!
Doug