building a card reader into a virtex 2 or 5 based FPGA device.

Sorry to start from scratch yet again, but I don't know where to
begin.

In the past I've had log file info dump out onto  a UART as
necessary.  The UART is slow, and requires an additional device to
capture the datastream.

I want to be able to write to a removable memory stick, or compact
flash card, but I don't have any idea how to do it.  When the FPGA is
powered up it should start a new "file" on the compact flash card, and
start writing to it.  On commanded bit or powerdown, the file should
be closed, and stored such that I can pull the card, plug it into a PC
and read the file with notepad or such.


The fpga should be able to read a small config file, and then write it
back out, for example a file with the filename in it

logfilen.txt:
0000000
--------------------------

the fpga reads the line ( 0000000 ) and knows filename should be that
plus one say 0000001.txt
and then it updates/rewrites/deletes and posts a

logfilen.txt:
00000001

this way the filenames of the log files keeps changing.


I'm looking for ideas on how to get this accomplished.

Thanks,

Jon





0
jon291 (71)
7/21/2009 7:56:52 PM
comp.arch.fpga 18519 articles. 20 followers. Post Follow

6 Replies
196 Views

Similar Articles

[PageSpeed] 31
On Jul 21, 3:56=A0pm, jleslie48 <j...@jonathanleslie.com> wrote:
> Sorry to start from scratch yet again, but I don't know where to
> begin.
>
> In the past I've had log file info dump out onto =A0a UART as
> necessary. =A0The UART is slow, and requires an additional device to
> capture the datastream.
>
> I want to be able to write to a removable memory stick, or compact
> flash card, but I don't have any idea how to do it. =A0When the FPGA is
> powered up it should start a new "file" on the compact flash card, and
> start writing to it. =A0On commanded bit or powerdown, the file should
> be closed, and stored such that I can pull the card, plug it into a PC
> and read the file with notepad or such.
>
> The fpga should be able to read a small config file, and then write it
> back out, for example a file with the filename in it
>
> logfilen.txt:
> 0000000
> --------------------------
>
> the fpga reads the line ( 0000000 ) and knows filename should be that
> plus one say 0000001.txt
> and then it updates/rewrites/deletes and posts a
>
> logfilen.txt:
> 00000001
>
> this way the filenames of the log files keeps changing.
>
> I'm looking for ideas on how to get this accomplished.
>
> Thanks,
>
> Jon

If you wanted to use CompactFlash, you could use Xilinx'x SystemAce
chip and their libraries for interfacing to it with an embedded
processor like Microblaze or the PowerPC. If you wanted to roll your
own CF interface, it's basically an IDE interface, so you might be
able to find the spec and go at it, or find a free core on
opencores.org.

If you wanted to use Secure Digital, you can do that with a SPI
interface to implement the sector reads/writes and find some FAT32
code to put on top of in, of course in an embedded processor. There's
also a product called DosOnChip which takes care of a lot of the
filesystem stuff for you: http://www.sparkfun.com/commerce/product_info.php=
?products_id=3D8215

Hope this gives you some ideas.

Dave
0
Dave
7/22/2009 12:38:59 AM
jleslie48 <jon@jonathanleslie.com> writes:

> Sorry to start from scratch yet again, but I don't know where to
> begin.
>
> In the past I've had log file info dump out onto  a UART as
> necessary.  The UART is slow, and requires an additional device to
> capture the datastream.
>

How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
count the PC as well?

http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=53&search=usb+uart+cable&op=catalogue-product_info-null

> I want to be able to write to a removable memory stick, or compact
> flash card, but I don't have any idea how to do it.  When the FPGA is
> powered up it should start a new "file" on the compact flash card, and
> start writing to it.  On commanded bit or powerdown, the file should
> be closed, and stored such that I can pull the card, plug it into a PC
> and read the file with notepad or such.

Is this sort of thing any use?

http://www.vinculum.com/

Easy modules:
http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=57&title=VDIP1

I've never used them, but it looks like a simple way to add use-storage
to a system.

