Difference between pages "ARDUINO 328 Functions Timing" and "Building License Installation - 4.0"

From ROBOTC API Guide
(Difference between pages)
Jump to: navigation, search
(Created page with "<yambe:breadcrumb self="Timing">ARDUINO_Functions_and_Variables|Functions and Variables</yambe:breadcrumb> <br /> {| |- |An internal 32-bit clock is maintained by the VEX fir...")
 
(Building License Installation - ROBOTC 4.0)
 
Line 1: Line 1:
<yambe:breadcrumb self="Timing">ARDUINO_Functions_and_Variables|Functions and Variables</yambe:breadcrumb>
+
=== Building License Installation - ROBOTC 4.0 ===
<br />
+
 
+
 
{|
 
{|
 
|-
 
|-
|An internal 32-bit clock is maintained by the VEX firmware. It counts in units of 1-millisecond. Four timers (<span class="codeStringsNums">T1</span>, <span class="codeStringsNums">T2</span>, <span class="codeStringsNums">T3</span>, and <span class="codeStringsNums">T4</span>) are built using this timing capability. These four timers can be individually reset to zero within a program. Theses timers are useful for measuring elapsed time of events.
+
|There is a special type of ROBOTC license called a Building License . These licenses do not require an online activation but rather have a unique building license file that must be installed with the software in order for ROBOTC to work properly. The building license file is stored on the ROBOTC Customer Service server and can be accessed by the end user at any time. To do so, you will need to:
 
+
|-
16-bit integers are the default variable type for ROBOTC on the VEX. All of the timing functions operate with 16-bit signed variables. This does mean that caution should be exercised in programming to avoid overflow of timer values. A 16-bit signed variable has positive values in the range 0 to 32,767 and programs should periodically reset any timers that they use to prevent overflow.
+
|
 
+
* Download the latest version of ROBOTC
32-bit integers are the default variable type for ROBOTC on the Cortex. All of the timing functions operate with 32-bit signed variables.  A 32-bit signed variable has positive values in the range 0 to 2,147,483,648 and programs should periodically reset any timers that they use to prevent overflow.
+
* Install ROBOTC
 +
* Download the building license file from the ROBOTC Customer Service page
 +
* Install and activate the building license file
 +
|-
 +
|<br />
 
|-
 
|-
 
|}
 
|}
<br />
 
  
{{tl|1|1}}
+
== Download the latest version of ROBOTC ==
<br />
+
{|
 
+
|Before we start programming in ROBOTC, we need to first download and install the client. This can be done by navigating to ROBOTC's website ( http://www.robotc.net) and selecting the 'Downloads' tab.
== ClearTimer ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="functionType"| <span class="bigKeywordBI">void </span><span class="bigKeywordB">ClearTimer</span><span class="bigCodePunc">(</span><span class="bigKeywordB">TTimers </span><span class="bigCodeBasic">theTimer</span><span class="bigCodePunc">)</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_void|void]]) Timers start counting as soon as the CORTEX is powered on. A user's program should reset a timer before using it, so use this function to reset the value of the specified timer to zero.
+
|'''1)''' From the ROBOTC website, select the individual robotics platform you wish to program on. If you want to use multiple platforms or accidentally download the wrong version, you can manually activate and choose another platform thorugh the ROBOTC program. When you get to the correct platform page, click on the 'Download ROBOTC for X version x.xx' to start the download process:
 
|-
 
|-
|
+
|<br />
  {| class="parameterTable" cellpadding="5%" width="100%"
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
  |-
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''theTimer''
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|The timer to clear.
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TTimers|TTimers]]
+
  |-
+
  |}
+
 
+
 
+
Timers:
+
*<span class="bigCodeStringsNums">T1</span>
+
*<span class="bigCodeStringsNums">T2</span>
+
*<span class="bigCodeStringsNums">T3</span>
+
*<span class="bigCodeStringsNums">T4</span>
+
 
|-
 
|-
|
+
|[[File:Install_Download_Firefox.png]]
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
ClearTimer(T1);  // resets the value of Timer "T1" back to zero seconds
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|<br />
<br />
+
 
+
== nClockMinutes ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">word </span><span class="bigKeywordB">nClockMinutes</span>
+
|[[File:Install_Download_IE.png]]
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_word|word]]) This read/write variable provides access to the CORTEX clock described above. The value ranges from 0 to 1439 before it wraps around back to 0. Note: there are 1440 minutes in 24 hours.
+
|<br />
 
|-
 
