Programming an FRC Robot Choosing a Language 1. INDEX The Programing Languages and their...

23
Programming an FRC Robot Choosing a Language 1

Transcript of Programming an FRC Robot Choosing a Language 1. INDEX The Programing Languages and their...

1

Programming an FRC Robot Choosing a Language

2

INDEX• The Programing Languages and their Environments

• The Three Major Enviroments• Java with the NetBeans IDE• C++ with the Windriver Workbench IDE• Graphical Programming with the LabView IDE

• Pros and Cons for each Language• Java• C++• LabView• Side-by-Side Comparisons

• Thanks

3

THE PROGRAMING LANGUAGES AND THEIR ENVIRONMENTS

4

There are three major programing environments available to FIRST

Robotics Teams

• Java – NetBeans• C++ - Windriver Workbench• Graphical Programming - LabView

5

Java with the NetBeans IDE

6

Java Basic Structure

package edu.wpi.first.wpilibj.templates;

import edu.wpi.first.wpilibj.SimpleRobot;

public class RobotTemplate extends SimpleRobot {

//Declare Global Variables here

public RobotTemplate(){

//Initialize Global Variables here

}

public void autonomous() {

//Autonomous code goes here

}

public void operatorControl() {

//Teleop code goes here

}

}

7

Java IDE Interface

8

C++ with the Windriver Workbench IDE

9

C++ Basic Structure#include "WPILib.h"

class RobotDemo : public SimpleRobot{

//Declaration of components go here

public:

RobotDemo(void):

//Initialization of components goes here

{

//Startup routines go here

}

void Autonomous(void){

//Autonomous code goes here

}

void OperatorControl(void) {

//Teleop code goes here

}

};

START_ROBOT_CLASS(RobotDemo);

10

C++ IDE Interface

11

Graphical Programming with the LabView IDE

12

LabView Basic Structure

13

LabView IDE Interface

14

LabView IDE Interface

15

LabView IDE Interface

16

PROS AND CONS FOR EACH LANGUAGE

17

JavaPros• A well known language• Many Resources• Similar to C++ in style and

syntax• Fast Compiling• Easier to pass references

between functions• Object-Oriented-Programming• Text-Based language• Structured/User Friendly• Used in Computer Science

Courses

Cons

• Does not use the standard LabView Dashboard

18

C++Pros

• A well known language• Many Resources• Similar to Java in style

and syntax• Fast Compiling• Object-Oriented-

Programming• Text-based language

Cons

• Requires a Windows PC• Allows for free reign• Less user-friendly

19

LabView

Pros• A well known language in

the First FRC community• Many Resources• Graphical• Popular with First Teams

Cons• Hard to navigate in the

functions menu• Requires Windows PC

20

Side-by-Side Comparisons

Java• Text-based• Many Resources

Available• Syntax is similar to that of

C++• Fast Compiling• Object-Oriented-

Programming• Structured• Easier to pass references

C++• Text-based• Syntax is similar to that of

Java• Fast Compiling• Object-Oriented-

Programming• Many Resources

Available• Not Structured

21

Side-by-Side Comparisons

LabView• Graphical• Hard to locate specific

functions• Popular with First Teams• Well Documented

C++• Text-based• Syntax is similar to that of

Java• Fast Compiling• Object-Oriented-

Programming• Many Resources

Available• Not Structured

22

Side-by-Side Comparisons

LabView

• Graphical• Hard to locate specific

functions• Popular with First Teams• Well Documented

Java• Text-based• Many Resources

Available• Syntax is similar to that of

C++• Fast Compiling• Object-Oriented-

Programming• Structured• Easier to pass references

23

Thanks to• Team 1279 ColdFusion• The Chief Delphi Community• The WPI Robotics Libraries• Sample Programs Provided by First

For providing information that was used in this presentation