Failing that, glue a USB host controller on the side and run linux on a
microblaze.

[BTW, even though I sound like an FTDI salesman I have no affiliation
with FTDI, other than having used various of their products!]

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html
0
Martin
7/22/2009 10:38:35 AM
Martin Thompson <martin.j.thompson@trw.com> wrote:
> jleslie48 <jon@jonathanleslie.com> writes:

> > Sorry to start from scratch yet again, but I don't know where to
> > begin.
> >
> > In the past I've had log file info dump out onto  a UART as
> > necessary.  The UART is slow, and requires an additional device to
> > capture the datastream.
> >

> How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
> 3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
> count the PC as well?

If you go with the FT245 or FT2232 in 245 mode, rate can even be higher, at
the cost of more pins. Requirements on the PC side are the same.
-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
0
Uwe
7/22/2009 12:06:43 PM
On Wed, 22 Jul 2009 12:06:43 +0000 (UTC), Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
wrote:

>Martin Thompson <martin.j.thompson@trw.com> wrote:
>> jleslie48 <jon@jonathanleslie.com> writes:
>
>> > Sorry to start from scratch yet again, but I don't know where to
>> > begin.
>> >
>> > In the past I've had log file info dump out onto  a UART as
>> > necessary.  The UART is slow, and requires an additional device to
>> > capture the datastream.
>> >
>
>> How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
>> 3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
>> count the PC as well?
>
>If you go with the FT245 or FT2232 in 245 mode, rate can even be higher, at
>the cost of more pins. Requirements on the PC side are the same.

And the FT2232H/4232H devices will go even faster...
0
Mike
7/22/2009 5:12:24 PM
On Jul 22, 6:38 am, Martin Thompson <martin.j.thomp...@trw.com> wrote:
> jleslie48 <j...@jonathanleslie.com> writes:
> > Sorry to start from scratch yet again, but I don't know where to
> > begin.
>
> > In the past I've had log file info dump out onto  a UART as
> > necessary.  The UART is slow, and requires an additional device to
> > capture the datastream.
>
> How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
> 3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
> count the PC as well?
>
> http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=53&search=...
>
> > I want to be able to write to a removable memory stick, or compact
> > flash card, but I don't have any idea how to do it.  When the FPGA is
> > powered up it should start a new "file" on the compact flash card, and
> > start writing to it.  On commanded bit or powerdown, the file should
> > be closed, and stored such that I can pull the card, plug it into a PC
> > and read the file with notepad or such.
>
> Is this sort of thing any use?
>
> http://www.vinculum.com/
>
> Easy modules:http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-product...
>
> I've never used them, but it looks like a simple way to add use-storage
> to a system.
>
> Failing that, glue a USB host controller on the side and run linux on a
> microblaze.
>
> [BTW, even though I sound like an FTDI salesman I have no affiliation
> with FTDI, other than having used various of their products!]
>
> Cheers,
> Martin
>
> --
> martin.j.thomp...@trw.com
> TRW Conekt - Consultancy in Engineering, Knowledge and Technologyhttp://www.conekt.net/electronics.html

Ok, I'm looking at these solutions, they look promising, but has
anyone actually got one of these to work?

I've got a Diligent test board and it has a compact flash reader on
it, so I'm assuming someone actually used this reader for something,
but I can't find any test code or any clue how to use it.  I keep
hearing something about microblaze, and then I can write C code, but I
have yet to stumble onto an example.

