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

Reply via email to