|-
|
+
|'''2)''' At this point click the 'Save' button to start downloading ROBOTC. You may get a warning pop-up from either Windows, your antivirus program, or both. This is to warn you that some programs downloaded from the internet can be malicious and to use care before running them; click allow to start the download.
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int varClock;              // creates a variable
+
varClock = nClockMinutes;  // stores the current value of the CORTEX Clock to a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
 +
|<br />
 
|}
 
|}
<br/>
 
  
== nPgmTime ==
+
== Install ROBOTC ==
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
{|
 +
|'''1)''' Once the program is done downloading, navigate to the Downloads folder on your computer and start the ROBOTC installer. You may have to right click on the installer and select the "Run as Administrator" depending on individual computer restrictions; ROBOTC must be installed with administrator privileges.
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">const long </span><span class="bigKeywordB">nPgmTime</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) This variable contains the value of the lower 16-bits of the internal 1-msec clock. This variable is reset when user program first starts running. This clock does not increment when the program is in a debugger "suspended" state which is useful during single step debugging as the clock does not increment.
+
|[[File:Install_Normal.png]]
 
|-
 
|-
|
+
|<br />
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int varPgmTime;        // creates a variable
+
varPgmTime = nPgmTime;  // stores the current value of nPgmTime to a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|'''2)''' Before you can proceed, you must read over and accept the End User License Agreement. If you agree to the End User Agreement, check the "I accept" and then the "Next" button to continue the installation.
<br />
+
 
+
== nSysTime ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">const long </span><span class="bigKeywordB">nSysTime</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) This variable contains the value of the lower 16-bits of the internal 1-msec clock. This variable is reset when CORTEX is first powered on.
+
|[[File:Install_End_User.png]]
 
|-
 
|-
|
+
|<br />
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int varSysTime;        // creates a variable
+
varSysTime = nSysTime;  // stores the current value of nSysTime to a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|'''3)''' Next, select where you would like ROBOTC to install to. The default location is C:/Program Files (x86)/Robomatter Inc/ROBOTC Development Environment.
<br />
+
 
+
== time1 ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">long </span><span class="bigKeywordB">time1</span><span class="bigCodePunc">[</span><span class="bigKeywordB">TTimers </span><span class="bigCodeBasic">timer</span><span class="bigCodePunc">]</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) This array holds the current value of the respective timers. Each of the timer values can be retrieved in units of 1, 10 and 100 milliseconds depending on which array is used. For example, <span class="keywordB">time1</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value of timer <span class="codeStringsNums">T1</span> in units of 1-msec and <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using a 10-msec tick. And <span class="keywordB">time100</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using 100-msec tick. Note that the arrays are “linked”. Setting <span class="keywordB">time1</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">] = </span><span class="codeStringsNums">0</span><span class="codePunc">;</span> will also reset the value of <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> and <span class="keywordB">time100</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span>. The value returned is a signed integer, so each array will meet its upper bounds at a value of 32,768 ticks.
+
|[[File:Install_Select_Directory.png]]
 
|-
 
|-
|
+
|<br />
  {| class="parameterTable" cellpadding="5%" width="100%"
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
  |-
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''timer''
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|A timer to use.
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TTimers|TTimers]]
+
  |-
+
  |}
+
 
+
 
+
Timers:
+
*<span class="codeStringsNums">T1</span>
+
*<span class="codeStringsNums">T2</span>
+
*<span class="codeStringsNums">T3</span>
+
*<span class="codeStringsNums">T4</span>
+
 
|-
 
|-
|
+
|'''4)''' The installer will ask you to confirm your settings. If everything looks correct, click "Install" to being the installation process. The installer will then begin copying files from the installer to your computer. Please wait until this is complete.<br />
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int valTime1, valTime10, valTime100;  // create three integers to read the value of the timer
+
 
+
valTime1 = time1[T1];      //Gets the value of Timer T1 in 1ms increments and stores it in a variable
+
valTime10 = time10[T1];    //Gets the value of Timer T1 in 10ms increments and stores it in a variable
+
valTime100 = time100[T1];  //Gets the value of Timer T1 in 100ms increments and stores it in a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|<br />
<br />
+
 