0
jleslie48
7/23/2009 7:06:21 PM
On Jul 23, 3:06=A0pm, jleslie48 <j...@jonathanleslie.com> wrote:
> On Jul 22, 6:38 am, Martin Thompson <martin.j.thomp...@trw.com> wrote:
>
>
>
>
>
>
>
> > jleslie48 <j...@jonathanleslie.com> writes:
> > > Sorry to start from scratch yet again, but I don't know where to
> > > begin.
>
> > > In the past I've had log file info dump out onto =A0a UART as
> > > necessary. =A0The UART is slow, and requires an additional device to
> > > capture the datastream.
>
> > How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
> > 3Mbps IIRC. =A0It's an extra cable, hardly a device though, unless you
> > count the PC as well?
>
> >http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=3D53&search=
=3D...
>
> > > I want to be able to write to a removable memory stick, or compact
> > > flash card, but I don't have any idea how to do it. =A0When the FPGA =
is
> > > powered up it should start a new "file" on the compact flash card, an=
d
> > > start writing to it. =A0On commanded bit or powerdown, the file shoul=
d
> > > be closed, and stored such that I can pull the card, plug it into a P=
C
> > > and read the file with notepad or such.
>
> > Is this sort of thing any use?
>
> >http://www.vinculum.com/
>
> > Easy modules:http://apple.clickandbuild.com/cnb/shop/ftdichip?op=3Dcata=
logue-product...
>
> > I've never used them, but it looks like a simple way to add use-storage
> > to a system.
>
> > Failing that, glue a USB host controller on the side and run linux on a
> > microblaze.
>
> > [BTW, even though I sound like an FTDI salesman I have no affiliation
> > with FTDI, other than having used various of their products!]
>
> > Cheers,
> > Martin
>
> > --
> > martin.j.thomp...@trw.com
> > TRW Conekt - Consultancy in Engineering, Knowledge and Technologyhttp:/=
/www.conekt.net/electronics.html
>
> Ok, I'm looking at these solutions, they look promising, but has
> anyone actually got one of these to work?
>
> I've got a Diligent test board and it has a compact flash reader on
> it, so I'm assuming someone actually used this reader for something,
> but I can't find any test code or any clue how to use it. =A0I keep
> hearing something about microblaze, and then I can write C code, but I
> have yet to stumble onto an example.

For just datalogging, where throughput isn't too important, I'd
personally go with an SD card, using the SPI mode of communication.
There are several examples of C code for controlling an SD card with
the SPI interface, such as http://www.flashgenie.net/index.html#code.
There are some examples of FAT32 code floating around on the net, too.

The SD card association at www.sdcard.org also publishes a simplified
spec which shows a lot of the SPI commands you can use with SD cards.

You can find some breakout boards for SD cards at www.sparkfun.com,
and tie them to your Digilent board if it has an IO header that goes
to the FPGA.

If the CF card on your board is connected to a Xilinx SystemAce chip,
then it might be fairly simple to use with an embedded processor.
Otherwise, you'll either have to learn the IDE spec or find some IP to
handle it. There's an IDE controller on opencores.org, but I have no
experience with it.

You could also use one of the USB/UART solutions that have been
proposed, and have the computer to the logging. You'd need to be
tethered to a computer, but it would be super-fast to implement.

Good luck,
Dave
0
Dave
7/24/2009 2:46:27 AM
Reply:
Similar Artilces:

template argument deduction #2
// trial.h #ifndef TRIAL_H #define TRIAL_H # include <vector> # include <complex> # include <iostream> template <typename scalar> struct complex_param { typedef typename std::complex<scalar> complex_type; typedef typename std::vector< complex_type > cvec_type; typedef typename cvec_type::size_type cvec_size_type; typedef typename cvec_type::const_iterator cvec_const_iter; typedef typename cvec_type::iterator cvec_iter; }; typedef complex_param<double>::complex_type complex_d; typedef complex_param<float>::com...

[fbsd62/amd64] building mplayer and svga libs...
Hi all, As everybody knows, svga libs is not supported under amd64 arch. So /var/db/ports/mplayer/options file has the line: WITHOUT_SVGALIB=true Nevertheless, building mplayer try to build svga lib, and of course, fails. To fix this issue, I had to comment some lines in the Makefile: #.if defined(WITH_SVGALIB) #LIB_DEPENDS+= vga.1:${PORTSDIR}/graphics/svgalib #.else CONFIGURE_ARGS+= --disable-svga #.endif Note that, as I don't want aalib in mplayer, I have to do the same thing for it: #.if defined(WITH_AALIB) #LIB_DEPENDS+= aa.1:${PORTSDIR}/graphics/aa...

