flashforth-devel Mailing List for FlashForth: for PIC and Atmega (Page 14)
Brought to you by:
oh2aun
You can subscribe to this list here.
2011 |
Jan
|
Feb
(22) |
Mar
(3) |
Apr
(4) |
May
(6) |
Jun
(8) |
Jul
|
Aug
(6) |
Sep
|
Oct
(20) |
Nov
(9) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
(4) |
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(14) |
Nov
(1) |
Dec
|
2013 |
Jan
(4) |
Feb
(5) |
Mar
(4) |
Apr
(2) |
May
|
Jun
(29) |
Jul
(7) |
Aug
|
Sep
(20) |
Oct
(9) |
Nov
(2) |
Dec
(7) |
2014 |
Jan
|
Feb
(23) |
Mar
(113) |
Apr
(25) |
May
(31) |
Jun
(9) |
Jul
(47) |
Aug
(15) |
Sep
(1) |
Oct
(4) |
Nov
(8) |
Dec
(3) |
2015 |
Jan
(21) |
Feb
(1) |
Mar
(18) |
Apr
(16) |
May
(100) |
Jun
(33) |
Jul
|
Aug
(10) |
Sep
(8) |
Oct
(7) |
Nov
(5) |
Dec
|
2016 |
Jan
(12) |
Feb
(9) |
Mar
|
Apr
(7) |
May
(5) |
Jun
(9) |
Jul
(1) |
Aug
(2) |
Sep
(17) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
(6) |
Feb
(12) |
Mar
(9) |
Apr
(3) |
May
(7) |
Jun
|
Jul
(12) |
Aug
|
Sep
(13) |
Oct
|
Nov
|
Dec
(10) |
2018 |
Jan
(1) |
Feb
|
Mar
(7) |
Apr
(4) |
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(21) |
Oct
(3) |
Nov
|
Dec
|
2019 |
Jan
(5) |
Feb
(4) |
Mar
|
Apr
|
May
(3) |
Jun
(11) |
Jul
(4) |
Aug
(6) |
Sep
(3) |
Oct
|
Nov
(9) |
Dec
(7) |
2020 |
Jan
(2) |
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
2021 |
Jan
|
Feb
|
Mar
(8) |
Apr
(40) |
May
(12) |
Jun
|
Jul
|
Aug
(3) |
Sep
(3) |
Oct
(4) |
Nov
(10) |
Dec
(4) |
2022 |
Jan
(29) |
Feb
(7) |
Mar
(10) |
Apr
|
May
(3) |
Jun
(3) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(6) |
2023 |
Jan
(8) |
Feb
|
Mar
(5) |
Apr
(9) |
May
(6) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(9) |
Aug
(7) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <mik...@fl...> - 2017-07-17 12:59:21
|
HiThe atmega 328 has only one uart, uart0. No need to change the operator uart. The avrasm minor version shud not matter. And if you get a working compilation I suppose your include file is ok. M. ------ Original message------From: Bruce CorbinDate: Mon, 17 Jul 2017 15:08To: mik...@fl...;fla...@li...;Cc: Subject:Re: [Flashforth-devel] assemble FlashForth for Arduino Uno Mikael, Thank you. That was very helpful. So far I have not found the exact assembler build you used. Also by comparing list files I don't think I have the exact same m328def.inc file, but I can assemble the source and get a hex file that is an exact match to the downloaded hex file. A huge step forward. My second step is to assemble the source to use the serial port. With external logic level to RS-232 level translators I will then have a Forth machine that communicates over RS-232. It appears that I need to edit the config.inc file and change OPERATOR_UART from 0 to 1. When I do this I get fatal errors during assembly. My initial assumption is that this is caused by the m328def.inc files that is very similar to yours but based upon the list files I don't think they are an exact match. Before I end up wasting too much time I'll ask three questions: 1) Is changing OPERATOR-UART the correct procedure to reassemble for the traditional serial port? 2) Is the exact m328def.inc file that you used available for download? 3) The avrasm2 file that I found is a few builds newer than yours. I don't think this is a problem but it is different. I didn't find your exact assembler on the AmForth site. Yours was 2.1.30. The one I found was 2.1.43. Do you think this is a problem? Thank you, Bruce On 07/16/2017 01:19 AM, mik...@fl... wrote: Hi, You need to use wine and avrasm2.exe from atmel studio4. That is my dev toolchain, works just fine on linux. Amforth used to have avrasm2 in its download area. M. ------ Original message------ From: Bruce Corbin Date: Sun, 16 Jul 2017 06:45 To: fla...@li...; Cc: Subject:[Flashforth-devel] assemble FlashForth for Arduino Uno I have been trying for hours to assemble FlashForth for the Arduino Uno. Soon I would like to compile to have it use the serial port (for an RS-232 console) but as my starting point I am trying to assemble the downloaded ff-atmega.asm file to generate the downloaded hex file. It seems like this should be both trivial and documented by one or two paragraphs on the download page that contains the source and hex.I have downloaded the AVR Studio for Windows, the Atmel 8-Bit AVR to olchain for Linux, avra for Linux and one or two other assemblers. So far the best I have been able to do is about 40-50 errors and warnings when using avra. If I recall correctly the error count was well over a thousand with Atmel AVR Studio. The downloaded Atmel toolchain also had a lot of reported errors.What assembler works? What assembler did the FlashForth developer(s) use?It looks like the code may have been assembled in a C environment since there is a comment in it that is commented out by a double slash. Some of my reported errors are also due to "strlen" in the source which again suggests a "C" environment to me. High in the downloaded listing file is "AVRASM ver. 2.1.30 avr/src/ff-atmega.asm Wed Mar 22 22:08:36 2017" but AVRASM isn't in the toolchain I downloaded from Atmel.Linux is by far my preferred OS but I can use Windows if necessary.I'm just trying to get started. Thank you for your help.----- -------------------------------------------------------------------------Check out the vibrant tech community on one of the world's mostengaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________Flashforth-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Bruce C. <bc...@cf...> - 2017-07-17 12:08:14
|
Mikael, Thank you. That was very helpful. So far I have not found the exact assembler build you used. Also by comparing list files I don't think I have the exact same m328def.inc file, but I can assemble the source and get a hex file that is an exact match to the downloaded hex file. A huge step forward. My second step is to assemble the source to use the serial port. With external logic level to RS-232 level translators I will then have a Forth machine that communicates over RS-232. It appears that I need to edit the config.inc file and change OPERATOR_UART from 0 to 1. When I do this I get fatal errors during assembly. My initial assumption is that this is caused by the m328def.inc files that is very similar to yours but based upon the list files I don't think they are an exact match. Before I end up wasting too much time I'll ask three questions: 1) Is changing OPERATOR-UART the correct procedure to reassemble for the traditional serial port? 2) Is the exact m328def.inc file that you used available for download? 3) The avrasm2 file that I found is a few builds newer than yours. I don't think this is a problem but it is different. I didn't find your exact assembler on the AmForth site. Yours was 2.1.30. The one I found was 2.1.43. Do you think this is a problem? Thank you, Bruce On 07/16/2017 01:19 AM, mik...@fl... wrote: > Hi, > You need to use wine and avrasm2.exe from atmel studio4. That is my > dev toolchain, works just fine on linux. > > Amforth used to have avrasm2 in its download area. > > M. > > ------ Original message------ > *From: *Bruce Corbin > *Date: *Sun, 16 Jul 2017 06:45 > *To: *fla...@li... > <mailto:fla...@li...>; > *Cc: * > *Subject:*[Flashforth-devel] assemble FlashForth for Arduino Uno > > I have been trying for hours to assemble FlashForth for the Arduino Uno. Soon I would like to compile to have it use the serial port (for an RS-232 console) but as my starting point I am trying to assemble the downloadedff-atmega.as <http://ff-atmega.as>m file to generate the downloaded hex file. It seems like this should be both trivial and documented by one or two paragraphs on the download page that contains the source and hex.I have downloaded the AVR Studio for Windows, the Atmel 8-Bit AVR to > olchain for Linux, avra for Linux and one or two other assemblers. So far the best I have been able to do is about 40-50 errors and warnings when using avra. If I recall correctly the error count was well over a thousand with Atmel AVR Studio. The downloaded Atmel toolchain also had a lot of reported errors.What assembler works? What assembler did the FlashForth developer(s) use?It looks like the code may have been assembled in a C environment since there is a comment in it that is commented out by a double slash. Some of my reported errors are also due to "strlen" in the source which again suggests a "C" environment to me. High in the downloaded listing file is "AVRASM ver. 2.1.30 avr/src/ff-atmega.as <http://ff-atmega.as>m Wed Mar 22 22:08:36 2017" but AVRASM isn't in the toolchain I downloaded fromAtmel.Li <http://Atmel.Li>nux is by far my preferred OS but I can use Windows if necessary.I'm just trying to get started. Thank you for your help.----- > -------------------------------------------------------------------------Check out the vibrant tech community on one of the world's mostengaging tech sites,Slashdot.org <http://Slashdot.org>!http://sdm.link/slashdot_______________________________________________Flashforth-devel mai...@li...htt > <mailto:%20l...@li...htt>ps://lists.sourceforge.net/lists/listinfo/flashforth-devel > <http://lists.sourceforge.net/lists/listinfo/flashforth-devel> |
From: <mik...@fl...> - 2017-07-16 05:19:38
|
Hi,You need to use wine and avrasm2.exe from atmel studio4. That is my dev toolchain, works just fine on linux. Amforth used to have avrasm2 in its download area. M. ------ Original message------From: Bruce CorbinDate: Sun, 16 Jul 2017 06:45To: fla...@li...;Cc: Subject:[Flashforth-devel] assemble FlashForth for Arduino Uno I have been trying for hours to assemble FlashForth for the Arduino Uno. Soon I would like to compile to have it use the serial port (for an RS-232 console) but as my starting point I am trying to assemble the downloaded ff-atmega.asm file to generate the downloaded hex file. It seems like this should be both trivial and documented by one or two paragraphs on the download page that contains the source and hex.I have downloaded the AVR Studio for Windows, the Atmel 8-Bit AVR toolchain for Linux, avra for Linux and one or two other assemblers. So far the best I have been able to do is about 40-50 errors and warnings when using avra. If I recall correctly the error count was well over a thousand with Atmel AVR Studio. The downloaded Atmel toolchain also had a lot of reported errors.What assembler works? What assembler did the FlashForth developer(s) use?It looks like the code may have been assembled in a C environment since there is a comment in it that is commented out by a doubl e slash. Some of my reported errors are also due to "strlen" in the source which again suggests a "C" environment to me. High in the downloaded listing file is "AVRASM ver. 2.1.30 avr/src/ff-atmega.asm Wed Mar 22 22:08:36 2017" but AVRASM isn't in the toolchain I downloaded from Atmel.Linux is by far my preferred OS but I can use Windows if necessary.I'm just trying to get started. Thank you for your help.------------------------------------------------------------------------------Check out the vibrant tech community on one of the world's mostengaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________Flashforth-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Bruce C. <bc...@cf...> - 2017-07-16 03:45:10
|
I have been trying for hours to assemble FlashForth for the Arduino Uno. Soon I would like to compile to have it use the serial port (for an RS-232 console) but as my starting point I am trying to assemble the downloaded ff-atmega.asm file to generate the downloaded hex file. It seems like this should be both trivial and documented by one or two paragraphs on the download page that contains the source and hex. I have downloaded the AVR Studio for Windows, the Atmel 8-Bit AVR toolchain for Linux, avra for Linux and one or two other assemblers. So far the best I have been able to do is about 40-50 errors and warnings when using avra. If I recall correctly the error count was well over a thousand with Atmel AVR Studio. The downloaded Atmel toolchain also had a lot of reported errors. What assembler works? What assembler did the FlashForth developer(s) use? It looks like the code may have been assembled in a C environment since there is a comment in it that is commented out by a double slash. Some of my reported errors are also due to "strlen" in the source which again suggests a "C" environment to me. High in the downloaded listing file is "AVRASM ver. 2.1.30 avr/src/ff-atmega.asm Wed Mar 22 22:08:36 2017" but AVRASM isn't in the toolchain I downloaded from Atmel. Linux is by far my preferred OS but I can use Windows if necessary. I'm just trying to get started. Thank you for your help. |
From: <mik...@fl...> - 2017-07-15 16:34:28
|
Thanks Doctor Joe,I'll have a look when I get back from my annual cruise. M. ------ Original message------From: D. JoeDate: Sat, 15 Jul 2017 18:40To: fla...@li...;Cc: Subject:Re: [Flashforth-devel] patch for typos in main web page (index.html) On Sat, Jul 15, 2017 at 12:54:08PM +0000, D. Joe wrote:> > In the meantime, I have generated this patch from the index.html file I pulled down> with wget. I used> > git format-patch since HEAD~1 > > to create the patch.Sorry, that was git format-patch HEAD~1 ------------------------------------------------------------------------------Check out the vibrant tech community on one of the world's mostengaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________Flashforth-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: D. J. <fla...@et...> - 2017-07-15 15:40:18
|
On Sat, Jul 15, 2017 at 12:54:08PM +0000, D. Joe wrote: > > In the meantime, I have generated this patch from the index.html file I pulled down > with wget. I used > > git format-patch since HEAD~1 > > to create the patch. Sorry, that was git format-patch HEAD~1 |
From: D. J. <fla...@et...> - 2017-07-15 13:09:20
|
Hi, Please find included below and attached a patch for a couple of typos in the main flashforth web page, http://flashforth.com/ I could not see that the web content is in the github repository at https://github.com/oh2aun/flashforth If the content is managed using some tool and that content is version controlled in some way that I can access, please just point me to it and I can generate the patches and--if applicable, a pull-request--against that. In the meantime, I have generated this patch from the index.html file I pulled down with wget. I used git format-patch since HEAD~1 to create the patch. Here also for your reference is a word-diff: diff --git a/index.html b/index.html index f6e7b0b..bfe1b1d 100644 --- a/index.html +++ b/index.html @@ -188,14 +188,14 @@ the header. Interpreting these words will result in an ABORT and restarting the interpreter, that is jumping to QUIT.</P> <P>The compiler performs tail <B>call -> goto</B> optimisation at the end of a word.</P> <P>It is possible to call the word [-beeing-]{+being+} currently defined. <BR>If the word is the last word before ';' it will result in a branch back to beginning of the word. <BR>If the current word is called earlier, it will result in recursion. </P> <H3>The data space </H3> <p>The harvard architecture microcontrollers have separate memory spaces for ram, flash and eeprom.</p> <p>In order to make it possible for words like CMOVE to be used on all kinds of memories, these are mapped into one 64 Kbyte memory space. Like this it is avoided to make separate words for copying [-beteen-]{+between+} different kinds of memories.</p> <P>The memory spaces are mapped by FF in software: </P> <P>PIC18F: and the normally-formatted patch >From 27d79cf810ab0cbef017b1d9e142b27698a52665 Mon Sep 17 00:00:00 2001 From: "D. Joe" <fla...@et...> Date: Sat, 15 Jul 2017 08:46:24 -0400 Subject: [PATCH] correcting two typos --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index f6e7b0b..bfe1b1d 100644 --- a/index.html +++ b/index.html @@ -188,14 +188,14 @@ the header. Interpreting these words will result in an ABORT and restarting the interpreter, that is jumping to QUIT.</P> <P>The compiler performs tail <B>call -> goto</B> optimisation at the end of a word.</P> -<P>It is possible to call the word beeing currently defined. <BR>If +<P>It is possible to call the word being currently defined. <BR>If the word is the last word before ';' it will result in a branch back to beginning of the word. <BR>If the current word is called earlier, it will result in recursion. </P> <H3>The data space </H3> <p>The harvard architecture microcontrollers have separate memory spaces for ram, flash and eeprom.</p> -<p>In order to make it possible for words like CMOVE to be used on all kinds of memories, these are mapped into one 64 Kbyte memory space. Like this it is avoided to make separate words for copying beteen different kinds of memories.</p> +<p>In order to make it possible for words like CMOVE to be used on all kinds of memories, these are mapped into one 64 Kbyte memory space. Like this it is avoided to make separate words for copying between different kinds of memories.</p> <P>The memory spaces are mapped by FF in software: </P> <P>PIC18F: -- 2.7.4 Hope that helps, D. Joe |
From: Mikael N. <mik...@fl...> - 2017-05-17 12:02:14
|
$c4 constant ubrr0 : 250k #3 ubrr0 ! ; : 38.4k #25 ubrr0 ! ; : 9.6k #103 ubbr0 ! ; ' 38.4k to turnkey warm Note that in order to disable any faulty turnkey word you need to have a usable UART connection during the first 2 seconds of the restart. I order to disable the turnkey you need to start the terminal program with 9600 baud and press the escape before the turnkey word executes. I will change the next FF arduino hex images to use 38.4K as default. Probably Python is complaining about the missing pyserial library. Google install pyserial. On linux I start it with cd ff sudo shell/ff-shell.py --xonxoff -s9600 -p /dev/ttyACM0 BR Mikael On 2017-05-17 14:08, Mark Wills wrote: > Dear FlashForthers > > FlashForth website informs that FF runs at 38k4 baud, however, I find > that (build 220317) actually runs at 9k6 at power up on the ATMEGA > 328P. > > I am using HyperTerminal in windows. Is there a way to increase the > baud rate? I'm running 3-wire RS232 (genuine RS232 into a MAX232 and > then on to the 328P) with XON/XOFF handshaking and it works well, but > a little slow. > > I would like to try the ff-shell. I have installed Python 2.7. How > does one launch ff-shell.py? I tried typing "python ff-shell.py" but I > get a python error. Do I need to supply some options/flags on the > command line? I can't find any documentation in the download, but the > source code does seem to refer to command line options. > > Regards > > Mark > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel -- -- Mikael |
From: Mark W. <mar...@gm...> - 2017-05-17 11:09:02
|
Dear FlashForthers FlashForth website informs that FF runs at 38k4 baud, however, I find that (build 220317) actually runs at 9k6 at power up on the ATMEGA 328P. I am using HyperTerminal in windows. Is there a way to increase the baud rate? I'm running 3-wire RS232 (genuine RS232 into a MAX232 and then on to the 328P) with XON/XOFF handshaking and it works well, but a little slow. I would like to try the ff-shell. I have installed Python 2.7. How does one launch ff-shell.py? I tried typing "python ff-shell.py" but I get a python error. Do I need to supply some options/flags on the command line? I can't find any documentation in the download, but the source code does seem to refer to command line options. Regards Mark |
From: Mikael N. <mik...@fl...> - 2017-05-17 10:18:16
|
Mark, Some words need to be post-compiled into FF. Using latest ff-shell.py : #send forth/math I was planning to increase the size of FF core with the assembler. Maybe I should add some math words also. BR Mikael On 2017-05-17 12:27, Mark Wills wrote: > Greetings! > > wordsAll.txt in the FlashForth distribution lists /mod as being > available, however, it is not. > > I'm using build 220317 - apologies if this has been fixed in a later > build. I haven't updated to the latest version yet as I de-constructed > my "flasher" which was built on veroboard, and I need to re-build it > again! > > Greetings to all from Aberdeen, Scotland. > > Mark Wills > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel -- -- Mikael |
From: Mark W. <mar...@gm...> - 2017-05-17 09:27:58
|
Greetings! wordsAll.txt in the FlashForth distribution lists /mod as being available, however, it is not. I'm using build 220317 - apologies if this has been fixed in a later build. I haven't updated to the latest version yet as I de-constructed my "flasher" which was built on veroboard, and I need to re-build it again! Greetings to all from Aberdeen, Scotland. Mark Wills |
From: Mikael N. <mik...@fl...> - 2017-05-12 05:02:31
|
I did some tests with ds1307 and did not have any problems. Pushed i2c-base-avr that has a watchdog in the i2c.wait. Added some ds1307 words. Added i2c.stop to the end of i2c.detect. The 220317 version is just fine. BR Mikael On 2017-05-11 11:26, Mark Wills wrote: > HI Mikael, > > Aha! I fixed the mailing list issue! There was a confirmation email > from the server but I missed it as gmail put it in the "promotions" > group! > > The version of FF that I am currently using is 220317, which I guess > is fairly up to date? Is there a compelling reason to upgrade to the > latest version of FF? > > There is a VERY interesting article on the Arduino I2C library which > might be worth a read. I've just started looking at it. > > See http://playground.arduino.cc/Main/WireLibraryDetailedReference > > Regards > > Mark > > On Thu, May 11, 2017 at 5:16 AM, Mikael Nordman > <mik...@fl...> wrote: > >> Hi Mark >> I cannot see you as member on the list. >> Also I did not get any join mails about you. >> Really strange ??? >> >> To implement block or file input some changes to FF core may be >> needed. >> >> REFILL must be implemented. >> >> Now WORD just writes the length byte into the TIB (SOURCE). >> So parsing the block buffer directly would modify it. >> >> WORD could be changed to copy the parsed word into a buffer. >> Or REFILL could copy the file/block line into TIB and then use TIB >> as SOURCE. >> >> Someone else was also complaining that the i2c.ping? hangs some >> times. >> >> The I2C code was provided by Peter Jacobs. >> I need to connect some I2C device to my 328 and check it out. >> >> The FF version has to be 11.11.2016 or later to work with the >> 11.4.2017 doloop. >> >> So for 5 months doloop was broken :-( >> >> BR Mikael >> >> On 2017-05-11 02:12, Mark Wills wrote: >> >> Hello, Mikael thanks for the reply; nice to hear from you. >> >> I've filled in the form on the Sourceforge webpage to join the >> mailing >> list, so you should have a notification email somewhere. I actually >> did this a couple of months ago and never heard anything back, so I >> registered again today. >> >> I don't think it's the pull-ups on the I2C bus, as there is only one >> device (at the moment) on the bus, and I can find the device >> (PCF8574) >> every time when running Arduino code to search the I2C bus. When I >> change out the 328P for a FlashForth programmed 328P it won't work. >> >> I'm using the new do...loop code, yes, however, I'm using an older >> hex >> file of FlashForth - i.e. NOT the latest release. I can update the >> 328P but I'll have to build a programmer on some bread-board again! >> >> I'm designing a controller board based on the ATMega328P, with the >> following features: >> >> * Real RS232 interface >> * LCD Interface (I2C) >> * 8 Digital inputs (I2C) >> * 8 Digital outputs (I2C) >> * 6 Analog inputs (on board 328P) >> * 6 PWM outputs (on board 328P) >> * 16 key keypad interface (I2C) >> * On board SD Card reader/writer (SPI) >> * 32KB FRAM (I2C) (larger sizes available, up to 256KB, but they're >> expensive) >> * Real time temperature compensated clock with battery backup >> >> * A number of software assignable digital inputs (dip switches on >> the >> board) (on board 328P) >> * External I2C interface >> * Standard 2U board dimensions for rack mounting. >> * Paul Bennett is designing a range of expansion cards (I2C) with >> fully isolated industrial grade I/O >> >> Most of the design schematic capture work and >> bread-boarding/prototyping is done. I'll shortly be moving on to the >> board layout. >> >> Currently, my intention is to run FlashForth on the board. That will >> depend on getting the I2C working (I'll try a software upgrade) and >> I'll probably have to write some additional software in FlashForth >> to >> give easy access to the peripherals. The biggest issue will be the >> SD >> Card. Do I implement a FAT file system or not? I've never coded one >> before, and I'm not looking forward to it! It also adds quite a lot >> of >> overhead with words required to manage directories etc. >> >> The other alternative would be to use the SD in a raw format, say, >> in >> 1K blocks. I prefer this idea, and adding a BLOCK subsystem should >> be >> possible in high level FlashForth code. I presume there is a hook >> somewhere in the interpreter where I can feed input to the >> interpreter >> from a BLOCK rather than from the serial port? >> >> Still a lot of work to do! >> >> Regards >> >> Mark >> >> On Wed, May 10, 2017 at 9:19 PM, Mikael Nordman >> <mik...@fl...> wrote: >> >> Hello Mark, >> You need to register to use the mailing list. >> >> Anyway, on my Arduino Uno the i2c.detect works just fine with an >> empty I2C bus when there are external pullups on SDA and SCL. Use >> i2c.init first. >> >> I don't have any real i2c devices handy right now. >> >> I wonder, is there any way to use the internal port C pullups for >> I2C. >> Although I suspect the internal pull-ups would be too weak to be of >> any use. >> >> BTW, are you using the latest FF hex images and doloop.txt from >> 11.4.2017 ? >> doloop was broken for a while before that. >> >> ok<$,ram> >> i2c.init i2c.detect >> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f >> 00 : -- -- -- -- -- -- -- -- -- >> 10 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 20 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 30 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 40 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 50 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 60 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- >> 70 : -- -- -- -- -- -- -- -- >> ok<$,ram> >> >> BR Mikael >> >> On 2017-05-10 20:05, Mark Wills wrote: >> >> Hello, >> >> The routine i2c.wait in i2c-base-avr.txt hangs the machine. >> >> : i2c.wait ( -- ) \ Wait for operation to complete >> \ When TWI operations are done, the hardware sets >> \ the TWINT interrupt flag, which we will poll. >> begin TWCR c@ mTWINT and until >> ; >> >> I'm trying to use the i2c.detect program in the FlashForth guide >> (PDF) >> to detect my i2c devices. I can see them just fine if I use a C++ >> program so I know the hardware is wired correctly. >> >> Regards >> >> Mark Wills > > ------------------------------------------------------------------------------ > >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Flashforth-devel mailing list >>> Fla...@li... >>> https://lists.sourceforge.net/lists/listinfo/flashforth-devel [1] >>> [1] >> >> -- >> -- >> Mikael > > Links: > ------ > [1] https://lists.sourceforge.net/lists/listinfo/flashforth-devel [1] > > -- > -- > Mikael > > > > Links: > ------ > [1] https://lists.sourceforge.net/lists/listinfo/flashforth-devel -- -- Mikael |
From: Mikael N. <mik...@fl...> - 2017-05-10 20:20:04
|
Hello Mark, You need to register to use the mailing list. Anyway, on my Arduino Uno the i2c.detect works just fine with an empty I2C bus when there are external pullups on SDA and SCL. Use i2c.init first. I don't have any real i2c devices handy right now. I wonder, is there any way to use the internal port C pullups for I2C. Although I suspect the internal pull-ups would be too weak to be of any use. BTW, are you using the latest FF hex images and doloop.txt from 11.4.2017 ? doloop was broken for a while before that. ok<$,ram> i2c.init i2c.detect 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 00 : -- -- -- -- -- -- -- -- -- 10 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60 : -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70 : -- -- -- -- -- -- -- -- ok<$,ram> BR Mikael On 2017-05-10 20:05, Mark Wills wrote: > Hello, > > The routine i2c.wait in i2c-base-avr.txt hangs the machine. > > : i2c.wait ( -- ) \ Wait for operation to complete > \ When TWI operations are done, the hardware sets > \ the TWINT interrupt flag, which we will poll. > begin TWCR c@ mTWINT and until > ; > > I'm trying to use the i2c.detect program in the FlashForth guide (PDF) > to detect my i2c devices. I can see them just fine if I use a C++ > program so I know the hardware is wired correctly. > > Regards > > Mark Wills > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel -- -- Mikael |
From: Mark W. <mar...@gm...> - 2017-05-10 17:05:37
|
Hello, The routine i2c.wait in i2c-base-avr.txt hangs the machine. : i2c.wait ( -- ) \ Wait for operation to complete \ When TWI operations are done, the hardware sets \ the TWINT interrupt flag, which we will poll. begin TWCR c@ mTWINT and until ; I'm trying to use the i2c.detect program in the FlashForth guide (PDF) to detect my i2c devices. I can see them just fine if I use a C++ program so I know the hardware is wired correctly. Regards Mark Wills |
From: Mikael N. <mik...@fl...> - 2017-04-11 20:14:25
|
Hi, you can use x@ x! to fetch and store cells on 64, 128 and 256 KB devices. The adresses are unmapped double numbers. There is also xdump. Here are examples from atm2560 pfl ok<$,ram> 3200 33200. hex 40 xdump 033200: 5c f5 86 66 6f 72 67 65 74 ff 0f 94 10 f8 0f 94 \..forget....... 033210: 7a f4 0f 94 23 f8 0f 94 d0 fe 0f 94 c5 f4 0f 94 z...#........... 033220: da f6 0f 94 ba f4 02 97 9a 93 8a 93 0f 94 d0 fe ................ 033230: 0f 94 da f6 9a 93 8a 93 0f 94 45 f0 0f 94 5a f0 ..........E...Z. ok<$,ram> see forget 320a 940f f810 call bl 320e 940f f47a call word 3212 940f f823 call latest 3216 940f fed0 call @ 321a 940f f4c5 call (f) 321e 940f f6da call ?abort? 3222 940f f4ba call c>n 3226 9702 3228 939a st -y r25 322a 938a st -y r24 322c 940f fed0 call @ 3230 940f f6da call ?abort? 3234 939a st -y r25 3236 938a st -y r24 3238 940f f045 call flash 323c 940f f05a call dp 3240 940f fe93 call ! 3244 940f fed0 call @ 3248 940f f823 call latest 324c 940f fe93 call ! 3250 940d f053 jmp ram ok<$,ram> 33200. x@ ok<$,ram> f55c 1234 12400. x! ok<$,ram> 12400. x@ ok<$,ram> 1234 On 2017-04-11 21:44, Oleg Voitiuk wrote: > Hello, Mikael. > > Many thanks, now everything works well! > > I still want to know how to deal with flash memory which is above > 64kb, is it possible to use it now or will it be possible to use it in > the near future? > > Cheers, > Oleg. |
From: Mikael N. <mik...@fl...> - 2017-04-11 04:24:38
|
Hi Oleg, Just uploaded a corrected doloop.txt. I had moved the do loop index to use the P register but did not update the doloop code. That also means the the P register and the doloop cannot be used/nested together. BR Mikael -- -- Mikael |
From: Oleg V. <mer...@gm...> - 2017-04-10 22:29:11
|
Hello, Mikael Nordman. I recently started more closely studying the FORTH language with which I met Even in my childhood when the first 8-bit computers appeared. Now when Microcontrollers have become more powerful than the first 8-bit computers FORTH Starting to gain momentum and I found your compiler which I really liked. I read various books on the FORTH language and try examples and tasks from books Execute on your version of FlashFORTH. There are many examples and tasks where The base statement of a cycle in language FORTH is used is DO ... LOOP, But FlashFORTH does not have such an operator, but I found the "avr / forth / doloop.txt" file which adds the possibility of using the DO ... LOOP operator in FlashFORTH. "doloop.txt" is perfectly compiled without errors, but when trying to use In their definitions of op. DO's words, for example : do_test cr 10 0 do i. cr loop; when you try to execute do_test hangs tightly. And I tried it On different boards arduino UNO, arduino MEGA and just on Atmega128, the result the same. But I found the old version of FlashFORTH on 06.07.2015 and so It all works fine! Therefore, I have a question for you as a developer Is there something I'm doing wrong or is it some kind of bug in new versions of FlashFORTH? I also have this question, as far as I understand FlashFORTH can address A maximum of 64Kb of Flash memory because the size of cell = 16 bit and the operation Read and Write will only work within the low 64KB Flash, ie There is no sense in using microcontrollers with Flash memory > 64kb such as Atmega128, Atmega2560 or it is possible to access Flash memory > 64kb for example for storing text strings of the menu or other similar information? P.S. Sorry for my bad English. All the best, Oleg. |
From: Peter J. <pe...@me...> - 2017-03-28 00:52:07
|
Eugene, I see. The UQ library copy is the 2016 version. The new PDF is in the bitbucket repository as this file. https://bitbucket.org/pajacobs/flash-forth-docs/src/d9bc880b7f19ae993a73da517a28215de6beb0ba/pdf/flash_forth_5_quick_ref_2017_03_28.pdf?at=default&fileviewer=file-view-default I should update the README.md file to point to the most recent PDF. Regards, Peter J. On 28/03/17 09:43, Eugene wrote: > > On 03/27/2017 05:39 PM, Peter Jacobs wrote: >> This prompted me to update the Quick Reference sheet. >> https://bitbucket.org/pajacobs/flash-forth-docs/src >> Caught up with the extended memory words as well. >> The new PDF is dated 2017-03-28. >> >> Cheers, >> Peter J. > Doesn't appear to have updated, still says 2016: "FlashForth 5 Quick > Reference for PIC and AVR Microcontrollers. (2016)" > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Eugene <en...@ni...> - 2017-03-27 23:54:50
|
On 03/27/2017 05:39 PM, Peter Jacobs wrote: > This prompted me to update the Quick Reference sheet. > https://bitbucket.org/pajacobs/flash-forth-docs/src > Caught up with the extended memory words as well. > The new PDF is dated 2017-03-28. > > Cheers, > Peter J. Doesn't appear to have updated, still says 2016: "FlashForth 5 Quick Reference for PIC and AVR Microcontrollers. (2016)" |
From: Peter J. <pe...@me...> - 2017-03-27 23:06:53
|
This prompted me to update the Quick Reference sheet. https://bitbucket.org/pajacobs/flash-forth-docs/src Caught up with the extended memory words as well. The new PDF is dated 2017-03-28. Cheers, Peter J. On 28/03/17 00:39, Pete Zawasky wrote: > Thanks for the background info... I will add this to my abort" > dictionary definition. > > Pete > > -----Original Message----- > *From:* Mikael Nordman [mailto:mik...@fl...] > *Sent:* Monday, March 27, 2017 12:40 AM > *To:* fla...@li... > *Subject:* Re: [Flashforth-devel] ff5.0 abort" > > I did that to write bl word find abort" ?" instead of bl word find > 0= abort" ?" There is also this case 2 1 3 within abort" ?" It > just seemed silly to put 0= in front of every abort". Also I think > it is more logical to abort on negative(= false) result. But yes, > it is not compatible with other forths. BR Mike On 2017-03-27 > 02:00, Pete Zawasky wrote: > It appears that at runtime, abort" > will print if flag is > FALSE . > Most FORTH documentation > suggests that abort" should print > if flag is TRUE . > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ Flashforth-devel > mailing list Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Pete Z. <pza...@pz...> - 2017-03-27 14:40:04
|
Thanks for the background info... I will add this to my abort" dictionary definition. Pete -----Original Message----- From: Mikael Nordman [mailto:mik...@fl...] Sent: Monday, March 27, 2017 12:40 AM To: fla...@li... Subject: Re: [Flashforth-devel] ff5.0 abort" I did that to writebl word find abort" ?"instead ofbl word find 0= abort" ?"There is also this case2 1 3 within abort" ?"It just seemed silly to put 0= in front of every abort".Also I think it is more logical to abort on negative(= false) result.But yes, it is not compatible with other forths.BR MikeOn 2017-03-27 02:00, Pete Zawasky wrote:> It appears that at runtime, abort" will print if flag is> FALSE .> Most FORTH documentation suggests that abort" should print > if flag is TRUE .------------------------------------------------------------------------------Check out the vibrant tech community on one of the world's mostengaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________Flashforth-devel mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/flashforth-devel |
From: Mikael N. <mik...@fl...> - 2017-03-27 04:40:58
|
I did that to write bl word find abort" ?" instead of bl word find 0= abort" ?" There is also this case 2 1 3 within abort" ?" It just seemed silly to put 0= in front of every abort". Also I think it is more logical to abort on negative(= false) result. But yes, it is not compatible with other forths. BR Mike On 2017-03-27 02:00, Pete Zawasky wrote: > It appears that at runtime, abort" will print <text> if flag is > FALSE . > Most FORTH documentation suggests that abort" should print <text> > if flag is TRUE . |
From: Pete Z. <pza...@pz...> - 2017-03-26 23:00:18
|
Hi Mikael, A quick question concerning ff-pic24-30-33.s abort" <text>" ( f -- ) . It appears that at runtime, abort" will print <text> if flag is FALSE . Most FORTH documentation suggests that abort" should print <text> if flag is TRUE . Am I confused yet again? Pete |
From: Pete Z. <pza...@pz...> - 2017-03-14 21:45:58
|
Hi Mikael, Thanks for the quick update to FF5.0. The p24f23ka302 test fixture is up and running with your release today. New words can now be added to the flash space. Pete |
From: Mikael N. <mik...@fl...> - 2017-03-13 20:24:12
|
It seems I messed up the calculation for the start of flash dictionary space. Some chips have it right, there are several calculation schemes, depending on flash size, and if there is EEPROM or not. I will fix it. BR Mikael |