Showing posts with label Forth. Show all posts
Showing posts with label Forth. Show all posts

Tuesday, August 19, 2014

FISH Forth V1.5 - LPC1114 Updated Support - LPC812 Updated Support

Clyde has updated FISH Forth to Version 1.5. He has made some improvements. I'm just going to cover the major ones. There are now two versions of the FISH Forth for the LPC812. One is the full FISH suite and has 1K of Flash available for storing user programs. The other is a slightly reduced FISH (reductions noted in the documentation) that can hold 2K of user programs. The LPC812 has 4K of RAM space giving about 1 1/2K of user RAM space.

There is also a new FISH Forth for the LPC1114. It covers the versions of the LPC1114 (and likely the LPC1115 when we test it) that have 8K of RAM. The LPC1114 that we have tested has 32K of Flash (16K of program space) and 8K of RAM (giving about 5 1/2K of user RAM space). All the older versions of our software (that don't have known fatal bugs) are still available.

I will be providing links to all our hardware and software in another post which will be permanently on the sidebar.

Clyde has a link he will be using to post all new version of FISh and associated software and different processor versions. FISH File Folders.

Engineering is the art of making what you want from what you can get at a profit.

Wednesday, June 25, 2014

I2C Parallel Port 8 Bit - LED 14April2014


This fun little board is mainly for those new to I2C. It gives you an easy way to write and test code that will control an I2C device and see the results visibly. I have written some code that includes initializations to help get you started. I2C Parallel Port 8 Bit - LED 14April2014 - Software for the LPC812 FISH Forth. The code runs on our LPC812 Devl board.

Code that runs on the LPC1114 chip: I2C-8LED-LPC1114.

This board is available from OSH Park for $4.08.

You can get the board documentation package here: I2C Parallel Port 8 Bit - LED 14April2014 - Documentation

Engineering is the art of making what you want from what you can get at a profit.

Wednesday, April 30, 2014

LPC812 Devl - 20 March 2014



The LPC812 MCU board in the picture plugs into, communicates with, and is powered by a USB port. It has 8 parallel port pins which can also be assigned to other functions. And opposite the USB port connector it has our standard RJ11 I2C bus connector.

You can find the document package for the board at: LPC812 Devl 20 March 2014 Documentation.zip. The board is available from OSH Park - LPC812 Devl - 20 March 2014 for $7.35.

Forth for the LPC812 is available at New FISH - LPC812 Support. There is a link to instructions on how to load the Forth into the chip at the link.

The NXP Users Manual can be found at LPC812 User's Manual.

Update: 25 June 2014 1419z

There is a problem with the 20 March 2014 version of this board. It was accepting spurious (real?) shutdown signals from the PC after about 10 days and would not power up. This happened on PCs with XP and Win 7 so it is not a specific OS problem. So it took about 30 days for me to be convinced it was a real problem. I had to see the problem twice and then investigate for about 10 days.

I designed a modified board that can be "wired" (resistor removed or added) to not respond to the shut down signal - the way everyone else does it. R17 and C22 have been added. R17 is normally NI (not installed). That disconnects the shutdown signal. As far as I can tell no one uses that signal to control power from the USB port.

You can find the documentation for this revision at LPC812 Devl 5 June 2014 - Doc. This board will be available from OSH Park for $7.33.

Further update: 24 July 2014

Upon further investigation it turns out that the difficulties I has were caused by an intermittent solder joint. And it was a very strange intermittent that worked for 10 days and then got flaky. And it did that twice. So you can use either board depending on what you like. Check the different schematics and make your choice.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, April 27, 2014

New FISH - LPC812 Support

There is a new release of FISH Forth software that now includes LPC812 support and LPC1114 support. FISH_NXP_M0_PubRel_v1.3.zip. I will be announcing some new hardware to go with this software over the next week. Update: The new hardware is here.

Directions for downloading the code into any NXP processor (only some of them will work) can be found at loading FISH and other LPC1114 information.

V1.4 can be found here.

Engineering is the art of making what you want from what you can get at a profit.

Saturday, April 12, 2014

Forth Update And Some Nice Doc

Our resident software genius (ably assisted by his long distance friend Vic) has updated the FISH Forth for the LPC1114. You can find it here: No longer avalable - FISH_NXP_M0_1114_PubRel_v1.1.zip. See bug fix version below.

No errors were fixed. We haven't found any yet. Some words to help with shifting bits were added. In addition a glossary with copious code examples has been added. And some other things. Have a look.

Update: 13 April 2014 1941z

Well we found an error with the Flashing of user code. It has been fixed. You can find the latest code at:

FISH_NXP_M0_1114_PubRel_v1.2.zip

The prior release with the bug - v1.1 - will no longer be available.

Update: 18 April 2014 0854z

FISH is now listed on the figForth compilers page. Way to go Clyde!

Update: 27 April 2014 0246

There is a new release of FISH Forth that now includes support for the LPC812. Link at New FISH

Engineering is the art of making what you want from what you can get at a profit.

Friday, March 28, 2014

LPC1114 Devl



All the boards we have recently released

TTL To RS-232 DB9 M&F

TTL to USB

TTL to I2C

I2C-4SW-4LED 9Sept2012

were aimed at the release of our LPC1114 Development board. Or as I like to put it the LPC1114 Devl. And what do I mean by "we" and "our" ? Well it was developed as part of a team effort. An effort our little group likes to call ATeam Forth. This board is the center of a project to reintroduce the ease of Forth programming for microcomputing. All development in Forth happens interactively. And once you have developed and tested each bit of code there is a compiler on the board that speeds up the execution of the compiled code and includes easy ways to turn it into an application.

To see what you can do with the LPC1114 have a look at:

LPC1114 Data Sheet

LPC1114 Users Manual

So what do you need to start? Well you will need a way to talk to the board. Probably over USB. That is explained at TTL to USB. That post includes links to suitable terminal programs for your PC (there are probably similar programs for Apple users - but I'm not familiar with them) and an explanation of how to get them running.

Besides the USB board/terminal program you will need the LPC1114 Devl board. You can find the documentation for that board st LPC1114 Documentation. It includes the schematic, parts layout, and parts list. OSH Park has the boards for sale for $11.55 each.

And finally you will need to put the Forth located at ATeam Forth for the LPC1114 on the board. It is easy to do using a free tool called Flash Magic. I might add that if you have an LPC Xpresso LPC1114 Board with a serial/USB interface attached to it (TX and RX pins)it will also run our Forth. It should also run on the LPC1115 Xpresso. But we haven't tested it.

But back to Flash Magic. Once you have it installed follow these steps to load your LPC1114 with ATeam Forth.
1. Communications - Select your processor "LPC1114/102". You have already found your COM port as outlined in TTL to USB. Enter that in the COM Port box. The baud rate should be 9600. Interface is "None (ISP)".
2. Erase - check the box that is labeled "Erase all Flash+Code Rd Prot" do not check any other boxes in this section.
3. Hex File - Enter the location of your Hex file in the box. There is the usual "Browse" tool to make that easy.
4. Options - only check the box "Verify after programming"

Before you start programming install jumpers JU1 and JU2 on the board. Hit the reset button. You are now ready to

5. Start

It takes about a minute to install and verify ATeam Forth. Remove JU2 - go to your terminal program (set up for your COM Port and 9600 baud, 8 bits , no parity , one stop bit) and then press reset. You will see the sign on message indicating the number of free flash blocks and the date your version of ATeam FISH Forth was created. Press the "Enter" key and you will see "ok, go fish in BASE 10". That tells you the number base you are operating in in decimal. So how did it get the name FISH? Well, it is sort of an updated figForth. So we called it FigISH. Or just plain FISH. Go FISH.

Soldering notes for the LPC1114 Devl.

There is only one difficult to solder component on the board. The oscillator. It is difficult because the pads are not exposed. To make it easy lay down a generous amount (which is not much) of Chip Quik on the pads before you attempt to solder to them. Put the Chip Quik on the board before you place the oscillator for soldering. The solder will flow under the pads because of Chip Quik's outstanding wetting/fluxing ability. And also note. ALL the pads for components have been specifically designed for hand soldering. So fire up your iron!

More about Forth

If you are not familiar with Forth, I have added Starting Forth - pdf and Thinking Forth - pdf to the sidebar. Or click the links here. Obviously if you are new to Forth, Starting Forth is where you want to start. FISH does not completely conform to the Forth in the book. But it is close enough - especially in the beginning chapters - that you can use our hardware to follow along.

Update: 12 April 2014 2320z

The latest version of FISH Forth has been released. It has some added words for doing bit shifting and a Glossary with numerous examples. You can find the download link at Forth Update and Some Nice Doc.

Engineering is the art of making what you want from what you can get at a profit.

Sunday, March 23, 2014

I2C-4SW-4LED 9Sept2012

Now that you have your I2C interface working you will need to test it out on something. I have a nice little board for that. The I2C-4SW-4LED board. You can find the documentation here. As the name implies it has 4 switches (actually 2 pin jumper headers to reduce costs) and 4 LEDs on the board, so you can talk to it with I2C and make lights blink. And/or read the switches. The board is made in such a way that you can wire to external switches and LEDs for use on a front panel of what ever device you are building. If you use external LEDs do not install LEDs on the board. Nothing bad will happen. But it may not work the way you want because of differing LED voltages.

With the three Jumpers on the board - JP1, JP2, and JP3, you can set the address of the board so that you could easily have 32 LEDs and 32 switches in a system. Or other parallel ports using the PCA8574 for other things.

Please note that the chip comes in two flavors. The PCA8574 and the PCA8574A. They differ only in their I2C base address. The PCA8574 has a base address of 40h and the PCA8574A has a base address of 70h. This fact tripped us up in initial testing. Don't let it trip you up. And note: either chip can be used on the board. So you could actually have 16 of these boards in a system. If your I2C driver could drive that many.

OSH Park has the boards for sale for $6.00 each.

Update: 28 April 2014 0907z

You can find some test code that exercises the I2C bus and blinks the 4 LEDs on the board at I2C-4SW-4LED LED-Test.txt. It is written in FISH Forth.

Engineering is the art of making what you want from what you can get at a profit.