Forms (Access 2002 SP-2): Unable to go to next or previous record
Revised form layout by dragging/dropping fields from field list and deleting unwanted fields. However, unable to go to next existing record or return to previous existing record, but can add new record. Error message received when attempting to go to next or previous existing record: "The value you entered isn't valid for this field." Well, it sounds to me as if a value you entered for some field, is not valid for that field! This will stop the form from leaving that record until you discard the change (eg. by pressing Escpae a few times), or change the value to an acceptable o...

Mouse sometimes freezes using a KVM switch with a 2.6.x Kernel
I am using Debian Sarge with a 2.6 Kernel and Xfree86. My mouse is a ps/2 mouse on /dev/psaux. I have a manual 8 port keyboard, video, mouse switch. When I throw the switch to another computer and back again, sometimes the mouse cursor freezes and I have to reboot the computer to reactivate the mouse. A while ago, on another computer, I used to use Debian Woody with a 2.4 Kernel and an earlier version of Xfree86. On that machine, when the mouse cursor hung, it was possible to kill the mouse daemon process (moused, I think) and restart it to revive the mouse. I do not appear to have a ...

FA: Phase 5 Fastlane Z3 SCSI & RAM card for Amiga 3000/4000
http://xrl.us/Phase5 ...

Word VS. OOo 2.0 Writer beta
" Several years ago, I wrote "Opening Up to OpenOffice.org: Finding an Alternative to Microsoft Word" -- my most quoted article. At that time OpenOffice.org (OOo) was barely known, so I confined myself to highlights. Now that OOo is starting to be used in business, a more detailed look seems overdue. Accordingly, I compared the beta of OOo Writer 2.0 with Microsoft Word 2003. Both are adequate for most users' purposes, so I focused on functions that power users are likely to want" http://software.newsforge.com/article.pl?sid=05/06/14/2137222&from=rss From a ...

Problem with pointers and iterators #2
Hi, if I have the following code: class MyObject { public: MyObject() {}; ~MyObject() {}; int x; } class MyObjectList : public std::vector<MyObject> {}; void Foo(MyObject* obj) { // Do something with obj->x } If I loop through it like this: MyObjectList list; // stuff list with objects MyObjectList::iterator it; for (it = list.begin(); it != list.end(); ++it) { // I used to be able to do this: MyObject* p_obj = it; Foo(p_obj); // Or this Foo(it); } But now the error I get is 'cannot convert parameter 1 from 'std::vector<_Ty>::iterato...

LISPPA (List Processing based on the Polymorphic Arrays)
LISPPA (List Processing based on the Polymorphic Arrays) technology is a way to process dynamic data structures (lists, trees and more) without using pointers. LISPPA uses polymorphic arrays as a base of the data representation. A very important example of polymorphic arrays is the variant arrays in such languages as Visual Basic, Object Pascal (Delphi) and other. The current implementation of LISPPA has been created on the base of extension of the Variant type. All languages of the paxScript scripting engine: paxPascal, paxBasic, paxC, paxJavaScript support LISPPA. LISPPA technology uses 4...

[Building Error]error of building ACE5.5 in Fedora7
Hi, I build ACE5.5 in Fedora7. When I configure it , It fails. And so, Makefile can not be generated. When build ACE5.5 in the same way in Fedora5, It succeeds. I am confused. Can anyone help me ? Thank you very much. I attache the failing text of config.log in the followings. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ configure:91118: checking if generated ACE configuration is usable configure:91246: g++ -c -W -Wall -Wpoi...

XPC target information #2
Hi, How can I find XPC target information like memory usage, threads running, CPU load... etc. Typically in Linux I use 'top' command for this. regards -sham "shamasundar naik" <shamasundar.naik@tno.nl> wrote in message news:hb1ch3$16r$1@fred.mathworks.com... > Hi, > > How can I find XPC target information like memory usage, threads running, > CPU load... etc. Typically in Linux I use 'top' command for this. > > regards > -sham > Use the target object: http://www.mathworks.com/access/helpdesk/help/toolbox/xpc/ug/f9-36771.html You ...

function #2 382291
i can't understand what i've to do... ...

Hash #2 #2
Hi all, I have a questions of comparing two hashes. %hash1={a=>2,b=>3,c=>4,d=>5} %hash2={a=>7,b=>8,c=>9,d=>0) I have to ensure that from %hash2 the value is increased by 5(2->7 and 3->8) for "a","b". I dont want to compare the all the values of hash2(for exp-d=0).I want to push this to a library(preferably a single method) so that I can reuse it. Is there a better way to do this?. Can anybody help me in this regard? Any source code will be of great help. Regards Pradeep See further down for comments on your code ... On 23/12/11 08:13,...

Re: Wireless Technology: Some Newbie Questions #2
On Sun, 19 Oct 2003 16:56:10 GMT, Michael D. Sullivan <nospam@camsul.com> wrote: >> 3) What's EVDO and EVDV? http://www.dslreports.com/shownews/33718 To send an email reply send to GSMthemobilestandard (@) yahoo.com ...

