View unanswered posts | View active topics It is currently Sun Jul 12, 2020 6:03 am

Reply to topic  [ 4 posts ] 
New Firmware/RobotC 
Author Message

Joined: Sun Feb 23, 2014 3:56 pm
Posts: 8
Post New Firmware/RobotC
After updating to the latest firmware and RobotC we have experienced a noticible reduction in motor strength. The problem appears to revolve around the "setMotorStrength" command. We removed the "setMotorStrength" commands from our program and noticed a marked improvement, however strength is not equal to what it was prior to the update. We have observed the same behavior in two different robots. The robots are not of similar design, but both have lost lifting ability.

Thu Apr 03, 2014 7:57 pm

Joined: Sun Feb 23, 2014 3:56 pm
Posts: 8
Post Re: New Firmware/RobotC
Cross posted in Vex IQ forum.

Thu Apr 03, 2014 8:03 pm

Joined: Sun Feb 23, 2014 3:56 pm
Posts: 8
Post Re: New Firmware/RobotC
Ok it appears the command "setMotorStrength" has been replaced in the latest update with "setMotorCurrentLimit". The new value is in mA not the previous 1-255 scale. The old command is still viable but apparently also uses the same mA values rather than the previous 255 scale value. So the old command is still accepted but a max value of 255 is only 255mA not the "MAX" power setting.
So it would be nice if someone could post the exact mA value that the IQ Smart Motor is capable of drawing (maximum). The help doc has not been updated but indicates that the old scale was representative of approximately 15mA per count on the 255 scale. We can obviously determine an approximate max value with that information but an actual maximum value would be nice…

Fri Apr 04, 2014 9:10 am
Site Admin
Site Admin

Joined: Wed Jan 24, 2007 10:42 am
Posts: 620
Post Re: New Firmware/RobotC
A number of complaints received were in reference to the arbitrary "scale" of the motors when ModKit was using Amps/mA to indicate current. We updated the functions to keep the VEX IQ platform more in line across software packages.

The motor itself returns a value from 0-255 (a single byte) to represent the current. Internally, we now multiple that byte value by 14.6 per the developer documentation. So to convert from the old 0-255 values to the new values, you can do...

Byte Value = Current in mA / 14.6
Current In mA = Byte Value * 14.6

The limits for the motor's current limiters are approximately 3723mA (255 * 14.6), although when reading from the getMotorCurrent(motor) function, I haven't seen mA reading above 1000mA yet.

If you do not specify a motor current, the motor will default to the maximum as the limit (3723mA)
If you're still using the old command with "byte" value from 4.06 and earlier, you'll need to update from the byte value (0-255) to the new milliamp (mA) based value in 4.08. Multiplying your values by 14.6 should produce the result you're looking for. This affects the following three commands:

setMotorCurrentLimit(nMotorIndex, nCurrent);

Timothy Friez
ROBOTC Developer - SW Engineer

Thu Apr 10, 2014 12:42 pm
Display posts from previous:  Sort by  
Reply to topic   [ 4 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.