Programming a Robot Using C++ Philipp Schrader & Tom Brown October 27, 2012
|
|
|
- Noah Dorsey
- 9 years ago
- Views:
Transcription
1 Programming a Robot Using C++ Philipp Schrader & Tom Brown October 27, 2012
2 The robot has mechanical systems and electrical hardware, but needs a program to tell it what to do The program collects inputs from the drivers and sensors, and uses them to decide what motor output should be Different programming languages LabVIEW, C++, Java
3 Invented in the 1980 s Built as an extension on top of C Object-oriented programming language
4 Powerful and fast language; used widely in industry Steep learning curve, but after that development is fast Programming tools are less complicated, smaller, faster than LabVIEW
5 Writing instructions for machines to perform a set of desired tasks It's about controlling how inputs to a system affect the outputs of the system.
6 Centralizing where your source code is stored. Acts as a backup storage, history browser, and versioning for the code. Easily shows differences between two versions of the code. This includes the "current working version" with any modifications.
7 Wind River The Windows program used to compile code into programs for the robot. Primarily serves as a development environment for writing and debugging code.
8 Already-written code provided by FIRST to make robot programming easier Consists of classes that represent all common robot hardware Example: Compressor, DigitalInput, Victor, DriverStation, Solenoid, Gyro
9 SimpleRobot is a starting template to help teams quickly get a robot running. There are other templates such as IterativeRobot, but we will focus on SimpleRobot.
10 Cont'd #include ".h" class RobotDemo : public SimpleRobot { public: RobotDemo(void) { void (void) { void OperatorControl(void) { ; START_ROBOT_CLASS(RobotDemo);
11 Cont'd RobotDemo() is the constructor. This is where you initialize all members of the class. () is the function that gets called during the autonomous or hybrid period of a match. OperatorControl() is the function that gets called during teleop. Function gets called once and needs a loop to continue operator control.
12 // Declare drive components Joystick *stick; Victor *leftdrive; Victor *rightdrive; // Initialize components with port numbers RobotDemo(void) { stick = new Joystick(1); leftdrive = new Victor(1); rightdrive = new Victor(2);
13 Cont'd void OperatorControl(void) { while (IsOperatorControl()) { float lefty = stick->getrawaxis(2); float righty = stick->getrawaxis(4); // Tank drive leftdrive->setspeed(-lefty); rightdrive->setspeed(righty); Wait(0.005);
14 help the operators with controlling the robot. They are crucial in autonomous, but also very valuable for teleop. For example, appropriate sensors can be used to precisely position an arm on the robot.
15 Cont'd AnalogChannel *plowpot; RobotDemo(void) { plowpot = new AnalogChannel(2); void OperatorControl(void) { while (IsOperatorControl()) { printf("%d", plowpot->getvalue()); Wait(0.005);
16 Cont'd In our example, we are getting a feeling for how the potentiometer behaves. Some sensors have their own classes in. Use them whenever possible. Base Classes: AnalogChannel, DigitalInput : Encoder, Gyro, UltraSonic
17 We can use sensors to perform more sophisticated maneuvers than a human alone could do. For example, we can move an arm into the best scoring position consistently on the push of a button.
18 Cont'd Relay *leftplow; Relay *rightplow; RobotDemo(void) { leftplow = new Relay(1); rightplow = new Relay(2); void SetPlow(Relay::Value direction) { leftplow->set(direction); rightplow->set(direction);
19 Cont'd void OperatorControl(void) { while (IsOperatorControl()) { if (stick->getrawbutton(2)) { SetPlow(Relay::kForward); else if (stick->getrawbutton(3)) { SetPlow(Relay::kReverse); else { SetPlow(Relay::kOff);
20 Cont'd The previous slide shows a simple plow control without sensors. Button 2 lowers the plow. Button 3 raises the plow. If we add sensor feedback to the code, we can prevent the plow from going past mechanical limits. The next slide will incorporate feedback to the plow to prevent breaking itself.
21 Cont'd // Prevents the plow from going too far if (stick->getrawbutton(2) && (plowpot->getvalue() > 60)) { SetPlow(Relay::kForward); else if (stick->getrawbutton(3) && (plowpot->getvalue() < 250)) { SetPlow(Relay::kReverse); else { SetPlow(Relay::kOff);
22 According to the pneumatics setup and electrical rules by FIRST, pneumatics have special programming requirements. Solenoids and compressors have their own class in. Even if the compressor is not on the robot, it needs to be controlled by the robot itself.
23 Cont'd Solenoid *opengate; Solenoid *closegate; Compressor *compressor; RobotDemo(void) { opengate = new Solenoid(1); closegate = new Solenoid(2); compressor = new Compressor (9, 5);
24 Cont'd void OperatorControl(void) { opengate->set(false); closegate->set(true); while (IsOperatorControl()) { if (stick->getrawbutton(1)) { opengate->set(true); closegate->set(false); else if (stick->getrawbutton(4)) { opengate->set(false); closegate->set(true);...
25 Cont'd... // Only runs compressor until 120 psi if (!compressor->getpressureswitchvalue()) { compressor->start(); else { compressor->stop(); Wait(0.005);
26 The autonomous code works similarly to the teleop code. void (void) { while (Is()) { // Your code here...
27 Cont'd For this example we will make the robot lower and raise its plow until the end of the autonomous period. We will make use of a simple state machine that cycles between a state that raises the plow and a state that lowers the plow. We shall modify our SetPlow function as well. Switching between the states is done through the potentiometer.
28 Cont'd bool SetPlow(Relay::Value direction) { if ((direction == Relay::kForward && plowpot->getvalue() > 60) (direction == Relay::kReverse && plowpot->getvalue() < 260)) { leftplow->set(direction); rightplow->set(direction); return false; leftplow->set(relay::koff); rightplow->set(relay::koff); return true;
29 Cont'd void (void) { int state = 1; while (Is()) { switch (state) { case 1: if (SetPlow(Relay::kForward)) { state = 2; break;...
30 Cont'd... case 2: if (SetPlow(Relay::kReverse)) { case = 1; break;
31 Philipp Schrader Firmware Developer, Nuvation Research Tom Brown Senior Software Developer, F.A. Servers
C/C++ Programming Guide for the FIRST Robotics Competition
C/C++ Programming Guide for the FIRST Robotics Competition Worcester Polytechnic Institute Robotics Resource Center Rev 0.5 December 28, 2008 Brad Miller, Ken Streeter, Beth Finn, Jerry Morrison Contents
FRC WPI Robotics Library Overview
FRC WPI Robotics Library Overview Contents 1.1 Introduction 1.2 RobotDrive 1.3 Sensors 1.4 Actuators 1.5 I/O 1.6 Driver Station 1.7 Compressor 1.8 Camera 1.9 Utilities 1.10 Conclusion Introduction In this
EasyC. Programming Tips
EasyC Programming Tips PART 1: EASYC PROGRAMMING ENVIRONMENT The EasyC package is an integrated development environment for creating C Programs and loading them to run on the Vex Control System. Its Opening
CONTENTS. What is ROBOTC? Section I: The Basics
BEGINNERS CONTENTS What is ROBOTC? Section I: The Basics Getting started Configuring Motors Write Drive Code Download a Program to the Cortex Write an Autonomous Section II: Using Sensors Sensor Setup
FTC 2015-2016 Android Based Control System
FTC 2015-2016 Android Based Control System Agenda Control System Overview Phone Setup Generating the Robot configuration file Software Overview Autonomous vs Tele-op templates Motor/servo control Sensor
Programming the VEX Robot
Preparing for Programming Setup Before we can begin programming, we have to set up the computer we are using and the robot/controller. We should already have: Windows (XP or later) system with easy-c installed
Best Robotics Sample Program Quick Start
Best Robotics Sample Program Quick Start BEST Robotics Programming -- Sample Program Quick Start Page 1 Overview The documents describe the program "Best Competition Template.c" which contains the sample
LabVIEWTM. Robotics Programming Guide for the FIRST Robotics Competition. LabVIEW Robotics Programming Guide for FRC. January 2009 372668D-01
LabVIEWTM Robotics Programming Guide for the FIRST Robotics Competition LabVIEW Robotics Programming Guide for FRC January 2009 372668D-01 Support Worldwide Technical Support and Product Information ni.com
New Technology Introduction: Android Studio with PushBot
FIRST Tech Challenge New Technology Introduction: Android Studio with PushBot Carol Chiang, Stephen O Keefe 12 September 2015 Overview Android Studio What is it? Android Studio system requirements Android
TETRIX Add-On Extensions. Encoder Programming Guide (ROBOTC )
Introduction: In this extension, motor encoders will be added to the wheels of the Ranger Bot. The Ranger Bot with Encoders will be programmed to move forward until it detects an object, turn 90, and move
How To Use First Robot With Labview
FIRST Robotics LabVIEW Training SECTION 1: LABVIEW OVERVIEW What is LabVIEW? It is a tool used by scientists and engineers to measure and automate the universe around us It is a graphical programming
As it relates to Android Studio. By Phil Malone: [email protected]
As it relates to Android Studio By Phil Malone: [email protected] *Jargon, Jargon and More Jargon *Where to find tools/documentation *The Software Components *Driver Station *Robot Controller *The
Creating a Project with PSoC Designer
Creating a Project with PSoC Designer PSoC Designer is two tools in one. It combines a full featured integrated development environment (IDE) with a powerful visual programming interface. The two tools
After: bmotorreflected[port2]= 1; //Flip port2 s direction
Motors Motor control and some fine-tuning commands. motor[output] = power; This turns the referenced VEX motor output either on or off and simultaneously sets its power level. The VEX has 8 motor outputs:
J a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points
Programming LEGO NXT Robots using NXC
Programming LEGO NXT Robots using NXC This text programming language derived from C language is bended together with IDE BricxCC on standard firmware LEGO Mindstorms. This can be very convenient for those,
Unit 1: INTRODUCTION TO ADVANCED ROBOTIC DESIGN & ENGINEERING
Unit 1: INTRODUCTION TO ADVANCED ROBOTIC DESIGN & ENGINEERING Technological Literacy Review of Robotics I Topics and understand and be able to implement the "design 8.1, 8.2 Technology Through the Ages
Next Gen Platform: Team & Mentor Guide
Next Gen Platform: Team & Mentor Guide 1 Introduction For the 2015-2016 season, the FIRST Tech Challenge (FTC) will be adopting a new controller for its robot competitions. The new platform, which will
ROBOTICS AND AUTONOMOUS SYSTEMS
ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 3 PROGRAMMING ROBOTS comp329-2013-parsons-lect03 2/50 Today Before the labs start on Monday,
Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language
Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description
KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week
1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully
ANDROID BASED FARM AUTOMATION USING GR-SAKURA
ANDROID BASED FARM AUTOMATION USING GR-SAKURA INTRODUCTION AND MOTIVATION With the world s population growing day by day, and land resources remaining unchanged, there is a growing need in optimization
ROBOTC Software Inspection Guide with Additional Help Documentation
VEX ROBOTICS COMPETITION ROBOTC Software Inspection Guide with Additional Help Documentation VEX Cortex Software Inspection Steps: 1. Cortex Firmware Inspection using ROBOTC 2. Testing Cortex Robots using
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15
UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 ASSIGNMENT 3 DESIGN AND OPERATIONAL CHARACTERISTICS NAME: I agree to the assessment as contained in this assignment.
Sensors Collecting Manufacturing Process Data
Sensors & Actuators Sensors Collecting Manufacturing Process Data Data must be collected from the manufacturing process Data (commands and instructions) must be communicated to the process Data are of
Keil C51 Cross Compiler
Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation
File: C:\Program Files\Robotics Academy\RobotC\sample programs\rcx\arushi\robot_
///////////////////////////////////////////////////////////////////////// // // This is the Program to control the Robot Head // Program By: Arushi Raghuvanshi // Date: Oct 2006 // /////////////////////////////////////////////////////////////////////////
Appium mobile test automation
Appium mobile test automation for Google Android and Apple ios Last updated: 4 January 2016 Pepgo Limited, 71-75 Shelton Street, Covent Garden, London, WC2H 9JQ, United Kingdom Contents About this document...
E-Blocks Easy Internet Bundle
Page 1 Cover Page Page 2 Flowcode Installing Flowcode Instruction for installing Flowcode can be found inside the installation booklet located inside the Flowcode DVD case. Before starting with the course
An Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction
Title: Appium Automation for Mac OS X Created By: Prithivirajan M Abstract This document aims at providing the necessary information required for setting up mobile testing environment in Mac OS X for testing
Arduino Lesson 1. Blink
Arduino Lesson 1. Blink Created by Simon Monk Last updated on 2015-01-15 09:45:38 PM EST Guide Contents Guide Contents Overview Parts Part Qty The 'L' LED Loading the 'Blink' Example Saving a Copy of 'Blink'
Dr Robot C# Advance Sputnik Demo Program
25 Valleywood Drive, Unit 20 Markham, Ontario, L3R 5L9, Canada Tel: (905) 943-9572 Fax: (905) 943-9197 [email protected] Dr Robot C# Advance Sputnik Demo Program Version: 1.0.0 June 2008-1 - Copyright
Installing Java (Windows) and Writing your First Program
Appendix Installing Java (Windows) and Writing your First Program We will be running Java from the command line and writing Java code in Notepad++ (or similar). The first step is to ensure you have installed
North Texas FLL Coaches' Clinics. Beginning Programming October 2014. Patrick R. Michaud [email protected] republicofpi.org
North Texas FLL Coaches' Clinics Beginning Programming October 2014 Patrick R. Michaud [email protected] republicofpi.org Goals Learn basics of Mindstorms programming Be able to accomplish some missions
Additional Guides. TETRIX Getting Started Guide NXT Brick Guide
Preparing the NXT Brick Now that a functional program has been created, it must be transferred to the NXT Brick and then run. This is a perfect time to take a look at the NXT Brick in detail. The NXT Brick
Programmable Logic Controllers Definition. Programmable Logic Controllers History
Definition A digitally operated electronic apparatus which uses a programmable memory for the internal storage of instructions for implementing specific functions such as logic, sequencing, timing, counting,
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
Advanced Programming with LEGO NXT MindStorms
Advanced Programming with LEGO NXT MindStorms Presented by Tom Bickford Executive Director Maine Robotics Advanced topics in MindStorms Loops Switches Nested Loops and Switches Data Wires Program view
New Technology Introduction: MIT App Inventor
FIRST Tech Challenge New Technology Introduction: MIT App Inventor Peter Klein 12 September 2015 Overview Hardware introduction MIT App Inventor Software installation Additional setup steps Creating an
Cloud computing is a marketing term that means different things to different people. In this presentation, we look at the pros and cons of using
Cloud computing is a marketing term that means different things to different people. In this presentation, we look at the pros and cons of using Amazon Web Services rather than setting up a physical server
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1
UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 This work covers part of outcome 3 of the Edexcel standard module: Outcome 3 is the most demanding
Application Note: AN00141 xcore-xa - Application Development
Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this
Arduino Internet Connectivity: Maintenance Manual Julian Ryan Draft No. 7 April 24, 2015
Arduino Internet Connectivity: Maintenance Manual Julian Ryan Draft No. 7 April 24, 2015 CEN 4935 Senior Software Engineering Project Instructor: Dr. Janusz Zalewski Software Engineering Program Florida
Click to begin. Employees
Click to begin Employees This document will guide you through setting up Employees in Maitre D. The Employee setup allows you to customize a record for each employee that uses the workstation. There are
Configuration Software User Instruction
Configuration Software User Instruction V1.0 Index Index... 1 Configuration Software... 1 1 Install Driver...1 2 Install Configuration Software...1 How to use Baseflight Configurator...1 Flight Controller
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
Modern Robotics, Inc Core Device Discovery Utility. Modern Robotics Inc, 2015
Modern Robotics, Inc Core Device Discovery Utility Modern Robotics Inc, 2015 Version 1.0.1 October 27, 2015 Core Device Discovery Application Guide The Core Device Discovery utility allows you to retrieve
Background: Experimental Manufacturing Cell
Session 3548 A WEB-BASED APPROACH TO AUTOMATED INSPECTION AND QUALITY CONTROL OF MANUFACTURED PARTS Immanuel Edinbarough, Manian Ramkumar, Karthik Soundararajan The University of Texas at Brownsville/Rochester
Speed Based on Volume Values & Assignment (Part 1)
Speed Based on Volume Values & Assignment (Part 1) The Sound Sensor is the last of the standard NXT sensors. In essence it s a kind of microphone which senses amplitude (how loud or soft a sound is), but
How to design and implement firmware for embedded systems
How to design and implement firmware for embedded systems Last changes: 17.06.2010 Author: Rico Möckel The very beginning: What should I avoid when implementing firmware for embedded systems? Writing code
Unit 24: Applications of Pneumatics and Hydraulics
Unit 24: Applications of Pneumatics and Hydraulics Unit code: J/601/1496 QCF level: 4 Credit value: 15 OUTCOME 2 TUTORIAL 4 DIRECTIONAL CONTROL VALVES The material needed for outcome 2 is very extensive
2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information
Sensors For Robotics What makes a machine a robot? Sensing Planning Acting information about the environment action on the environment where is the truck? What is sensing? Sensing is converting a quantity
Line Tracking Basic Lesson
Line Tracking Basic Lesson Now that you re familiar with a few of the key NXT sensors, let s do something a little more interesting with them. This lesson will show you how to use the Light Sensor to track
ROBOTC Programming Competition Templates
ROBOTC Programming Competition Templates This document is part of a software inspection guide for VEX v0.5 (75 MHz crystal) and VEX v1.5 (VEXnet Upgrade) microcontroller-based robots. Use this document
How To Play Botball
Using Robots to Teach 6-12 Grade Students to Program Steve Goodgame Executive Director KISS Institute for Practical Robotics 1-405-579-4609 www.kipr.org www.botball.org 1 Aerial Robot Contest What is a
Arduino Lesson 5. The Serial Monitor
Arduino Lesson 5. The Serial Monitor Created by Simon Monk Last updated on 2013-06-22 08:00:27 PM EDT Guide Contents Guide Contents Overview The Serial Monitor Arduino Code Other Things to Do 2 3 4 7 10
IS0020 Program Design and Software Tools Midterm, Feb 24, 2004. Instruction
IS0020 Program Design and Software Tools Midterm, Feb 24, 2004 Name: Instruction There are two parts in this test. The first part contains 50 questions worth 80 points. The second part constitutes 20 points
Arduino Lesson 13. DC Motors. Created by Simon Monk
Arduino Lesson 13. DC Motors Created by Simon Monk Guide Contents Guide Contents Overview Parts Part Qty Breadboard Layout Arduino Code Transistors Other Things to Do 2 3 4 4 4 6 7 9 11 Adafruit Industries
#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {
#include Gamer gamer; void setup() { gamer.begin(); void loop() { Gamer Keywords Inputs Board Pin Out Library Instead of trying to find out which input is plugged into which pin, you can use
Kinect Interface to Play Computer Games with Movement
Kinect Interface to Play Computer Games with Movement Program Install and Hardware Setup Needed hardware and software to use the Kinect to play computer games. Hardware: Computer running Windows 7 or 8
Building Robots with NXT and LEJOS. Introduc<on. What is the NXT Robot Pla@orm? Michael Wooldridge (mjw @ liv.ac.uk)
Building Robots with NXT and LEJOS Introduc
TUTORIAL FOR INITIALIZING BLUETOOTH COMMUNICATION BETWEEN ANDROID AND ARDUINO
TUTORIAL FOR INITIALIZING BLUETOOTH COMMUNICATION BETWEEN ANDROID AND ARDUINO some pre requirements by :-Lohit Jain *First of all download arduino software from www.arduino.cc *download software serial
Statements and Control Flow
Contents 1. Introduction 2. Types and Variables 3. Statements and Control Flow 4. Reading Input 5. Classes and Objects 6. Arrays 7. Methods 8. Scope and Lifetime 9. Utility classes 10. Introduction to
P-660HW-Tx v3. Quick Start Guide. 802.11g Wireless ADSL 2+ 4-port Gateway. Version 3.40 10/2008 Edition 1
P-660HW-Tx v3 802.11g Wireless ADSL 2+ 4-port Gateway Quick Start Guide Version 3.40 10/2008 Edition 1 P-660HW-Tx v3 Quick Start Guide Overview The P-660HW-Tx v3 is an ADSL router with a four-port built-in
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
Part I. Multiple Choice Questions (2 points each):
Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******
Pulse width modulation
Pulse width modulation DRAFT VERSION - This is part of a course slide set, currently under development at: http://mbed.org/cookbook/course-notes We welcome your feedback in the comments section of the
1 Download & Installation... 4. 1 Usernames and... Passwords
Contents I Table of Contents Part I Document Overview 2 Part II Document Details 3 Part III EventSentry Setup 4 1 Download & Installation... 4 Part IV Configuration 4 1 Usernames and... Passwords 5 2 Network...
EE 472 Lab 2 (Group) Scheduling, Digital I/O, Analog Input, and Pulse Generation University of Washington - Department of Electrical Engineering
EE 472 Lab 2 (Group) Scheduling, Digital I/O, Analog Input, and Pulse Generation University of Washington - Department of Electrical Engineering Introduction: In this lab, you will develop a simple kernel
Project Development & Software Design
Project Development & Software Design Lecturer: Sri Parameswaran Notes by Annie Guo. S1, 2006 COMP9032 Week12 1 Lecture Overview Basic project development steps Some software design techniques S1, 2006
TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator. A tutorial prepared for IE 575 by Dr. T.C. Chang. Use On-Line Help
TRILOGI 5.3 PLC Ladder Diagram Programmer and Simulator A tutorial prepared for IE 575 by Dr. T.C. Chang 1 Use On-Line Help Use on-line help for program editing and TBasic function definitions. 2 Open
Microcontroller Programming Beginning with Arduino. Charlie Mooney
Microcontroller Programming Beginning with Arduino Charlie Mooney Microcontrollers Tiny, self contained computers in an IC Often contain peripherals Different packages availible Vast array of size and
Introduction to Java
Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high
Programming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions
COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreement
P-660HW-Tx v3. 802.11g Wireless ADSL2+ 4-port Gateway DEFAULT LOGIN DETAILS. Firmware v3.70 Edition 1, 2/2009
P-660HW-Tx v3 802.11g Wireless ADSL2+ 4-port Gateway Firmware v3.70 Edition 1, 2/2009 DEFAULT LOGIN DETAILS IP Address: http://192.168.1.1 Admin Password: 1234 User Password: user www.zyxel.com Copyright
How To Understand The Dependency Inversion Principle (Dip)
Embedded Real-Time Systems (TI-IRTS) General Design Principles 1 DIP The Dependency Inversion Principle Version: 22-2-2010 Dependency Inversion principle (DIP) DIP: A. High level modules should not depend
Business Process Management IBM Business Process Manager V7.5
Business Process Management IBM Business Process Manager V7.5 Federated task management for BPEL processes and human tasks This presentation introduces the federated task management feature for BPEL processes
Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go
Debugging ESE112 Java Programming: API, Psuedo-Code, Scope It is highly unlikely that you will write code that will work on the first go Bugs or errors Syntax Fixable if you learn to read compiler error
Designing VM2 Application Boards
Designing VM2 Application Boards This document lists some things to consider when designing a custom application board for the VM2 embedded controller. It is intended to complement the VM2 Datasheet. A
Sample CSE8A midterm Multiple Choice (circle one)
Sample midterm Multiple Choice (circle one) (2 pts) Evaluate the following Boolean expressions and indicate whether short-circuiting happened during evaluation: Assume variables with the following names
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
Help. F-Secure Online Backup
Help F-Secure Online Backup F-Secure Online Backup Help... 3 Introduction... 3 What is F-Secure Online Backup?... 3 How does the program work?... 3 Using the service for the first time... 3 Activating
Test Creation in QuickTest Professional
www.softwaretestinggenius.com A Storehouse of Vast Knowledge on Software Testing & Quality Assurance Test Creation in QuickTest Professional Using Keyword Driven Methodology What is Keyword Driven Methodology?
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
An Introduction To Simple Scheduling (Primarily targeted at Arduino Platform)
An Introduction To Simple Scheduling (Primarily targeted at Arduino Platform) I'm late I'm late For a very important date. No time to say "Hello, Goodbye". I'm late, I'm late, I'm late. (White Rabbit in
Assignment # 2: Design Patterns and GUIs
CSUS COLLEGE OF ENGINEERING AND COMPUTER SCIENCE Department of Computer Science CSc 133 Object-Oriented Computer Graphics Programming Spring 2014 John Clevenger Assignment # 2: Design Patterns and GUIs
Arduino Lesson 14. Servo Motors
Arduino Lesson 14. Servo Motors Created by Simon Monk Last updated on 2013-06-11 08:16:06 PM EDT Guide Contents Guide Contents Overview Parts Part Qty The Breadboard Layout for 'Sweep' If the Servo Misbehaves
COSC 111: Computer Programming I. Dr. Bowen Hui University of Bri>sh Columbia Okanagan
COSC 111: Computer Programming I Dr. Bowen Hui University of Bri>sh Columbia Okanagan 1 Today Review slides from week 2 Review another example with classes and objects Review classes in A1 2 Discussion
Mitos P-Pump. product datasheet
product datasheet page Product description 2 Main benefits 3 Why choose the Mitos P-Pump? 3 Closed-loop flow control 4 Product specifications 5 Accessories - overview 6 Mitos P-Pump Basic 7 Mitos P-Pump
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
Programming Languages CIS 443
Course Objectives Programming Languages CIS 443 0.1 Lexical analysis Syntax Semantics Functional programming Variable lifetime and scoping Parameter passing Object-oriented programming Continuations Exception
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Designing a Home Alarm using the UML. And implementing it using C++ and VxWorks
Designing a Home Alarm using the UML And implementing it using C++ and VxWorks M.W.Richardson I-Logix UK Ltd. [email protected] This article describes how a simple home alarm can be designed using the UML
