MicroSeeker PIC/Smalltalk

Download Page

You can download a file-in for PIC/Smalltalk here (zip file). If you don't know how to get it into Smalltalk, you probably aren't ready to use it... This is for Squeak version 2.8, which you can get here.

This is a new version, released August 6, 2000. It fixes some bugs in the generated code, and also fixes some IDE problems, and gets rid of the pool dictionary problems from the last release.

There's an example of interfacing to a servo included.

To open a browser, evaluate:

    PicSmalltalkBrowser openBrowser

in a Morphic project. This gives you a regular class browser with a new sub-menu in the class and message list views.

This thing is designed to work with PIC 16F84 chips. It may work for others, but I haven't tried.

It includes a full-blown Smalltalk parser, since the version of Smalltalk I wrote it in originally doesn't include one.

If you have problems, you can email me, or better yet report them to the Squeak list. If it becomes a problem there, we can start a new egroups group or something for it.

I haven't extensively tested this in Squeak yet, so user beware. I did just port it a couple months ago from Visual Smalltalk to Dolphin, so I worked out most of the porting issues when I did that. I have successfully programmed a PIC chip with this version, so it does for the most part work.

There are no real classes or instances in this system. instance variables are global, so name them as such. The linker does a full closure on the methods called from the reset method and the isr method, so you can include lots of other support code that you don't use, and it doesn't end up costing space in the end assembler code.

I don't guarantee that the assembler produced from the included macros is 100% correct -- check the assembler output yourself carefully. If you don't know PIC assembler, you shouldn't be programming PICs, or you should buy a commercial C compiler.

If you look at macro methods in PicObject, you'll see that they basically just define a block. The code in those blocks is (of course) real Smalltalk code that is evaluated by the code generator (and thus the Squeak Compiler) when the PIC/Smalltalk code gets generated. You can take that as far as you need it in terms of optimization of code, or doing weird stuff.

Anyway, comments are welcome.

If you really like it, feel free to send me nice stuff, or job offers :-)


If you have any comments or ideas, please email me...

Go back to my MicroSeeker page...
Go back to my Smalltalk page...