QuickStart board and ViewPort problem
HShanko
Posts: 402
Has anyone had any trouble getting ViewPort to load/run on the QuickStart module?
I'm trying to use ViewPort to debug initialization of a 24 x 1 LCD module. But for some reason ViewPort doesn't seem to run properly. I have used ViewPort on other hardware without this problem. I even copy/pasted (and corrected) existing ViewPort code from another program. No compile errors, but ViewPort won't start. I was wondering if there might be a problem with this board I'd not yet heard of. Hope not.
I'm trying to use ViewPort to debug initialization of a 24 x 1 LCD module. But for some reason ViewPort doesn't seem to run properly. I have used ViewPort on other hardware without this problem. I even copy/pasted (and corrected) existing ViewPort code from another program. No compile errors, but ViewPort won't start. I was wondering if there might be a problem with this board I'd not yet heard of. Hope not.
Comments
http://forums.parallax.com/showthread.php?133131-Viewport-software&highlight=QuickStart+board+ViewPort
I tried BST and had problems getting that to download/program the QS board, But it has the debug feature, Serial Terminal, built-in which is nice for some things. So was wondering is the QS had a design problem. Nice board otherwise.
Hanno
Log:
Reset Reset:Propeller v1 on COM9
Reset Reset:Propeller v1 on COM9
Wrote 6446 bytes!
Waiting for reply
Received reply of 254 after 5,1
Waiting for reply
Received reply of 254 after 114,1
Waiting for reply
Operation timed out.
Hanno, I believe this was an issue on an earlier version - all you did was tweek the timeout setting when loading to eeprom, if I recall.
HShanko, post the code , and I'll run it for you.
Here's the code, at bottom, error list and a photo of the board.
This was the error log on one run:
Reset Reset: Propeller v1 on COM4
Reset Reset: Propeller v1 on COM4
Wrote 14509 bytes!
Waiting for reply
Received reply of 254 after 5,1
Opening connection to COM4 at 2000000
Operation timed out.
Received 4330 configuration bytes
Today I found I was able to Load EEPROM. But at times before that, I could Identify/Reset Hardware, but couldn't Load RAM or EEPROM. It would get through Detect, Load, Writing, but failed before Configuration finished. This was done from the Parallax IDE. The error log above was from the ViewPort attempts to Load RAM, EEPROM, Run, or Connect. At times I could Identify Prop but if tried anything else and failed, could NO LONGER ID the Prop!!!!.
To answer Hanno's question, the FTDI IC is a FT232RL; the one on the PropPlug looks like FT232RQ, a smaller IC. QS board uses a 5 MHz crystal and Rx/Tx are usual ones. The QS board does use a level translator between the FTDI and Prop; a 74LVC126A chip. That couldn't introduce much delay, could it? Or is it that critical? If so, I'd of thought Parallax would have noticed,
The last version of my source might have an error; I note something is not right when I use Brad's BST and serial terminal. But the LEDs on the QS board are still flashing with a down count from FFFh to 000h.
Sorry it has taken so long. I have the Forum and BST on the iMac side, with the IDE and ViewPort on the Windows side. I couldn't find a way to take pictures of the Windows screen and get it over to the iMac side to the Forum. I hope this info helps.
LCD_24x1.spin
Hanno
Looking at your code, I see you're trying to run VP with FullDuplexSerial object on the same pins (31 and 30)....you can't share pins with VP. I commented out any references to "term.xxxx" and it debuged fine.
OMG, I've been using FDS on another project and completely forgot that FDS use there was twice to another Prop and a PIC on another board. They used pins below P7, which completely allowed ViewPort use of pins 30 and 31.
Tomorrow I'll try it commented out. I only wanted ViewPort use to verify the LCD initialization signaling. Too infrequent to view on a regular oscilloscope.
Having other eyes/mind to look at one's code helps tremendously. Thanks for catching my boo-boo. The only reason to use FDS was to debug under BST; that helped some, but needed VP to handle the signaling to a LCD.
Here's the log on attempting to Run ViewPort, after 'fixing' my goof of having FDS and ViewPort at the same time (and same I/O pins):
Reset Reset: Propeller v1 on COM4
Reset Reset: Propeller v1 on COM4
Wrote 7557 bytes!
Waiting for reply
Received reply of 254 after 5,1
Opening connection to COM4 at 2000000
Operation timed out.
Received 146816 configuration bytes
Power should be OK in that the EEPROM can be programmed; since the QuickStart board is powered vis the USB the voltage appears to run about 4.85v. The USB cable has been used quite a few times and works for programming and comm via FDS. The clock settings are normal for 80 MHz. And is using the 'conduit share function.
I found that if I Program RAM or EEPROM, then try to Find Prop, it fails to find the Prop. I've tried it several times and appears to only do something (find Prop, Program RAM, or Program EEPROM) once and then cannot do any until the FT232R if deselected then reselected. Anybody observe such a flakey operation with their QuickStart? I run an iMac with Parallels to i/f with Windows and the Parallax tool (= IDE).
The QS board appears to use a different FTDI part than the PropPlug, the latter of which has performed quite well for several years now. I do like the QuickStart board size, but this weird behavior is driving me nuts. So far the 'mezzanine' board has no active parts on it, so whether it is installed or not doesn't affect the QS board. The only part I've soldered to the QS board is a 2-pin header at the upper left for a scope ground on the Vss row of holes.
Glad you're still keeping busy!
It's hard getting to the bottom of problems when you have a very complex setup. Ideally try to simplify as much as you can so you can isolate the problem.
If ViewPort doesn't work for someone I always ask them to first try a known good program- for example one of the tutorials that ViewPort ships with. Even though cogs are theoretically pretty independent very often it turns out that another cog is using the tx/rx pins- or another cog is writing garbage all over memory. If this happens- there's not much ViewPort can do- it'll load the Prop, but won't be able to communicate with it.
The log you posted indicates that VP was able to load a program, but didn't receive any reply- which indicates that a lot is working- just not the program running on the Prop. Without seeing the exact code you're working with I can't help. In the future PLEASE:
- always try known good software and hardware, then change one parameter at a time until you see a problem
- provide as much info as possible- lots of screenshots, definetely your code, etc..
Hanno
Did you catch posts #8-11 of this thread? Possibly there may be something not right with the QuickStart module. Because I was having problems with the Prop IDE!
Tomorrow I need to check if Brad's BST has the same problems as the Parallax IDE. BST runs on the iMac thus Parallel's virtual engine isn't in the way.
I tried Parallax IDE yesterday and had a time getting anything to work reliably. But today, after first failing 'Find Prop', it seemed to do everything (find Prop, program RAM, program EEPROM) time after time. But on Hanno's ViewPort it never can run. Almost, as it gets to all the steps but fails on the last, configuration. To run the IDE or ViewPort I use Parallels to run Windows, I note the FDTI chip is different on the QS board over the PropPlug; can the problem be with that chip?
@ Hanno, todays attempt; commented out VP and included FDS so as to try BST. After a few failed starts, I could find Prop, load RAM and load EEPROM time after time and use the serial terminal debugging facility. Parallax IDE worked well, VP could find the Prop, but couldn't pass load RAM, load EEPROM or RUN, Here is one result:
Reset Reset:Propeller v1 on COM4
Reset Reset:Propeller v1 on COM4
Wrote 12309 bytes!
Waiting for reply
Received reply of 254 after 5,1
Opening connection to COM4 at 2000000
Operation timed out.
Received 142848 configuration bytes
Is that "Operation timed out." line where the trouble is happening?
re: #11, I've seen this a few times. The Quickstart doesn;t want to load/reload fromthe Propeller Tool. I haven;t paid attention to any of the details, it seems like a reset gets me out of it. Both Windows XP and Windows7 have had this behaviour as far as I remember. I'll pay closer attention to the detials when it happens again.
Here's my version with ViewPort enabled and FDS disabled. The QS board down count is displayed on the QS module LEDs in a fast speed; well for the human to count. On initialization code is supposed to being output to a LCD i/f'd via the 2x20 header to a mezzanine board. Here the Spin file:
Hopefully this might show it's problem. I'm using VP version 4.5.3.
The problem is related to VP, not the quickstart or prop. I ran your second code, then I ran this:
which basically does nothing. I got the time out error with VP on my quickstart. All I have right now is my quickstart, but I think the problem is related to VP. Hanno is probably working on it now.
Ok, I'll type it again...
Mojorizing-
ViewPort will compile and load your code to the Prop, but since it doesn't configure the clock or start the ViewPort conduit it will fail when trying to communicate with the Program. The error message should tell you something to that effect.
Others-
Can you confirm that the QuickStart board is not reliable when used with either ViewPort or Propeller Tool?
Harley-
Your log shows that you've set ViewPort to communicate at it's maximum speed of 2Mbps.
Since you're running under emulation on a Mac I highly suggest you set this back to the default as follows:
- start viewport
-click "edit", "program preferences" and set the "baud" setting to "1Mbps"
And finally, please tell me if a known good program works:
- click "file", "load", "browse" to "viewport/tutorials/01_four_bit_counter" and run it.
If this file runs and your code doesn't, then the problem is not with the hardware or ViewPort- it's with your code.
Hanno
Now to wait for Hanno to check on things. Gotta buy Hanno a QuickStart module. And an iMac. And Parallels or equivalent. And (wot else?).
Please read #18- I have a suspicion that by changing the baud rate you'll resolve this...
Hanno
OK, I set the speed to 1 Mps, and tried the 4-bit counter. Time after time it either couldn't load or configuresame for my program.
Before trying that I was checking how many failures and type occurred, Here's that data: * The Run up by the source
Don't know if that data is of any help. I was curious how this small sample looked.
Anyway, with four bit counter.spin with VP 4.6.0 on the quickstaart I get the following error with load to eeprom:
Log:
Reset Reset:Propeller v1 on COM9
Reset Reset:Propeller v1 on COM9
Wrote 6798 bytes!
Waiting for reply
Received reply of 254 after 2,1
Waiting for reply
Received reply of 254 after 113,1
Waiting for reply
Operation timed out.
No error with VP load to ram, or any error w/ proptool. Right now I'm traveling with only the quickstart and an Acer Aspire One w/ XP so I can't check it with anything else.
While out in the yard pulling weeds (yuck) I wondered about the next slower speed. The 4-bit counter still wouldn't configure after many attempts. WHAT!!!?
I'm wondering if the FTDI chip has something strange about it? These tests were done with the 'hub' out of the loop; direct iMac via USB cable to QS board.
I'm wondering what's different between programming an EEPROM and getting VP to configure? Because I have mu code running even if it can't 'grab' VP.
Just to confirm, you were able to load ram, load eeprom with VP and proptool without errors on your custom circuit using your imac running parallels?
I just reverted back to VP version 4.5.6 and I'm able to load to eeprom (and ram, but that wasn't a problem w/ 4.6.0) on my quickstart. However, the "debug" F5 doesn't work as it should , as it does with v.4..6.0. I know you improved the debug feature between those versions but it looks like something was lost in the eeprom timeout going to v.4.6.0. Hope this helps.
HShanko, for what it's worth, I've never had a problem with loading a spin file via proptool to a parallax product unless it was one of those retractable usb cords.
Mojorizing- is it fair to summarize your findings as follows:
- you are able to use viewport to run programs on the quickboard with a macbook and acer without ANY problems (other than that the eeprom timeout when under emulation on a mac is too short)
Harley- can I summarize yours:
- you are able to use viewport to run programs on your own prop hardware with a mac without ANY problems at all baud rates
- you've never been able to use viewport successfully with your quickboard- and even the prop tool sometimes has issues (ideally use exact same setup- same usb cables, same power source, same session- just switching the hardware)
Hanno
I'll write it another way, by using something other than the QuickStart board, I could verify that ViewPort was working with my somewhat 'stable' code in the EEPROMs for my two Prop board and using the PropPlug. But trying to use the QuickStart board and its FTDI chip it was very flakey.
I was lucky to get code into the QS EEPROM on trying many times. Sometimes that was accomplished by deselecting FTDI, then reselecting it, ad it might work the first time but no later times, except occasionally. My code driving the LEDs always worked, only the ViewPort wouldn't finish configuration on the QS. Probably if I used a Prop Proto Board (and PropPlug) the program would run. Maybe that is the way to look at the LED initialization with VP.
At this point I almost think the problem points to something in the FTDI portion of the QS board. It is a relatively new part, isn't it? I never had a problem with the Prop Proto Board (and PropPlug).
Time for me to pore over the source tomorrow. Don't think I could work in a 'detective mode' tonight; must be more fresh minded.
I'm strictly windows on a pc, no mac. I feel my issue is only with the current version of VP, specifically the eeprom time out - it never makes it to writing stage, no verifying, etc. Until I get back home to a protoboard or the PDB can I compare against the quickstart, but I feel that it isn't a hardware issue with the quickstart.
It looks like Harley and I have two different problems........
This morning I tried programming a Prop Proto Board with the 4-bit counter example; that worked OK from the IDE, but ViewPort still could not configure properly and outputs error messages. It can Find the Prop, but when Load RAM, EEPROM, Connect or Run, it gets all the way to Configuration then generates the error messages.