+
== time10 ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">long </span><span class="bigKeywordB">time10</span><span class="bigCodePunc">[</span><span class="bigKeywordB">TTimers </span><span class="bigCodeBasic">timer</span><span class="bigCodePunc">]</span>
+
|[[File:Install_Install_Progress.png]]
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) This array holds the current value of the respective timers. Each of the timer values can be retrieved in units of 1, 10 and 100 milliseconds depending on which array is used. For example, <span class="keywordB">time1</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value of timer <span class="codeStringsNums">T1</span> in units of 1-msec and <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using a 10-msec tick. And <span class="keywordB">time100</span><span class="bigCodePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using 100-msec tick. Note that the arrays are “linked”. Setting <span class="keywordB">time1</span><span class="codePunc">[</span><span class="cdeStringsNums">T1</span><span class="codePunc">] = </span><span class="codeStringsNums">0</span><span class="codePunc">;</span> will also reset the value of <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> and <span class="keywordB">time100</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span>. The value returned is a signed integer, so each array will meet its upper bounds at a value of 32,768 ticks.
+
|<br />
 
|-
 
|-
|
+
|'''5)''' The installer will inform you when the installation is complete. Click the "Finish" button to complete your install.<br />
  {| class="parameterTable" cellpadding="5%" width="100%"
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
  |-
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''timer''
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|A timer to use.
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TTimers|TTimers]]
+
  |-
+
  |}
+
 
+
 
+
Timers:
+
*<span class="codeStringsNums">T1</span>
+
*<span class="codeStringsNums">T2</span>
+
*<span class="codeStringsNums">T3</span>
+
*<span class="codeStringsNums">T4</span>
+
 
|-
 
|-
|
+
|<br />
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int valTime1, valTime10, valTime100;  // create three integers to read the value of the timer
+
 
+
valTime1 = time1[T1];      //Gets the value of Timer T1 in 1ms increments and stores it in a variable
+
valTime10 = time10[T1];    //Gets the value of Timer T1 in 10ms increments and stores it in a variable
+
valTime100 = time100[T1];  //Gets the value of Timer T1 in 100ms increments and stores it in a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|[[File:Install_Complete.png]]
<br />
+
 
+
== time100 ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="variableType"| <span class="bigKeywordBI">long </span><span class="bigKeywordB">time100</span><span class="bigCodePunc">[</span><span class="bigKeywordB">TTimers </span><span class="bigCodeBasic">timer</span><span class="bigCodePunc">]</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_long|long]]) This array holds the current value of the respective timers. Each of the timer values can be retrieved in units of 1, 10 and 100 milliseconds depending on which array is used. For example, <span class="keywordB">time1</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value of timer <span class="codeStringsNums">T1</span> in units of 1-msec and <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using a 10-msec tick. And <span class="keywordB">time100</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> retrieves the value using 100-msec tick. Note that the arrays are “linked”. Setting <span class="keywordB">time1</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">] = </span><span class="codeStringsNums">0</span><span class="codePunc">;</span> will also reset the value of <span class="keywordB">time10</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span> and <span class="keywordB">time100</span><span class="codePunc">[</span><span class="codeStringsNums">T1</span><span class="codePunc">]</span>. The value returned is a signed integer, so each array will meet its upper bounds at a value of 32,768 ticks.
+
|'''6)''' Right-Click on the ROBOTC icon and select "Run as Administrator" to run ROBOTC as an administrator (assuming the user account has administrator privileges). You will only need to do this one time.<br />
 
|-
 
|-
|
+
|<br />
  {| class="parameterTable" cellpadding="5%" width="100%"
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
  |-
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''timer''
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|A timer to use.
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_TTimers|TTimers]]
+
  |-
+
  |}
+
 
+
 
+
Timers:
+
*<span class="codeStringsNums">T1</span>
+
*<span class="codeStringsNums">T2</span>
+
*<span class="codeStringsNums">T3</span>
+
*<span class="codeStringsNums">T4</span>
+
 
|-
 
|-
|
+
|[[File:Install_Run_Admin.png]]
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
int valTime1, valTime10, valTime100;  // create three integers to read the value of the timer
+
 
+
valTime1 = time1[T1];      //Gets the value of Timer T1 in 1ms increments and stores it in a variable
+
valTime10 = time10[T1];    //Gets the value of Timer T1 in 10ms increments and stores it in a variable
+
valTime100 = time100[T1];  //Gets the value of Timer T1 in 100ms increments and stores it in a variable
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
 +
|<br />
 +
|-
 +
|Depending on which platform you are installing, ROBOTC may also install additional drivers unique to each platform. If for any reason the drivers are not downloaded and installed properly they can be downloaded and installed manually from the [http://www.robotc.net/download/ ROBOTC website.]
 
|}
 
