Ben, This did help. When trouble shooting I think I changed too many variables. I need to get back to square one and start again now that I have made some progress.
Let you know when I come up with something. -- Tom McGrath III http://lazyriver.on-rev.com 3mcgr...@comcast.net On Jan 21, 2011, at 5:32 AM, Ben Rubinstein wrote: > Tom, > > Caveats: I've not tried connecting to an Arduino, and I've done almost > nothing with serial generally... so I don't really know what I'm talk about. > But, when I was working with GPS (which are USB with FTDI etc pretending to > be serial) I found two things: > > a) I know this is obvious, but it really matters that you get the serial > parameters right - getting the right speed is only part of it, if you get the > rest wrong you may get it seeming to work but it will be unreliable. I've no > reason to think you haven't done this, I just thought it was worth mentioning. > > b) More usefully perhaps, the code you quote below is reading from the port > until (rec)eol; I would expect that this may be where it's hanging (and > displaying the spinning pizza). The GPS unit was also supposed to speak to > in complete lines, but I found that rather than rely on this, I did better by > having a regularly scheduled task that read whatever was available on the > serial line, and added it to an internal buffer. Any time new data was read, > it then called another function to take all complete lines out of the buffer > and process them. This was using read from driver instead of read from file, > as the former allows you to issue a read command which returns either when a > certain quantity of date has been read (I settled on 10 lines at a time) or a > time limit has been exceeded. I'm not sure if you have the option to read > from driver instead of file, or whether you can use a similar mode with read > from file; but at any rate, I'd expect your spinning pizza might occur when > read from file is waiting for EOL. > > HTH, > > Ben > > > On 21/01/2011 06:19, Thomas McGrath III wrote: >> Actually, as long as data is coming from the Arduino the app works. The data >> comes in and fills the field. But after the data stops being sent the system >> hangs. Until I push the button on the Arduino to send more data in which >> case the beach ball goes away and the new data gets received again. >> >> It's like as long as data keeps everything is fine. I can even close the >> port in the middle of getting data but If it gets to the end of the current >> stream the system hangs and I can't even close the port. I put code in to >> close the port after data stops and that is working I think but the system >> still hangs like it's waiting for more. >> >> >> -- Tom McGrath III >> http://lazyriver.on-rev.com >> 3mcgr...@comcast.net >> >> On Jan 21, 2011, at 1:12 AM, Thomas McGrath III wrote: >> >>> OK well I can read the data from the USB Serial Modem -- but -- after it is >>> done the app hangs. >>> >>> So I can open the port and then read the port and I think close the port >>> but the system hangs. >>> >>> HELP.... ?? >>> -- Tom McGrath III >>> http://lazyriver.on-rev.com >>> 3mcgr...@comcast.net >>> >>> On Jan 21, 2011, at 12:48 AM, Thomas McGrath III wrote: >>> >>>> It seems if I set the EOL to CRLF things work partly. i.e. The numbers >>>> show up in the field BUT the script keeps looping and will not stop >>>> causing the beach ball. >>>> >>>> Sarah's code: >>>> on readPort >>>> if the hilite of btn "Port open" = true then >>>> >>>> if recEOL is "empty" then resetEOL >>>> >>>> put the label of btn "Port" into thePort >>>> if the hilite of btn "OS X" then >>>> read from file thePort until recEOL >>>> else >>>> read from file thePort until recEOL >>>> end if >>>> if it is not empty then put it after fld "recField" >>>> if last char of fld "recField"<> cr then put cr after fld "recField" >>>> send readPort to me in 5 ticks >>>> end if >>>> end readPort >>>> >>>> >>>> >>>> -- Tom McGrath III >>>> http://lazyriver.on-rev.com >>>> 3mcgr...@comcast.net >>>> >>>> On Jan 21, 2011, at 12:05 AM, Thomas McGrath III wrote: >>>> >>>>> UPDATE: Something is working but makes no sense. >>>>> >>>>> Found a few terminal screen ideas but they are outside of Livecode. No >>>>> good. >>>>> Found a few applescript examples but would rather keep this crossplatform >>>>> if possible and a LC to OSC solution would work on iOS but applescript >>>>> would not. Not best but may have to go this route. >>>>> >>>>> Found a few softwares that access the USB modem (not FTDI serial >>>>> emulation) as serial which leads me to believe LC can still do this even >>>>> with the change from software emulation of a serial port to the hardware >>>>> emulation of a serial port. So I looked again at Sarah's serialTest stack. >>>>> >>>>> I had to manually add the /dev/tty.usbmodem1a21 and /dev/cu.usbmodem1a21 >>>>> to the popup menu. Then find replace driver with file in five places in >>>>> the stack. Now most of the other solutions use the tty but two use the cu >>>>> so I tested both. Major hang and LC not responding in Force Quit Window. >>>>> >>>>> Command period no good. >>>>> Esc no good. >>>>> Force quit. quits but no good and driver may still be open. >>>>> >>>>> Unplug Arduino Uno and plug it back in. HUH Serial Input Shows Up In >>>>> Field !!!!!! Beach ball of almost death goes away. Also port is now >>>>> closed I think. Also Arduino Tx led not lighting anymore - should be >>>>> though. Wait replug Arduino rest button on Arduino and serial Tx led is >>>>> working again. But no longer connected to LC. Try again. Open cu port and >>>>> beach ball of almost death shows up - LC not responding in Force Quit >>>>> Window - Unplug Arduino and field fills up with serial data. THe data is >>>>> a bunch of 1 and 0 based on blinking led. >>>>> >>>>> SO this seems to say it is connecting but not communicating well. Not >>>>> knowing enough about serial commands I am not sure what is causing the >>>>> hang and not responding??? They are both set to 9600. I read somewhere >>>>> that the trailing bit is or should be ignored. >>>>> >>>>> Is there another way to connect via message box with out clutter from >>>>> other settings ? Any ideas on what the culprit is here? >>>>> >>>>> Thanks for staying with me on this one. >>>>> >>>>> >>>>> -- Tom McGrath III >>>>> http://lazyriver.on-rev.com >>>>> 3mcgr...@comcast.net >>>>> >>>>> On Jan 15, 2011, at 10:37 PM, Mark Wieder wrote: >>>>> >>>>>> Jacque- >>>>>> >>>>>> Saturday, January 15, 2011, 7:31:30 PM, you wrote: >>>>>> >>>>>>> There's no USB support per se, so if the device doesn't present itself >>>>>>> as a serial port device it won't work. >>>>>> >>>>>>> The path you use when you open a serial port as a file is the same one >>>>>>> you'd use in shell -- use the "/dev/tty.usbmodem1a21" path you >>>>>>> mentioned. Also, see if you can talk to it in shell just as a test. >>>>>> >>>>>> That should work then, since the Arduino driver has always presented >>>>>> itself as a serial port. >>>>>> >>>>>> -- >>>>>> -Mark Wieder >>>>>> mwie...@ahsoftware.net > > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your subscription > preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode