Claudi, What is your atoi() code like? Why tDataStr[8] ? is that the number of chars you can read in? can that be more?
What if we want to send "<13-125>" can we parse that to separate out the 13 for Pin 13 and the 125 for brightness? What about "<13-1-125>" and "<13-0-1>" for pin 13 output 125 and 13 input read once 1 or / continuos 0. etc. -- Tom McGrath III http://lazyriver.on-rev.com 3mcgr...@comcast.net On Feb 5, 2011, at 7:19 AM, Claudi Cornaz wrote: > Hi tom, > > I am working with the same. What I undersrtand and have found on forums etc > you need to use atoi() to convert from type char to int. > You send out 3 chars when sending for instance, 125. > The arduino seial.read routine will fetch 3 chars (125) > > I use a startChar 1 or more data chars and then a stopChar like "<125>" > This is what I send to the arduino > Then on the arduino I do serial.read() till I recieve a "<" char. > As soon as I have "<" I start gathering the bytes in a char tDataStr[8] var > till I see a ">" char. Now I convert this char tDataStr to a int with atoi() > int tDataInt; > tDataInt = atoi(tDataStr); // now I have a int which I can pass as value to > analogWrite(ledPin, tDataInt); > > At least this is how it is recommended on the forums. > > I almost got this working. > By the way I also noticed the following > Use open driver "xxx" for text update -- same as you > > then the first read you do should be in a "for 1 line" or "for x chars" > Once this first read is done with the "for xx" form it looks like something > in LC gets initialized right > so subsequent reads can be until empty. > > I am still trying to figure this out more precisly and some real stress > testing as soon as I have > a demo working which involves sending sensor values from the arduino to LC > and vice versa > I am almost there. Still struggeling with some C code, but slowly getting the > hang of C) > > I hope to have a nice demo this weekend and will upload it to revOnline once > it's working like I want it to. > > > Best wishes, > > Claudi > > > > > > On 4 feb 2011, at 17:22, Thomas McGrath III wrote: > >> I am having a problem communicating with an LED. (Never thought I'd hear >> myself say that!) >> >> I have code in LC in a slider: >> -- We are open driver ... for text update >> on mouseUp >> put the thumbPosition of me into tValue >> doUpdate(tValue) >> end mouseUp >> on doUpdate tValue >> put gThePort into thePort -- global port "/dev/cu.usbmodem1a21" >> read from file thePort until empty -- clear the buffer >> put it into field "Data" -- just to see what garbage is left over - not >> needed >> wait 30 >> write tValue to file thePort -- Vaule is 0 -255 as per the Analog specs of >> a PWM on the Arduino Uno for an LED >> read from file thePort until empty -- Arduino is set to send back the data >> received this is so I can see it >> put it after field "Data" >> if the result is not empty then put the result into field "Results" -- >> gives us our eof >> end doUpdate >> >> I send out a 125 but I get back three lines: >> 1 >> 2 >> 5 >> but the analogWrite is looking for 125 >> >> void loop() { >> // check if data has been sent from the computer: >> if (Serial.available()) { >> // read the most recent byte (which will be from 0 to 255): >> char received = Serial.read(); >> >> // set the brightness of the LED: >> analogWrite(ledPin, received); >> Serial.println(received); >> } >> } >> >> If I change the Serial.println to Serial.println(received, BYTE); I still >> get: >> 1 >> 2 >> 5 >> But if I change it to Serial.println(received, DEC); I get these results: >> 49 >> 50 >> 53 >> >> So How do I send a number as a number and not as single digits? >> >> >> -- Tom McGrath III >> http://lazyriver.on-rev.com >> 3mcgr...@comcast.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 _______________________________________________ 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