|}
<br />
 
  
== wait1Msec ==
+
 
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
== Download the ROBOTC Building License File ==
 +
{|
 +
|'''1)''' Navigate to the [https://secure.softwarekey.com/solo/customers/Default.aspx ROBOTC Customer Service page] and log in using your Customer ID and Password (this information will be sent to you in a confirmation email after purchasing a ROBOTC Building License).
 
|-
 
|-
| class="functionType"| <span class="bigKeywordBI">void </span><span class="bigKeywordB">wait1Msec</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const long </span><span class="bigCodeBasic">nMSec</span><span class="bigCodePunc">)</span>
+
|<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_void|void]]) Program execution will wait for the specified number of clock units. Units are in 1-millisecond counts. The maximum interval that can be specified is 32.767 seconds. An alternative, and far less efficient, method to perform a wait is to continually execute a tight code loop looking to see if a timer has reached the desired interval. It is best to use the wait function to insert a programmed delay in a program because tasks that are waiting do not consume any CPU cycles. This makes the most number of CPU cycles available for other tasks.
+
|[[File:Building License Login.png]]<br />
 
|-
 
|-
|
+
|<br />
  {| class="parameterTable" cellpadding="5%" width="100%"
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
  |-
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''nMSec''
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|The amount of milliseconds to wait.
+
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_long|long]]
+
  |-
+
  |}
+
 
|-
 
|-
|
+
|'''2)''' Select the "Licenses and Activations" icon to view all of the licenses tied to that Customer ID.
  {|
+
  |-
+
  |<syntaxhighlight lang="ROBOTC">
+
wait1Msec(1000);  // the program will wait for 1 second before moving on (1ms * 1000)
+
</syntaxhighlight>
+
  |-
+
  |}
+
 
|-
 
|-
|}
+
|<br />
<br />
+
 
+
== wait10Msec ==
+
{| style="color:black;" width="100%" cellpadding="5%" cellspacing="0" border="0"
+
 
|-
 
|-
| class="functionType"| <span class="bigKeywordBI">void </span><span class="bigKeywordB">wait10Msec</span><span class="bigCodePunc">(</span><span class="bigKeywordBI">const int </span><span class="bigCodeBasic">nTenMSec</span><span class="bigCodePunc">)</span>
+
|[[File:Building License Select.png]]<br />
 
|-
 
|-
| style="font-family:Verdana, Geneva, sans-serif; color:black; background-color:#FFFFFF; text-align:left; font-size:100%;"|([[Data_Types#dataType_void|void]]) Program execution will wait for the specified number of clock units. Units are in 10-millisecond counts. The maximum interval that can be specified is 327.67 seconds. An alternative, and far less efficient, method to perform a wait is to continually execute a tight code loop looking to see if a timer has reached the desired interval. It is best to use the wait function to insert a programmed delay in a program because tasks that are waiting do not consume any CPU cycles. This makes the most number of CPU cycles available for other tasks.
+
|<br />
 
|-
 
|-
|
+
|'''3)''' Select the correct Building License File from the list of available licenses (in this example, a ROBOTC for VEX Robotics 4.0 Building License file).
  {| class="parameterTable" cellpadding="5%" width="100%"
+
|-
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Parameter
+
|<br />
  ! width="60%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Explanation
+
|-
  ! width="20%" style="border-style: solid; border-width: 0px 0px 1px 0px"|Data Type
+
|[[File:Building License Select2.png]]<br />
  |-
+
|-
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|''nTenMSec''  
+
|<br />
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|The amount of milliseconds to wait, measured in 10-millisecond counts.
+
|-
  | style="border-style: solid; border-width: 1px 0px 0px 0px"|[[Data_Types#dataType_int|int]]
+
|'''4)''' Click the 'Download License File' button to download the license file to your computer.
  |-
+
  |}
+
 
|-
 
|-
|
+
|<br />
  {|
+
|-
  |-
+
|[[File:Building License Download.png]]<br />
  |<syntaxhighlight lang="ROBOTC">
+
|-
wait10Msec(1000)// the program will wait for 10 seconds before moving on (10ms * 1000)
+
|<br />
</syntaxhighlight>
+
|-
  |-
+
|To activate ROBOTC with a building license, download and run the installer as normal. Once the program is installed, copy the building license file into the ROBOTC directory (typically C:/Program Files (x86)/Robomatter Inc/ROBOTC Developement Environment).
  |}
+
|-
 +
|<br />
 +
|-
 +
|[[File:Building_License_Location.png]]
 +
|-
 +
|One of the advantages of building licenses is that they help make automated installs easy. To roll out ROBOTC to multiple computers using a building license, make sure the base image has ROBOTC installed and the building license files in the correct directory. As long as those two conditions are met, ROBOTC should be active on each computer the image is rolled out to with no futher action required.
 +
|-
 +
|<br />
 +
|-
 +
|There is, however, an exception. If ROBOTC is being run from a centralized network, each computer that needs to access ROBOTC must also install a Network Dependencies package (available from the ROBOTC downloads page). The building license file must also be properly installed on the network in order for networked computers to access ROBOTC.
 
|-
 
|-
 
|}
 
|}
<br />
 

Revision as of 15:42, 14 May 2014

Building License Installation - ROBOTC 4.0

There is a special type of ROBOTC license called a Building License . These licenses do not require an online activation but rather have a unique building license file that must be installed with the software in order for ROBOTC to work properly. The building license file is stored on the ROBOTC Customer Service server and can be accessed by the end user at any time. To do so, you will need to:
  • Download the latest version of ROBOTC
  • Install ROBOTC
  • Download the building license file from the ROBOTC Customer Service page
  • Install and activate the building license file

Download the latest version of ROBOTC

Before we start programming in ROBOTC, we need to first download and install the client. This can be done by navigating to ROBOTC's website ( http://www.robotc.net) and selecting the 'Downloads' tab.

1) From the ROBOTC website, select the individual robotics platform you wish to program on. If you want to use multiple platforms or accidentally download the wrong version, you can manually activate and choose another platform thorugh the ROBOTC program. When you get to the correct platform page, click on the 'Download ROBOTC for X version x.xx' to start the download process:

Install Download Firefox.png

Install Download IE.png

2) At this point click the 'Save' button to start downloading ROBOTC. You may get a warning pop-up from either Windows, your antivirus program, or both. This is to warn you that some programs downloaded from the internet can be malicious and to use care before running them; click allow to start the download.

Install ROBOTC

1) Once the program is done downloading, navigate to the Downloads folder on your computer and start the ROBOTC installer. You may have to right click on the installer and select the "Run as Administrator" depending on individual computer restrictions; ROBOTC must be installed with administrator privileges.

Install Normal.png

2) Before you can proceed, you must read over and accept the End User License Agreement. If you agree to the End User Agreement, check the "I accept" and then the "Next" button to continue the installation.

Install End User.png

3) Next, select where you would like ROBOTC to install to. The default location is C:/Program Files (x86)/Robomatter Inc/ROBOTC Development Environment.

Install Select Directory.png

4) The installer will ask you to confirm your settings. If everything looks correct, click "Install" to being the installation process. The installer will then begin copying files from the installer to your computer. Please wait until this is complete.

Install Install Progress.png

5) The installer will inform you when the installation is complete. Click the "Finish" button to complete your install.

Install Complete.png

6) Right-Click on the ROBOTC icon and select "Run as Administrator" to run ROBOTC as an administrator (assuming the user account has administrator privileges). You will only need to do this one time.

Install Run Admin.png

Depending on which platform you are installing, ROBOTC may also install additional drivers unique to each platform. If for any reason the drivers are not downloaded and installed properly they can be downloaded and installed manually from the ROBOTC website.


Download the ROBOTC Building License File

1) Navigate to the ROBOTC Customer Service page and log in using your Customer ID and Password (this information will be sent to you in a confirmation email after purchasing a ROBOTC Building License).

Building License Login.png

2) Select the "Licenses and Activations" icon to view all of the licenses tied to that Customer ID.

Building License Select.png

3) Select the correct Building License File from the list of available licenses (in this example, a ROBOTC for VEX Robotics 4.0 Building License file).

Building License Select2.png

4) Click the 'Download License File' button to download the license file to your computer.

Building License Download.png

To activate ROBOTC with a building license, download and run the installer as normal. Once the program is installed, copy the building license file into the ROBOTC directory (typically C:/Program Files (x86)/Robomatter Inc/ROBOTC Developement Environment).

Building License Location.png
One of the advantages of building licenses is that they help make automated installs easy. To roll out ROBOTC to multiple computers using a building license, make sure the base image has ROBOTC installed and the building license files in the correct directory. As long as those two conditions are met, ROBOTC should be active on each computer the image is rolled out to with no futher action required.

There is, however, an exception. If ROBOTC is being run from a centralized network, each computer that needs to access ROBOTC must also install a Network Dependencies package (available from the ROBOTC downloads page). The building license file must also be properly installed on the network in order for networked computers to access ROBOTC.