You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(5) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(6) |
Mar
(41) |
Apr
(23) |
May
(11) |
Jun
(2) |
Jul
|
Aug
|
Sep
(9) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2008 |
Jan
(6) |
Feb
(1) |
Mar
(23) |
Apr
(18) |
May
(21) |
Jun
(13) |
Jul
(34) |
Aug
(5) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
(4) |
2009 |
Jan
|
Feb
(5) |
Mar
(5) |
Apr
(10) |
May
(1) |
Jun
(11) |
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(13) |
2010 |
Jan
(10) |
Feb
(4) |
Mar
(28) |
Apr
(3) |
May
(38) |
Jun
(22) |
Jul
(92) |
Aug
(154) |
Sep
(218) |
Oct
(45) |
Nov
(20) |
Dec
(1) |
2011 |
Jan
(33) |
Feb
(15) |
Mar
(32) |
Apr
(33) |
May
(48) |
Jun
(35) |
Jul
(7) |
Aug
|
Sep
(11) |
Oct
(5) |
Nov
|
Dec
(7) |
2012 |
Jan
(56) |
Feb
(11) |
Mar
(6) |
Apr
|
May
(128) |
Jun
(59) |
Jul
(21) |
Aug
(16) |
Sep
(24) |
Oct
(39) |
Nov
(12) |
Dec
(12) |
2013 |
Jan
(14) |
Feb
(61) |
Mar
(97) |
Apr
(46) |
May
(13) |
Jun
(23) |
Jul
(12) |
Aug
(25) |
Sep
(9) |
Oct
(81) |
Nov
(73) |
Dec
(45) |
2014 |
Jan
(36) |
Feb
(57) |
Mar
(20) |
Apr
(41) |
May
(43) |
Jun
(11) |
Jul
(14) |
Aug
(32) |
Sep
(9) |
Oct
(27) |
Nov
(21) |
Dec
(6) |
2015 |
Jan
(14) |
Feb
(23) |
Mar
(1) |
Apr
(19) |
May
(40) |
Jun
(11) |
Jul
(1) |
Aug
(2) |
Sep
(14) |
Oct
(10) |
Nov
(9) |
Dec
(13) |
2016 |
Jan
(4) |
Feb
(3) |
Mar
(7) |
Apr
|
May
(4) |
Jun
(13) |
Jul
(8) |
Aug
(3) |
Sep
(4) |
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
(6) |
Feb
(1) |
Mar
(1) |
Apr
(7) |
May
(10) |
Jun
(5) |
Jul
(7) |
Aug
(9) |
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
(3) |
Jul
(6) |
Aug
|
Sep
(2) |
Oct
(54) |
Nov
(47) |
Dec
(53) |
2019 |
Jan
(23) |
Feb
(24) |
Mar
(19) |
Apr
(15) |
May
(5) |
Jun
(34) |
Jul
(9) |
Aug
(9) |
Sep
(3) |
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
(7) |
Apr
(7) |
May
(5) |
Jun
(15) |
Jul
(22) |
Aug
(28) |
Sep
(13) |
Oct
(9) |
Nov
(17) |
Dec
(13) |
2021 |
Jan
(5) |
Feb
(1) |
Mar
(1) |
Apr
(9) |
May
(21) |
Jun
(9) |
Jul
|
Aug
(6) |
Sep
(16) |
Oct
|
Nov
(1) |
Dec
(6) |
2022 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
(21) |
Oct
(5) |
Nov
(1) |
Dec
(1) |
2024 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
(7) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Alaric Snell-P. <al...@sn...> - 2012-06-14 20:21:29
|
On 06/13/12 23:01, Alaric Snell-Pym wrote: > Have I done something wrong? Should I try and rebuild duemilanove.hex > and the eeprom file from scratch? Does anybody have any idea what the > problem could be? Gah, I proudly fired up avra and found that it doesn't exactly work out of the box :-) However, with the latest avra from git and the latest amforth from svn, I have managed to assemble an image... there's even a uno.asm now - much easier to type! However, it doesn't even get me a prompt now. No serial output when I reset the AVR... Does anyone have a *known working* uno.hex and uno.eep.hex that I can try?!? > > Thanks, > > ABS > ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ |
From: Kalus M. <mik...@go...> - 2012-06-14 19:27:16
|
Hi Jan. Am 14.06.2012 um 07:53 schrieb Jan Kromhout: > Hi Michael, > > Thanks for this! > Have two questions > 1. Is this also working for the 4.8 version There was a mayor change in the way the headers where build between amforth-2.9 and amforth-3.1. As far as I know that is stable since then, so G4 should work for amforth-4.8 too. May be there are some new amforth words which are not included jet to G4. If you notice such a word please drop me a line. > 2. Can I used it with Win32for compiler under windows? I never tryed this. Michael > > Cheers, > > Jan kromhout > Sacharovlaan 3 > 3223HM Hellevoetsluis-NL > > Op 14 jun. 2012 om 00:25 heeft Kalus Michael > <mik...@go...> het volgende geschreven: > >> Hi Jan. >> >> I would add the word to amforth-x.x/appl/myproject/words/uitvoer.asm >> and append them in dict_appl.inc in the way words are included there: >> >> .. >> .include "words/uitvoer.asm" ; my first assembled forth word >> .. >> >> >> Did you take a look at >> http://www.forth-ev.de/repos/g4/ >> allready? g4.fs is a plain_forth to amforth_assembler translater >> written in gforth. >> >> You may enter your word in this way: >> >> : uitvoer cr cr ." Dit is mijn eerste test " ; >> >> and get this as result: >> >> VE_UITVOER: >> .dw $FF07 >> .db "uitvoer",0 >> .dw VE_HEAD >> .set VE_HEAD = VE_UITVOER >> XT_UITVOER: >> .dw DO_COLON >> PFA_UITVOER: >> .dw XT_CR >> .dw XT_CR >> .dw XT_SLITERAL >> .dw $18 >> .db "Dit is mijn eerste test " >> .dw XT_ITYPE >> .dw XT_EXIT >> >> ok >> >> Have fun. :) >> Michael >> >> >> >> >> >> Am 13.06.2012 um 22:20 schrieb Jan Kromhout: >> >>> Hello, >>> >>> I have make a word to include in amForth. >>> Where should I store it so it will be assembled? >>> >>> Thanks for any help. >>> >>> Cheers, >>> >>> Jan Kromhout >>> >>> >>> >>> ; uitvoer ( -- ) >>> ; ================================================= >>> ; Date : 13.06.2012 >>> ; version 1.00 >>> ; User written word >>> ; write a simple text, and do further notting >>> ; ================================================= >>> VE_UITVOER: >>> .dw $ff07 >>> .db "uitvoer",0 >>> .dw VE_HEAD >>> .set VE_HEAD = VE_UITVOER >>> XT_UITVOER: >>> .dw DO_COLON >>> PFA_UITVOER: >>> .dw XT_CR >>> .dw XT_CR >>> .dw XT_SLITERAL >>> .dw 24 >>> .db "Dit is mijn eerste test " >>> .dw XT_ITYPE >>> .dw XT_EXIT >>> >>> >>> -------------------------------------------------------------------- >>> -- >>> -------- >>> Live Security Virtual Conference >>> Exclusive live event will cover all the ways today's security and >>> threat landscape has changed and how IT managers can respond. >>> Discussions >>> will include endpoint security, mobile security and the latest in >>> malware >>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >>> _______________________________________________ >>> Amforth-devel mailing list for http://amforth.sf.net/ >>> Amf...@li... >>> https://lists.sourceforge.net/lists/listinfo/amforth-devel >> >> >> --------------------------------------------------------------------- >> --------- >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. >> Discussions >> will include endpoint security, mobile security and the latest in >> malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Amforth-devel mailing list for http://amforth.sf.net/ >> Amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amforth-devel >> > > ---------------------------------------------------------------------- > -------- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. > Discussions > will include endpoint security, mobile security and the latest in > malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Jan K. <kro...@ho...> - 2012-06-14 05:53:46
|
Hi Michael, Thanks for this! Have two questions 1. Is this also working for the 4.8 version 2. Can I used it with Win32for compiler under windows? Cheers, Jan kromhout Sacharovlaan 3 3223HM Hellevoetsluis-NL Op 14 jun. 2012 om 00:25 heeft Kalus Michael <mik...@go...> het volgende geschreven: > Hi Jan. > > I would add the word to amforth-x.x/appl/myproject/words/uitvoer.asm > and append them in dict_appl.inc in the way words are included there: > > .. > .include "words/uitvoer.asm" ; my first assembled forth word > .. > > > Did you take a look at > http://www.forth-ev.de/repos/g4/ > allready? g4.fs is a plain_forth to amforth_assembler translater > written in gforth. > > You may enter your word in this way: > > : uitvoer cr cr ." Dit is mijn eerste test " ; > > and get this as result: > > VE_UITVOER: > .dw $FF07 > .db "uitvoer",0 > .dw VE_HEAD > .set VE_HEAD = VE_UITVOER > XT_UITVOER: > .dw DO_COLON > PFA_UITVOER: > .dw XT_CR > .dw XT_CR > .dw XT_SLITERAL > .dw $18 > .db "Dit is mijn eerste test " > .dw XT_ITYPE > .dw XT_EXIT > > ok > > Have fun. :) > Michael > > > > > > Am 13.06.2012 um 22:20 schrieb Jan Kromhout: > >> Hello, >> >> I have make a word to include in amForth. >> Where should I store it so it will be assembled? >> >> Thanks for any help. >> >> Cheers, >> >> Jan Kromhout >> >> >> >> ; uitvoer ( -- ) >> ; ================================================= >> ; Date : 13.06.2012 >> ; version 1.00 >> ; User written word >> ; write a simple text, and do further notting >> ; ================================================= >> VE_UITVOER: >> .dw $ff07 >> .db "uitvoer",0 >> .dw VE_HEAD >> .set VE_HEAD = VE_UITVOER >> XT_UITVOER: >> .dw DO_COLON >> PFA_UITVOER: >> .dw XT_CR >> .dw XT_CR >> .dw XT_SLITERAL >> .dw 24 >> .db "Dit is mijn eerste test " >> .dw XT_ITYPE >> .dw XT_EXIT >> >> >> ---------------------------------------------------------------------- >> -------- >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. >> Discussions >> will include endpoint security, mobile security and the latest in >> malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Amforth-devel mailing list for http://amforth.sf.net/ >> Amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amforth-devel > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel > |
From: Kalus M. <mik...@go...> - 2012-06-13 22:25:51
|
Hi Jan. I would add the word to amforth-x.x/appl/myproject/words/uitvoer.asm and append them in dict_appl.inc in the way words are included there: .. .include "words/uitvoer.asm" ; my first assembled forth word .. Did you take a look at http://www.forth-ev.de/repos/g4/ allready? g4.fs is a plain_forth to amforth_assembler translater written in gforth. You may enter your word in this way: : uitvoer cr cr ." Dit is mijn eerste test " ; and get this as result: VE_UITVOER: .dw $FF07 .db "uitvoer",0 .dw VE_HEAD .set VE_HEAD = VE_UITVOER XT_UITVOER: .dw DO_COLON PFA_UITVOER: .dw XT_CR .dw XT_CR .dw XT_SLITERAL .dw $18 .db "Dit is mijn eerste test " .dw XT_ITYPE .dw XT_EXIT ok Have fun. :) Michael Am 13.06.2012 um 22:20 schrieb Jan Kromhout: > Hello, > > I have make a word to include in amForth. > Where should I store it so it will be assembled? > > Thanks for any help. > > Cheers, > > Jan Kromhout > > > > ; uitvoer ( -- ) > ; ================================================= > ; Date : 13.06.2012 > ; version 1.00 > ; User written word > ; write a simple text, and do further notting > ; ================================================= > VE_UITVOER: > .dw $ff07 > .db "uitvoer",0 > .dw VE_HEAD > .set VE_HEAD = VE_UITVOER > XT_UITVOER: > .dw DO_COLON > PFA_UITVOER: > .dw XT_CR > .dw XT_CR > .dw XT_SLITERAL > .dw 24 > .db "Dit is mijn eerste test " > .dw XT_ITYPE > .dw XT_EXIT > > > ---------------------------------------------------------------------- > -------- > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. > Discussions > will include endpoint security, mobile security and the latest in > malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Alaric Snell-P. <al...@sn...> - 2012-06-13 22:01:15
|
Hello folks! I have an Arduino Uno that, as far as I can tell, works fine; it's run a few sample sketches from the Arduino IDE, although I've not tested it hard enough to entirely rule out a chip failure. Anyway, from a freshly downloaded and extracted amforth 4.8 zip file, I have run the following commands: avrdude -c usbtiny -p atmega328p -U efuse:w:0x5:m avrdude -c usbtiny -p atmega328p -U hfuse:w:0xd9:m avrdude -c usbtiny -p atmega328p -U lfuse:w:0xff:m avrdude -c usbtiny -p atmega328p -U flash:w:amforth-4.8/appl/arduino/duemilanove.hex avrdude -c usbtiny -p atmega328p -U eeprom:w:amforth-4.8/appl/arduino/duemilanove.eep.hex These have all programmed and verified, although the eeprom write has the following worrying message: -------------------------------B<------------------------------- avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e950f avrdude: reading input file "amforth-4.8/appl/arduino/duemilanove.eep.hex" avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex auto detected as Intel Hex avrdude: writing eeprom (82 bytes): Writing | | 0% 0.00s avrdude: error: usbtiny_send: Connection timed out (expected 82, got -110) Writing | ################################################## | 100% 1.11s avrdude: 82 bytes of eeprom written avrdude: verifying eeprom memory against amforth-4.8/appl/arduino/duemilanove.eep.hex: avrdude: load data eeprom data from input file amforth-4.8/appl/arduino/duemilanove.eep.hex: avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex auto detected as Intel Hex avrdude: input file amforth-4.8/appl/arduino/duemilanove.eep.hex contains 82 bytes avrdude: reading on-chip eeprom data: Reading | ################################################## | 100% 0.10s avrdude: verifying ... avrdude: 82 bytes of eeprom verified avrdude: safemode: Fuses OK avrdude done. Thank you. -------------------------------B<------------------------------- What's with the "avrdude: error: usbtiny_send: Connection timed out (expected 82, got -110)" that then seems to work fine the second time? It verifies OK in the end, however... So, I run up a minicom on the USB serial port at 9600 baud and when I press reset on the arduino board I see: amforth 4.8 ATmega328P Forthduino > If I press enter I get ok prompts: > ok > ok > ok > ok > ok > ok > All working, right? So I try my standard FORTH test: > 1 1 + . ...and it hangs. No result comes back and the serial link stops echoing. Press reset and I get the prompt again. COLD works: amforth 4.8 ATmega328P Forthduino > cold amforth 4.8 ATmega328P Forthduino > If I try "words" I get a mixture of valid-looking output and garbage characters, then a hang. Let's try defining a word: > : hi ." Hello world " cr ; : ?? ...and the system is again hanging, with no serial echo. Have I done something wrong? Should I try and rebuild duemilanove.hex and the eeprom file from scratch? Does anybody have any idea what the problem could be? Thanks, ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ |
From: Jan K. <kro...@ho...> - 2012-06-13 20:25:28
|
Hello, I have make a word to include in amForth. Where should I store it so it will be assembled? Thanks for any help. Cheers, Jan Kromhout ; uitvoer ( -- ) ; ================================================= ; Date : 13.06.2012 ; version 1.00 ; User written word ; write a simple text, and do further notting ; ================================================= VE_UITVOER: .dw $ff07 .db "uitvoer",0 .dw VE_HEAD .set VE_HEAD = VE_UITVOER XT_UITVOER: .dw DO_COLON PFA_UITVOER: .dw XT_CR .dw XT_CR .dw XT_SLITERAL .dw 24 .db "Dit is mijn eerste test " .dw XT_ITYPE .dw XT_EXIT |
From: Jan K. <kro...@ho...> - 2012-06-13 17:46:03
|
Hello, I have this code: ; ( -- ) ; ================================================= ; Date : 13.06.2012 ; version 1.00 ; User word : write a simple text, and do further notting ; ================================================= VE_UITVOER: .dw $ff07 .db "uitvoer",0 .dw VE_HEAD .set VE_HEAD = VE_UITVOER XT_UITVOER: .dw DO_COLON PFA_UITVOER: .dw XT_CR .dw XT_CR .dw XT_SLITERAL .dw 24 .db "Dit is mijn eerste test " .dw XT_ITYPE .dw XT_EXIT thats simple writes some text when it is activated. Where should I put it so it will be compiled and flashed? And in wich file I need to include it. I call ist uitvoer.asm Thanks for any help. Cheers Jan Kromhout Hellevoetsluis-NL |
From: Matthias T. <mt...@we...> - 2012-06-08 18:15:55
|
Hi Jan, > What are the replacements for c, and c@ in amForth? They are available: c, and c@ first from lib/ans94/ans.frt and the second one as an assembly primitve in core/words You should be aware that they operate on different memories: c, writes to flash (dictionary) and c@ reads from RAM locations. Matthias |
From: Jan K. <kro...@ho...> - 2012-06-08 11:35:54
|
Hello, What are the replacements for c, and c@ in amForth? Thanks for any help. Cheers, Jan kromhout Sacharovlaan 3 3223HM Hellevoetsluis-NL |
From: Erich W. <ew....@na...> - 2012-06-05 20:39:49
|
Hi Pito, On 06/05/2012 12:09 PM, pito wrote: > Hi, I've read the .pdf document on the amforth's multitasker and, as > I am a newbie with it, I am overhelmed by a term "task" and its > snip... The whole concept is called ``cooperative multi_task_ing'' not multi_thread_ing. A task is much closer to a "process" than to a "thread". Threads share code space AND data space as well. In particular, variables are accessible from each thread simultaneously, therefore locking is needed. Threads are normally contained in a process, see e.g. [1] (Forth)-Tasks have separate data and return stacks. They share the code space (there is only one set of active wordlists). You do not neccessarily need locking of resources, because one task is running until it gives up control (by calling ``pause''). Does this help? Cheers, Erich [1] http://en.wikipedia.org/wiki/Cooperative_multitasking |
From: pito <pi...@vo...> - 2012-06-05 10:09:28
|
Hi, I've read the .pdf document on the amforth's multitasker and, as I am a newbie with it, I am overhelmed by a term "task" and its friends so not easy to follow at least on the first reading. I think that cooperative mutlitasker is basically a multithreader, where we may have many threads, and each thread may contain one or more tasks. So for example: : run1-demo ( my task - interesting stuff in here ... ) ; : run2-demo ... ; $20 $20 0 thread: thread_demo \ create thread, allot tcb + stack space : thread-demo-start thread_demo tcb>tid activate \ words/tasks after this line are run in the new thread run1-demo run2-demo ; and for example: : thread-stop ( -- ) pass status ! pause ; \ sleep current thread : thread-sleep ( tid -- ) pass swap ! ; \ sleep another thread : thread-awake ( tid -- ) wake swap ! ; \ wake another thread etc... What I want to show here is maybe the way how to better structure the stuff - into "threads" and its "tasks".. p. -- - - Reklama - - - - - - - - - - - - - - Maturity, přijímací zkoušky, státnice, diplomky... Vše o závěru studia na středních a vysokých školách čtěte na portálu VOLNÝ.cz na http://bit.ly/LfImCR |
From: Matthias T. <mt...@we...> - 2012-06-04 19:01:47
|
Hi Jan, > Wire.beginTransmission(THERM); > Wire.send(0); > Wire.endTransmission(); > Wire.requestFrom(THERM, 2); <======???? > Temperature_H = Wire.receive(); <=====???? > Temperature_L = Wire.receive(); <=====???? > > into the amForth without any success. > > In this case I set the register index at zero, and I won't to read two bytes. Did you check the following code from the repository? http://amforth.svn.sourceforge.net/viewvc/amforth/applications/ewlib/ The I2C snippets do exactly what you want (IMHO) Matthias |
From: Jan K. <kro...@ho...> - 2012-06-04 18:36:25
|
Hello, I try to convert the arduino source : Wire.beginTransmission(THERM); Wire.send(0); Wire.endTransmission(); Wire.requestFrom(THERM, 2); <======???? Temperature_H = Wire.receive(); <=====???? Temperature_L = Wire.receive(); <=====???? into the amForth without any success. In this case I set the register index at zero, and I won't to read two bytes. Can someone help me with this? Thanks in advance and regards. Cheers Jan Kromhout |
From: Jan K. <kro...@ho...> - 2012-06-03 20:48:12
|
Dear Matthias, Thanks for this. I have now a complete working I2C connection with my 7seg display and my arduino. Now I working on the tmp75 temperature controller (i2c) When this working I will publish the code for other newbies as I am! Thanks to all they helped me in the last time, this is a great forum!!! Cheers, Jan kromhout Sacharovlaan 3 3223HM Hellevoetsluis-NL Op 3 jun. 2012 om 19:39 heeft Matthias Trute <mt...@we...> het volgende geschreven: > Hi Jan, > > I'm not an expert for TWI, some I've spend some time with EEPROM > modules (dont use the code in the lib directory, its broken). > >> Dear Erich, I have done what you wrote, seems to work.But when I look >> to te code of twi.frt I see some strange thing, or missing >> sommething. When I look into the code never is sending the address in >> twi.start > > That is absolutly ok. The TWI/I2C bus has some unique characteristics, > one is that it can be considered stateful. The master has to send a > start condition (some special combinations of voltages of the affected > lines) and only after successfully aquiring the bus the master can continue. > > When the master has finished its job, it has to send a stop condition > (some special voltage combination again) to release the bus for others > (I2C is multi-master capable). > > Usually the first thing a master has to do after getting the bus is to > select a device to communicate with by sending one byte (In your > case the 0x38). If the devices answers with an ACK (see TWI status), > everything works fine and the next bytes may be transmitted. > Things can get more complicated if the device has to send > data back to the master (EEPROMs)... > > Thus I suspect the arduino code sequence (I do not know the > arduino language) > > Wire.beginTransaction(_7SEG) > ... > Wire.endTransaction(_7SEG) > > should be written as > > 0x38 constant _7SEG > twi.start \ aquire bus > _7SEG twi.tx \ select device > .... > twi.stop \ release bus, maybe reset the device state as well > > You may want to check the Atmel Appnote AVR315 for more information > Its only 11 pages... > > HTH > Matthias > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel > |
From: Matthias T. <mt...@we...> - 2012-06-03 17:39:57
|
Hi Jan, I'm not an expert for TWI, some I've spend some time with EEPROM modules (dont use the code in the lib directory, its broken). > Dear Erich, I have done what you wrote, seems to work.But when I look > to te code of twi.frt I see some strange thing, or missing > sommething. When I look into the code never is sending the address in > twi.start That is absolutly ok. The TWI/I2C bus has some unique characteristics, one is that it can be considered stateful. The master has to send a start condition (some special combinations of voltages of the affected lines) and only after successfully aquiring the bus the master can continue. When the master has finished its job, it has to send a stop condition (some special voltage combination again) to release the bus for others (I2C is multi-master capable). Usually the first thing a master has to do after getting the bus is to select a device to communicate with by sending one byte (In your case the 0x38). If the devices answers with an ACK (see TWI status), everything works fine and the next bytes may be transmitted. Things can get more complicated if the device has to send data back to the master (EEPROMs)... Thus I suspect the arduino code sequence (I do not know the arduino language) Wire.beginTransaction(_7SEG) ... Wire.endTransaction(_7SEG) should be written as 0x38 constant _7SEG twi.start \ aquire bus _7SEG twi.tx \ select device .... twi.stop \ release bus, maybe reset the device state as well You may want to check the Atmel Appnote AVR315 for more information Its only 11 pages... HTH Matthias |
From: Erich W. <ew....@na...> - 2012-06-03 08:39:55
|
Hi Jan, On 06/02/2012 07:33 PM, Jan Kromhout wrote: > Dear Erich, > I have done what you wrote, seems to work. Very good! > But when I look to te code of twi.frt I see > some strange thing, or missing sommething. > When I look into the code never is sending > the address in twi.start \ send start condition > : twi.start ( -- ) > [ 1 7 lshift > 1 5 lshift or > 1 2 lshift or ] literal > TWCR c! > twi.wait > ; > > Where should I put the address? The address is just the first byte to be transfered. I use the following functions to send/receive n Byte to/from some address. Feel free to recycle them: \ send n bytes to addr : >i2c ( x1 .. xN.msB N addr -- ) twi.start twi.tx \ uses addr 0 do \ uses N twi.tx \ uses xN .. x1 loop twi.stop ; : <i2c ( N addr -- xN.msB .. x1 ) twi.start 1+ twi.tx \ uses addr 1- dup 0 > if 0 do twi.rx loop else drop then twi.rxn twi.stop ; As you can see, the first call to twi.tx sends the addr. If you have not downloaded the datasheet of your controller from atmel.com, please do so. I know, these datasheets are rather intimidating at first, however, they do include a lot of information, e.g. how to set the bits in TWCR and their meaning. I strongly suggest to consult the datasheet often. You will learn to read it. And amforth will let you access the registers and bits easily. Cheers, Erich |
From: Jan K. <kro...@ho...> - 2012-06-02 17:34:00
|
Dear Erich, I have done what you wrote, seems to work.But when I look to te code of twi.frt I see some strange thing, or missing sommething. When I look into the code never is sending the address in twi.start \ send start condition : twi.start ( -- ) [ 1 7 lshift 1 5 lshift or 1 2 lshift or ] literal TWCR c! twi.wait ; Where should I put the address? Thanks for any help.Cheers, Jan > Date: Fri, 1 Jun 2012 21:36:24 +0200 > From: ew....@na... > To: amf...@li... > Subject: Re: [Amforth] TWI - 7segment display Gravitech.us > > Hi Jan, > > > On 06/01/2012 08:58 PM, Jan Kromhout wrote: > > It is not working. > > Where exactly is "it"? > > Can you talk to the twi device? Did you try twi.scan? It should > report every device on the twi bus. > > Did you enable the twi subsystem? > > \ enable twi > \ TWBR = $03, TWPS[10] = $03 ==> 28 kHz (f_cpu: 11059200) > : +twi ( -- ) > $00 TWCR c! > $03 TWBR c! > $03 TWSR c! > ; > This code snippet works on atmega32. Check the datasheet whether > it is the same for your controller. > > > It seems to hang. Can continue with a hard reset! > > > Cheers, > Erich > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Jan K. <kro...@ho...> - 2012-06-01 20:52:04
|
Dear Erich What should I give in at f-cpu=16000000 Try twi.scan? But no result. Thanks for any help! Cheers Jan Jan kromhout Sacharovlaan 3 3223HM Hellevoetsluis-NL Op 1 jun. 2012 om 21:36 heeft Erich Waelde <ew....@na...> het volgende geschreven: > Hi Jan, > > > On 06/01/2012 08:58 PM, Jan Kromhout wrote: >> It is not working. > > Where exactly is "it"? > > Can you talk to the twi device? Did you try twi.scan? It should > report every device on the twi bus. > > Did you enable the twi subsystem? > > \ enable twi > \ TWBR = $03, TWPS[10] = $03 ==> 28 kHz (f_cpu: 11059200) > : +twi ( -- ) > $00 TWCR c! > $03 TWBR c! > $03 TWSR c! > ; > This code snippet works on atmega32. Check the datasheet whether > it is the same for your controller. > >> It seems to hang. Can continue with a hard reset! > > > Cheers, > Erich > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel > |
From: Erich W. <ew....@na...> - 2012-06-01 19:36:52
|
Hi Jan, On 06/01/2012 08:58 PM, Jan Kromhout wrote: > It is not working. Where exactly is "it"? Can you talk to the twi device? Did you try twi.scan? It should report every device on the twi bus. Did you enable the twi subsystem? \ enable twi \ TWBR = $03, TWPS[10] = $03 ==> 28 kHz (f_cpu: 11059200) : +twi ( -- ) $00 TWCR c! $03 TWBR c! $03 TWSR c! ; This code snippet works on atmega32. Check the datasheet whether it is the same for your controller. > It seems to hang. Can continue with a hard reset! Cheers, Erich |
From: Jan K. <kro...@ho...> - 2012-06-01 18:58:32
|
Hello, I have translate a I2C program thats working on the arduino. It is the 7segment display from Gravitech.us ===== ARDUINO ============================= #include <Wire.h> #define _7SEG (0x38) /* I2C address for 7-Segment */ const byte NumberLookup[16] = {0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F, 0x77,0x7C,0x39,0x5E,0x79,0x71}; void setup() { Wire.begin(); /* Join I2C bus */ delay(500); /* Allow system to stabilize */ } void loop() { /* Configure 7-Segment to 12mA segment output current, Dynamic mode, and Digits 1, 2, 3 AND 4 are NOT blanked */ Wire.beginTransmission(_7SEG); Wire.send(0); Wire.send(B01000111); Wire.endTransmission(); Send7SEG (1,NumberLookup[random(0, 9) ]); Send7SEG (2,NumberLookup[random(0, 9) ]); Send7SEG (3,NumberLookup[random(0, 9) ]); Send7SEG (4,NumberLookup[random(0, 9) ]); delay(500); } /*************************************************************************** Function Name: Send7SEG Purpose: Send I2C commands to drive 7-segment display. ****************************************************************************/ void Send7SEG (byte Digit, byte Number) { Wire.beginTransmission(_7SEG); Wire.send(Digit); Wire.send(Number); Wire.endTransmission(); } ======= and this is my amForth program ==================== marker -7seg- $38 value twi.7seg \ 7segment adress : init-7seg twi.7seg twi.start \ begin transmission $00 twi.tx $47 twi.tx twi.stop ; : send-7seg ( digit byte ) swap twi.7seg twi.start \ begin transmission twi.tx \ send digit, is position twi.tx \ send byte twi.stop ; : test-7seg init-7seg \ init the i2c connection $01 $3f send-7seg \ digit-1 => 0 $02 $06 send-7seg \ digit-2 => 1 $03 $5b send-7seg \ digit-3 => 2 $04 $4f send-7seg \ digit-4 => 3 twi.stop ; It is not working. It seems to hang. Can continue with a hard reset! Could I get some help to solve this? Thanks in advance. Cheers, Jan Kromhout Hellevoetsluis-NL |
From: Matthias T. <mt...@we...> - 2012-05-31 19:30:45
|
Hi Jan, > > Hi Mathias, I have include in to the "dict_appl.inc" the last two words. .include "dict_interrupt.inc" > .include "dict_usart.inc" > .include "dict_wl.inc" > .include "dict_minimum.inc" > .include "words/2to_r.asm" > .include "words/2r_from.asm" Final-New-Line missing? The assembler is a stupid tool .. The assembler generates a .lst file. It is basically the content of all asm files and the generated machine code. Check this file for the two words. If you find them, the words are in the hex files and you probably pick the wrong hex file for flashing the controller. If they are not part of the lst file you should carefully check this file: which files are included and what's their content. Esp look for dict_ files and where they come from. Matthias |
From: Jan K. <kro...@ho...> - 2012-05-31 19:03:49
|
Hi Mathias, I have include in to the "dict_appl.inc" the last two words. .include "dict_interrupt.inc" .include "dict_usart.inc" .include "dict_wl.inc" .include "dict_minimum.inc" .include "words/2to_r.asm" .include "words/2r_from.asm" But when I load the case.frt then the words 2r> and 2>r are not recognise. Can you tell me what I do wrong? Thanks. Cheers, Jan > Date: Thu, 31 May 2012 19:53:27 +0200 > From: mt...@we... > To: amf...@li... > Subject: Re: [Amforth] need some help > > Hi Jan, > > > > It is working. > > Fine :=) > > > > > How can I figure out wich words are not include? > > Good question. I see it the other way: What words > are included? For that I usually consolt the > inc-files that are usede (mostly dict_appl.inc > and dict_appl_core.inc). The inc files in the > core/ directory are pre-defined sets of words that > are useful if included together. > > And no: there is no tool around to tell which words > are included and which are not. Maybe you want to > volunteer? > > HTH > Matthias > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |
From: Matthias T. <mt...@we...> - 2012-05-31 17:53:34
|
Hi Jan, > It is working. Fine :=) > > How can I figure out wich words are not include? Good question. I see it the other way: What words are included? For that I usually consolt the inc-files that are usede (mostly dict_appl.inc and dict_appl_core.inc). The inc files in the core/ directory are pre-defined sets of words that are useful if included together. And no: there is no tool around to tell which words are included and which are not. Maybe you want to volunteer? HTH Matthias |
From: Matthias T. <mt...@we...> - 2012-05-31 17:39:58
|
Hi Jan, > Hello, I tested the word vocabulary with vocabulary test-vocabulary I've reproduced your test and it works for me. I could not reproduce your results. The formatting is somewhat ugly, sorry for that .... >> vocabulary dummy > ok >> only > ok >> order > 20 > 1 20 ok >> forth > ok >> also order > 20 > 2 20 20 ok >> dummy definitions > ok >> order > 82 > 2 82 20 ok >> : test1 ." test 1 " ; > ok >> : test2 ." test 2 " ; > ok >> words > test2 test1 ok >> order > 82 > 2 82 20 ok >> previous > ok >> order > 82 > 1 20 ok >> definitions > ok >> order > 20 > 1 20 ok >> words > dummy vocabulary after elapsed ms expired? @tick ... >> also dummy > ok >> words > test2 test1 ok >> previous > ok >> words > dummy vocabulary after elapsed ms expired? ... >> order > 20 > 1 20 ok >> forth > ok >> order > 20 > 1 20 ok Matthias |
From: Erich W. <ew....@na...> - 2012-05-31 17:35:07
|
Hi Jan, On 05/31/2012 06:01 PM, Jan Kromhout wrote: > > Hi Erich This is the answer that I get from amForth amforth 4.8 ATmega328P >> > ok >> > ok >> forth > forth ?? -13 5 >> FORTH > FORTH ?? -13 5 If you get error -13, which is "word not found", then this word should not show up in the output of " words ". Did you check that? This means, your question is "how do I get the word forth into the installed amforth?". First: find, where "forth" is defined: cd /home/my/path/to/amforth grep -rl '"forth"' ./trunk ./trunk/doc/TechnicalGuide/.svn/text-base/amforth-architecture.xml.svn-base ./trunk/doc/TechnicalGuide/amforth-architecture.xml ./trunk/core/words/.svn/text-base/forth.asm.svn-base ./trunk/core/words/forth.asm Please note the single+double quotes. I want to find the string including its enclosing double quotes. Otherwise I will get too many matches. So it finds 4 files. 2 of them are items in the subversion version control infrastructure (*.svn-base), so I ignore those. The file ./trunk/core/words/forth.asm holds the definition of the word. cat ./trunk/core/words/forth.asm ; ( -- ) ; Search Order ; replace the search order list with the system default list VE_FORTH: .dw $ff05 .db "forth",0 <== this is the entry in the wordlist .dw VE_HEAD .set VE_HEAD = VE_FORTH XT_FORTH: .dw DO_COLON PFA_FORTH: .dw XT_GET_ORDER .dw XT_SWAP .dw XT_DROP .dw XT_FORTH_WORDLIST .dw XT_SWAP .dw XT_SET_ORDER .dw XT_EXIT We know now, in which file the definition resides. Second: we need to see, whether this file is included somewhere, or not. grep -rl 'include "words/forth.asm"' ./trunk ./trunk/core/dict_wl.inc ./trunk/core/.svn/text-base/dict_wl.inc.svn-base There is an include statement in dict_wl.inc. cat ./trunk/core/dict_wl.inc .include "words/set-current.asm" .include "words/previous.asm" .include "words/definitions.asm" .include "words/wordlist.asm" .include "words/only.asm" .include "words/forth.asm" .include "words/forth-wordlist.asm" .include "words/also.asm" .include "words/set-order.asm" .include "words/order.asm" So this is the file you want to add into your local dict_appl.inc Third: if forth.asm is not included in some "dict_*.inc" file, then you add this to your local dict_appl.inc file. .include "dict_wl.inc" Moral: amforth does not include more than it needs itself to function properly. This is a concious decision towards keeping the amforth system on the controller as small as possible. However, the programmer has full control to include whatever is missing for his/her particular piece of code. Hope this helps, Erich > Sommeting wrong with the definition of vacabulary or the other words? > Cheers, Jan> Date: Thu, 31 May 2012 12:31:24 +0200 >> From: ew....@na... >> To: amf...@li... >> Subject: Re: [Amforth] Vocabulary >> >> Hi Jan, >> >> On 05/31/2012 12:14 PM, Jan Kromhout wrote: >>> >>> Hello, I tested the word vocabulary with vocabulary test-vocabulary >>> only forth also test-vocabulary definitions: test1 ." test1" ; >>> : test2 ." test2" ; >>> : test3 ." test3" ; >>> : test4 ." test4" ; >>> : test5 ." test5" ;previous definitions On one thing all is working fine. When I wont >>> to go back to the Forth vocabulary, in my win32 forth I type in FORTH.When I try that >>> in amForth there is no posibilty to go back.System is not recognise anny words except >>> the ones in the vocabulary. What should I do? Thanks for anny help. >> > >> >> "FORTH" or "forth" ? >> >> Please note, that amforth is case-sensitive. Looking at >> http://amforth.sourceforge.net/words/index.html >> the word "forth" (lower case) is available. >> >> >> Cheers, >> Erich >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> Amforth-devel mailing list for http://amforth.sf.net/ >> Amf...@li... >> https://lists.sourceforge.net/lists/listinfo/amforth-devel > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for http://amforth.sf.net/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel |