ARC Release 2012.11.17.00

Download and install the latest ARC robot programming software to experience these updates.

Download ARC
Software Information
This ARC update introduces a fantastic new feature to extend single scripts for event triggers. Until now when an event was triggered, it would execute only a single script command. Now you can add multiple scripts to a single command. Keep in mind, these are still "Event Triggers" and not complete scripts. This is how event trigger programming works in software - while a trigger is executing, it blocks all other commands until it has completed. This means you should not perform time intensive commands (i.e. loops and waits, etc).

Changes:
- All Event Triggers now support multiple EZ-Script lines
- SendSerial() command no longer disconnects EZ-B if more than 9 characters are sent

User-inserted image


Enjoy:)
#1  
@DJ - Good morning. Thank you for the latest update. I don't want to say this but the sendserial issue is still there except it will let me send 9 characters the first time and then the next time you send it the EZ-B locks up, the blue light goes out and does not come back on. For example SendSerial(d1, 9600, "12345678") will work everytime, but SendSerial(d1, 9600, "123456789") will only work once, if you send it again, lockup.

Again I tried this one 2 different EZ-B boards, a second pc, as well as tried a serial lcd module.
#2  
Ahh, very cool (if I understand this). For example; I don't have to have a different script written outside of the Voice Recognition panel for each voice command I want to do different things? I can put these scripts right in the Voice Recognition panel next to the command?

Thanks for this update. If what I asked above id correct it sounds like it will make things a lot more neater and less confusing. This and the Script Manager are a real big improvement for large projects.

Dave Schulpius
Synthiam
#3  
Thank you @Dave:) Please follow the directions that time intensive scripts should not be placed in triggers or you will block new commands from executing. I know many people are not familiar with Event Trigger programming, but that is how it works. If you want the code to be run in a seperate thread (i.e. background) then use the ControlCommand (cc). Otherwise, multiline scripts can be called by a single event trigger if they are not time intensive.

Time intensive scripts include commands such as "Servo_Wait" or "Goto Loops", etc..

@CharleyBot, i cannot reproduce the error you are experiencing. On our test machines the SendSerial works. I'm not certain what localized issue is causing your experience. I can look into it further later. A few releases ago the SendSerial was optimized and the communication speed between the EZ-B and PC was increased. The SendSeial was sending data to the EZ-B quicker than the slower baud rate specified. For example, sending data to the EZ-B for a 9600 baud rate took longer to send a character than the EZ-B protocol command.

I'll take a look later and see if there is anything additional that hasn't been considered for your localized issue.
#4  
@DJ - Thank you, I appreciate it, I know its only when I send text strings, everything else works fine with SendSerial, I will go through my setup today and install ARC on a new laptop I just got in and go from there with testing both a Serial LCD and the EMIC2 module.

Thanks again
Synthiam
#5  
@charleyBot try the version that is up today 2012.11.18.00
Canada
#6  
I'll give it a whirl as well. Been fighting with my LCD for the last 2 days.
Canada
#7  
DJ,

If I send this:

SendSerial(D13, 9600, "1234567890123456")

I get an output of this:

12345678
Synthiam
#8  
@Lumpy does it disconnect?

If it does not disconnect, then all characters are being sent. It is impossible for that to be an issue.
Canada
#9  
On the second send it will disconnect on me.

I've rebooted, .Net was just updated the other day.
Canada
#10  
If i only send 8 characters I can send it multiple times with no problems.

If I add in a 9th character it will send once, then on the second or third
send it disconnects.
#11  
@DJ - I can now send a max of 13 characters before the EZ-B will lockup. My Script is:

SendSerial(D3, 9600, "sHello Charle", 0x0d)

If I add to the script:


SendSerial (D3, 9600, 0x0D)
Sleep(20)
SendSerial(d3, 9600, "sHello Charle",0x0d)
Sleep(20)


It causes the EZ-B to lockup, blue light does not come on anymore and the red BT light starts blinking.

Is there anything else you want me to try with this? I am wondering if I need to add a resistor to it.

This is also happening on the Serial LCD module I have.
Synthiam
#12  
You do not need to add a resistor. I cannot reproduce these errors on any of our computers. I'll try looking at it later - i'm driving blind.
Canada
#13  
I can make a vid?
#14  
@DJ - okay, I appreciate it. Thank You
Synthiam
#15  
@Lumpy seeing the failure won't help. It's about watching the insides of windows:)
Canada
#16  
No problem. Just trying to help.

To brighten your day!

Synthiam
#17  
Lumpy! Yes, that did it:D you rock
Canada
#18  
@DJ, not that this will help with the troubleshooting, but I can confirm that it is not an isolated incident with @Charleybot or @Lumpy... nor does it seem to be related to hardware attached to the EZ-B. I set up a script with the following;

Code:

SendSerial(d7, 9600, "123456789")
I used D7 that has nothing attached to it.

After the 3rd time running the script my EZ-B locked up, blue LED went out and while my auto-connect script kept trying to do its thing, and it showed such with the red LED, I had to power off and back on the EZ-B before I could reconnect. ARC does not appear to lock up, just the EZ-B.

Hope this helps.

Oh, also, I am using latest version ARC 2012-11-18
Canada
#19  
@DJ, here is another tidbit that actually might help... if I keep on manually running the above script, sometimes I see all my connected servos jump just a bit even if the EZ-B does not lock... but inevitably it will lock.
#20  
Hi DJ,

Thanks for the good work. Our bot is nearly completed. The main thing that has us stopped dead-in-our-tracks is the loss of camera resolution. We lost glyph detection range by a factor of 10. Any ideas? different camera? ...

Thanks again
Canada
#21  
Hello @DJ, Did you get a chance to check out the servo release issue I had mentioned a couple of releases back, wherein when using Server/Client any servo release command on the Client (Remote) resulted on the Server (EZ-B) side's matching servo going to 100?

I ask because now I see that in this version a Client side release command always sends its matching Server side's servo to the opposite extreme 1 instead of the 100 of all prior tests (assuming the invert is not on at the Server end... in fact the invert switch setting on the Client does not carry over to the Server anyhow).

Either way, a release all command tends to cause all sorts of havoc on the robot:)

Doesn't matter which PC is the server or client. All other servo and PWM controls seem to work fine.

Thank you.
#22  
@DJ - I was just wondering if you had a chance to figure out what was going on with the SendSerial issue with using strings? I have made a temp workaround for the time being by using another pic chip that talks directly to the EMIC2 board and the LCD but would prefer not having to add another pic.

Thanks