[News] Review of the Blobs-free gNewSense 2.1
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Review: gNewSense 2.1 ,----[ Quote ] | gNewSense, a Linux distribution put out by the Free Software Foundation, is | designed and intended to provide you with a distro completely free of any and | all proprietary drivers, software, or codecs. It strives to also be new-user | friendly, reliable, and easy to use. But does it really succeed at | fulfilling its desires, or does it become a nuisance (pun intended) instead? | The best way to find out is to have a look. `---- http://www.raiden.net/?cat=2&aid=465 Recent: GNewSense,...

alt.collecting.stamps,comp.lang.ada,alt.usenet.offline-reader.forte-agent,alt.pantyhose,fido.magie-ger
matt parker alias eric von lindtherzog@yahoo.com f_quisinsky@yahoo.com matt parker alias e vanlunsen herzog@yahoo.com laurie_parker@yahoo.com matt parker alias eric_von_lunsen@yahoo.com tanja dchenka@yahoo.com matt parker alias erik lint@yahoo.com s machine@yahoo.com matt parker alias eric_vonlindt@yahoo.com larisa parker@yahoo.com matt parker alias evan_lint@yahoo.com gaap@yahoo.com matt parker alias erik_von_lintherzog@yahoo.com erikvanlindthout@yahoo.com matt parker alias evonlunsen_hout@yahoo.com c_humble@yahoo.com matt parker alias e_vanlindtherzog@yahoo.com erikvanlunsen_hout@yahoo....

Context Menu on Child App window #2
Even if it has been reported that in V2.7a ContextMenu doesn't work in ChildAppWindow (and even a workaround that i put also here), it wolud be nice that in version 2.7c it would work, because in version 2.7b doesn't still work. thanks ASSIGN ContextMenu(oNewMenu) CLASS ChildAppWindow IF oImp != NULL_OBJECT oImp:ContextMenu := oNewMenu ENDIF SUPER:ContextMenu := oNewMenu RETURN oNewMenu Alessandro, But it would be quite rare to apply a context menu to a window. Normally this is only done for controls so I could forgive this oversight. But rare or not, I agree ...

building a booklet
Hi, Can some one get me started on the easiest way to build a booklet with half-sheet pages (5.5 x 8.5 tall) so that the text will flow so that when I print it out the masters will be ready to copy. This means page 1 backs to page 20, 2 to 19, that sort of thing. Is there a process I should follow? PM7 on the PC I also have CS suite 1 and 2 if that makes it easier, but I haven't done the learning curve to CS yet. Thanks! Randy Starkey "Randy Starkey" <randy.starkeyNOSPAM@NOSPAMvictorychurch.com> wrote in message news:116m2b1h52dbeb4@corp.supernews.com... > H...

A new reader? Welcome to comp.os.linux.setup, read this first if you're new here (FAQ) #40
New reader? Great! Welcome! Here's how to make best use of this newsgroup and get yourself a slice of the best help available. Now read on ... TESTING YOUR CONNECTION Errm, first a delicate point. Often users accessing a forum like this for the first time don't realize that posts don't show up immediately, certainly not for several minutes, and maybe not for some hours. In the old days, it took as long as the camel bearing the news took! So they tend to post "test" messages. Please don't! It really is a netiquette faux p...

Re: Calling Macros #2
this is not a problem when you run programs in batch however, for that rare occasion when you just have to make last-minute changes to a macro: 0. Reading the literature proc options define value option = mrecall; run; 1. edit and save macro 2. add to calling program: options mrecall; Ron Fehd the macro maven CDC Atlanta GA USA RJF2 at cdc dot gov > -----Original Message----- > From: owner-sas-l@listserv.uga.edu > [mailto:owner-sas-l@listserv.uga.edu] On Behalf Of Allen Ziegenfus > Sent: Wednesday, November 12, 2008 10:49 AM > To: SAS-L@LISTSERV.UGA.EDU > Subject: R...

Re: Area Code
Jan Schmidt wrote: > Am looking for a site where one can enter the AC and NNX and find out > what city the telephone number is located in. Do you offer that > somewhere on your web site? > Thanks, > Jan > [TELECOM Digest Editor's Note: I do not have that feature here in > TELECOM Digest, however it is available on other web sites. Perhaps > Linc Madison or Jon or one of the guys who keeps up with area codes > these days can refer you to such a template. PAT] See if this is what you want ... http://www.telcodata.us/telcodata/telco ...

Re: pairs and subsets challenge #2
On 8/4/05 at 2:08 AM, dreeves@umich.edu (Daniel Reeves) wrote: >{2,3,4,5} can't be in the output because one of its pairs ({2,5}) >is not in P. Does that clarify? >I'm pretty confident now that {{3,4,5}, {1,2,3,4}} is the correct >output. I had not carefully read your conditions and did not realize P specified at the start of the problem. For your particular example. >>>Simple example: >>> >>>N = {1,2,3,4,5}; >>>P ={{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{3,5},{4,5}}; The following works: << "DiscreteMa...

graphics card #2
Is it possible to get a dual monitor graphics card that allows you to connect two monitors to your tower? If not what are my options. Any help or advice would be much appreciated. Cheers Deffinetley, Windows recognizes that 2 monitors are capable across 2 video cards or one videocard or many more, I have a Raedon 9200SE with a DVI to VGA adapter and I bought that for 20$ canadian, I have another system that is using a Matrox G200 MMS, it is PCI card, though I have had trouble getting to boot off 2 cards so just try one (If you have internal video you have to get a 2 header PCI card because ...

Encode::decode() clears scalar being decoded? #2
if I run the following script: -snip- #!/usr/bin/perl use Encode qw/decode/; my $string = "B\303\266rsen Feiertag"; print "string=[$string]\n"; my $tmp = decode('utf8', $string, 1); print "string=[$string], tmp=[$tmp]\n"; -snip- I get the following output: -snip- string=[B�rsen Feiertag] string=[], tmp=[B?sen Feiertag] -snip- What happened to $string? There is no mention of side-effects in the Encode manpage... This only happens when CHECK is set to 1. I get this behavior on v5.8.8 running on: - This is perl, v5.10.0 built for i386-linux-threa...

Looking a study partner for SAS certificate: BASE Programming
Hi, all, I am preparing for the exam on my own, based on SAS 8.1, online documents and Step-by-step programming with base sas software. I would like to work with someone else together to set down a preparation schedule and motivate each other. Currently, I am in Toronto and can be reached by samcsgu@hotmail.com. Thanks, Sam ...

how to build simple FSM using generators ? #2
hello, i've readed "Charming Python: Generator-based state machines" www-106.ibm.com/developerworks/ linux/library/l-pygen.html , but i still can not get the point on how using generator for FSM i'm interested in a very simple FSM which would be able to recognize consecutive sequence of texts, please can someone give me a hint on how to do this using yield ? by now, my fsm is something like, having a "previous state", iterating in a while 1 loop, advancing "previous state" to recognized word and if len(recognized all words) is matched then a sequence ha...