Joystick interface tutorial
|
|
- Roger Knight
- 7 years ago
- Views:
Transcription
1 Joystick interface tutorial Using the JSAPI through ʻCʼ 1 Example usage in C (using callbacks) 3 Using JSAPI through Java 4 Example usage in Java (using callbacks) 5 Calibrating the joystick 6 Using the joystick API (JSAPI) is a relatively simple process. It places few constraints on the developer, and provides access to the x and y translational axes, the z rotational axis, and the first slider element of a USB joystick. The JSAPI is written such that, should more elements be desired, only the JSAPI code need be modified; the user code would only need to be updated if they desired to use the new features. Using the JSAPI through ʻCʼ Any program that makes use of the JSAPI must be sure to include the js_api.h. This file contains the function prototypes for all public functions of the JSAPI and it provides full documentation on what each function does. Please notice that all JSAPI functions are prefixed with the characters js in order to provide a semblance of namespace for pure C programming. Next, before making use of any of the fun features of the JSAPI, a program must be sure to first call jsopen(). This function initializes the backend of the JSAPI. The jsopen() function requires the name of a joystick to open. A program has two choices for that name: it can pass a name that was retrieved from the jsgetjoysticknames() function, or it can take its chances and pass NULL to the function, at which point the jsopen() function will open the first joystick that it finds. The problem with this, is that the underlying library may confuse non-joystick devices for joysticks (e.g. a keyboard). The jsopen() (and possibly the jsgetjoysticknames()) function must be called before any of the other functions provided by the JSAPI. If it is not, the behavior of those other functions is undefined. For interrupt driven functionality, it is recommended to call jsregistercallback() followed by jsmain() or jsmainnonblocking(). The jsregistercallback() function registers a callback function with the JSAPI that will be called whenever the JSAPI polls the joystick device. This callback function must be of the JS_CALLBACK type: a function pointer to a function taking a JoystickInputs struct as its parameter (JoystickInputs is defined in js_api.h). Page 1 of 6
2 The jsmain... functions initiate and run the event loop used by the JSAPI to perform polling events. One of these functions must be called before device polling can take place. The difference between jsmain() and jsmainnonblocking() is simple: the jsmain() function runs the JSAPI main event loop without ever returning (a call to jsmain() effectively blocks forever), while a call to jsmainnonblocking() runs the main loop in a separate thread and returns control to the caller almost immediately. An example program that uses callbacks follows. It simply prints out the received joystick values to stdout. It also registers a signal handler to catch the interrupt signal so that the program can call the jsclose() function, which closes the JSAPI nicely, and helps ensure the stability of the operating system. It does not ask the user which joystick to open, instead acting naively. The JSAPI provides greater functionality than shown or described here (such as non-interrupt driven polling and the ability to change the polling interval), and the js_api.h file should be consulted for full documentation. Page 2 of 6
3 Example usage in C (using callbacks) #include js_api.h #include <stdio.h> #include <unistd.h> #include <stdlib.h> void signalhandler( int sig ) { printf( "Interrupted\n" ); jsclose(); _exit( 1 ); void callback( JoystickInputs inputs ) { // Simply print out all of the input values. printf( "X: % 4d\tY: % 4d\tZ: % 4dS: % 4d\n", inputs.x_trans, inputs.y_trans, inputs.z_rot, inputs.slider_0 ); int main( int argc, char **argv ) { signal( SIGINT, signalhandler ); // This program will take its chances. A good program would call // // char **names = jsgetjoysticknames(); // // ask the user to which joystick to use, and then call jsopen( names[i] ); jsopen( NULL ); // Register the callback. jsregistercallback( callback ); // Start and enter the main joystick event loop. This function will never // return. jsmain(); Page 3 of 6
4 Using JSAPI through Java Use of the JSAPI through Java is extremely similar to C. The main difference is in how callbacks are setup. An example program that makes use of the JSAPI is included in the code repository at code/js_api/swig/test/testopengl.java. To setup JSAPI callbacks in Java, an object implementing the JSCallbackInterface must be passed to the JSAPI. This is done through the joysticksetcallback() function. This process is equivalent to calling the jsregistercallback() function in C. Once the joysticksetcallback() function has been called, the object passed to it will have its joystickcallback() function called whenever the joystick state updates. An example class (JavaJSAPICallback) is provided with the repository that implements the JSCallbackInterface and provides additional functionality, allowing multiple objects to behave as callbacks. Though it s recommended, it is not required for this class to be used. The JSCallbackInterface.java file should be consulted for the use of the JoystickInputs class. The JoystickInputs class is automatically generated by the SWIG tool to wrap around the JoystickInputs struct defined in js_api.h. The SWIG tool creates getter and setter functions for the struct, which changes its interface just a little bit. This ends up meaning that, if we say that obj is an object of type JoystickInputs, instead of accessing its x_trans field using obj.x_trans, we use obj.getx_trans(). An example program that uses callbacks follows. Page 4 of 6
5 Example usage in Java (using callbacks) public class JavaTest implements JSCallbackInterface { public JavaTest() { // This is the callback function that will be called every time the // joystick state updates. public void joystickcallback( JoystickInputs inputs ) { System.out.println( X: + inputs.getx_trans() + + Y: + inputs.gety_trans() + + Z: + inputs.getz_rot() + + S: + inputs.getslider_0() ); public static void main( String args[] ) { // The JSAPI library must be loaded. try { System.loadLibrary( js_api ); catch (UnsatisfiedLinkError e) { // If the library failed to load (because either the JSAPI library // could not be found, or one of its dependencies could not be found), // then print an error and exit. System.err.println( e ); System.exit( 1 ); JavaTest callback_obj = new JavaTest(); // The JavaJSAPICallback object will be the one that is _actually_ // registered with the JSAPI. This isn t necessary, especially in this // simple example, but it demonstrates the use of JavaJSAPICallback. JavaJSAPICallback callbacks = new JavaJSAPICallback(); callbacks.register( callback_obj ); // We use the naive approach of opening the first joystick found (which // may not actually be a joystick) in order to keep the example concise. JSAPI.jsOpen( null ); JSAPI.joystickSetCallback( callbacks ); JSAPI.jsMain(); Page 5 of 6
6 Calibrating the joystick When first used, the joystick may not be calibrated properly. This could mean anything from values are off-center to the x-axis is mapped to the z-axis and vice versa. The first step in fixing this should be to run any calibration program the operating system may have (e.g. jscal in linux). Next, within the program using the JSAPI, the jsstartcalibration() and jsstopcalibration() functions should be used. The JSAPI is only capable of calibrating a single axis at a time. This is due to the possibility that axis mappings have been swapped. Because of this limitation, the calibration process should involve several pairs of calls to jsstartcalibration() and jsstopcalibration(). Calling jsstartcalibration() will halt the use of the callback function temporarily until a corresponding call to jsstopcalibration() occurs. For an example of how to perform joystick calibration in C, see the thread_main.c test program at code/js_api/ in the P09201 repository. For an example of how to perform calibration in Java, see the TestOpenGL.java test program at code/js_api/swig/test in the P09201 repository. Page 6 of 6
Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG
Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written
More informationIPC. Semaphores were chosen for synchronisation (out of several options).
IPC Two processes will use shared memory to communicate and some mechanism for synchronise their actions. This is necessary because shared memory does not come with any synchronisation tools: if you can
More informationImplementing Rexx Handlers in NetRexx/Java/Rexx
Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik Implementing Rexx Handlers in NetRexx/Java/Rexx The 2012 International Rexx Symposium Rony G. Flatscher Wirtschaftsuniversität Wien Augasse
More informationLibmonitor: A Tool for First-Party Monitoring
Libmonitor: A Tool for First-Party Monitoring Mark W. Krentel Dept. of Computer Science Rice University 6100 Main St., Houston, TX 77005 krentel@rice.edu ABSTRACT Libmonitor is a library that provides
More informationCORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationJorix kernel: real-time scheduling
Jorix kernel: real-time scheduling Joris Huizer Kwie Min Wong May 16, 2007 1 Introduction As a specialized part of the kernel, we implemented two real-time scheduling algorithms: RM (rate monotonic) and
More informationIntroduction. dnotify
Introduction In a multi-user, multi-process operating system, files are continually being created, modified and deleted, often by apparently unrelated processes. This means that any software that needs
More informationMember Functions of the istream Class
Member Functions of the istream Class The extraction operator is of limited use because it always uses whitespace to delimit its reads of the input stream. It cannot be used to read those whitespace characters,
More informationBasic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C
Basic Java Constructs and Data Types Nuts and Bolts Looking into Specific Differences and Enhancements in Java compared to C 1 Contents Hello World Program Statements Explained Java Program Structure in
More informationCSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17 System Calls for Processes Ref: Process: Chapter 5 of [HGS]. A program in execution. Several processes are executed concurrently by the
More informationAn 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
More informationarrays C Programming Language - Arrays
arrays So far, we have been using only scalar variables scalar meaning a variable with a single value But many things require a set of related values coordinates or vectors require 3 (or 2, or 4, or more)
More informationCreating a Simple, Multithreaded Chat System with Java
Creating a Simple, Multithreaded Chat System with Java Introduction by George Crawford III In this edition of Objective Viewpoint, you will learn how to develop a simple chat system. The program will demonstrate
More informationMPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available
More informationVirtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
More information09336863931 : provid.ir
provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement
More informationTUTORIAL 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
More informationCrash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
More informationTivaWare Utilities Library
TivaWare Utilities Library USER S GUIDE SW-TM4C-UTILS-UG-1.1 Copyright 2013 Texas Instruments Incorporated Copyright Copyright 2013 Texas Instruments Incorporated. All rights reserved. Tiva and TivaWare
More informationIllustration 1: Diagram of program function and data flow
The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline
More informationGDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
More informationEvaluation. Copy. Evaluation Copy. Chapter 7: Using JDBC with Spring. 1) A Simpler Approach... 7-2. 2) The JdbcTemplate. Class...
Chapter 7: Using JDBC with Spring 1) A Simpler Approach... 7-2 2) The JdbcTemplate Class... 7-3 3) Exception Translation... 7-7 4) Updating with the JdbcTemplate... 7-9 5) Queries Using the JdbcTemplate...
More informationaicas Technology Multi Core und Echtzeit Böse Überraschungen vermeiden Dr. Fridtjof Siebert CTO, aicas OOP 2011, 25 th January 2011
aicas Technology Multi Core und Echtzeit Böse Überraschungen vermeiden Dr. Fridtjof Siebert CTO, aicas OOP 2011, 25 th January 2011 2 aicas Group aicas GmbH founded in 2001 in Karlsruhe Focus: Embedded
More information5 Arrays and Pointers
5 Arrays and Pointers 5.1 One-dimensional arrays Arrays offer a convenient way to store and access blocks of data. Think of arrays as a sequential list that offers indexed access. For example, a list of
More informationDivision of Informatics, University of Edinburgh
CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that
More informationASCII Encoding. The char Type. Manipulating Characters. Manipulating Characters
The char Type ASCII Encoding The C char type stores small integers. It is usually 8 bits. char variables guaranteed to be able to hold integers 0.. +127. char variables mostly used to store characters
More informationThe 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
More informationWhat are exceptions? Bad things happen occasionally
What are exceptions? Bad things happen occasionally arithmetic: 0, 9 environmental: no space, malformed input undetectable: subscript out of range, value does not meet prescribed constraint application:
More informationTo Java SE 8, and Beyond (Plan B)
11-12-13 To Java SE 8, and Beyond (Plan B) Francisco Morero Peyrona EMEA Java Community Leader 8 9...2012 2020? Priorities for the Java Platforms Grow Developer Base Grow Adoption
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More informationINTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011
INTRODUCTION TO OBJECTIVE-C CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 12 09/29/2011 1 Goals of the Lecture Present an introduction to Objective-C 2.0 Coverage of the language will be INCOMPLETE
More informationThreads Scheduling on Linux Operating Systems
Threads Scheduling on Linux Operating Systems Igli Tafa 1, Stavri Thomollari 2, Julian Fejzaj 3 Polytechnic University of Tirana, Faculty of Information Technology 1,2 University of Tirana, Faculty of
More informationEmbedded 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
More informationSources: 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,
More informationHow To Run A Test File Extension On A Rexx 4.1.1 (Unix) 4.2.1 On A Microsoft Linux 4.3.2 (Amd64) (Orchestra) (For Windows) (
Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik Configuring Rexx Interpreter Instances from NetRexx/Java The 2012 International Rexx Symposium Rony G. Flatscher Wirtschaftsuniversität Wien
More informationChapter 2. println Versus print. Formatting Output withprintf. System.out.println for console output. console output. Console Input and Output
Chapter 2 Console Input and Output System.out.println for console output System.out is an object that is part of the Java language println is a method invoked dby the System.out object that can be used
More informationThe BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware
More informationSurface and Volumetric Data Rendering and Visualisation
Surface and Volumetric Data Rendering and Visualisation THE Qt TOOLKIT Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia - ITALY 1 What is
More informationLinux/UNIX System Programming. POSIX Shared Memory. Michael Kerrisk, man7.org c 2015. February 2015
Linux/UNIX System Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2015 February 2015 Outline 22 POSIX Shared Memory 22-1 22.1 Overview 22-3 22.2 Creating and opening shared memory objects 22-10
More informationJ 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
More informationC++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
More informationTail call elimination. Michel Schinz
Tail call elimination Michel Schinz Tail calls and their elimination Loops in functional languages Several functional programming languages do not have an explicit looping statement. Instead, programmers
More informationMasters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
More informationMemory management. Announcements. Safe user input. Function pointers. Uses of function pointers. Function pointer example
Announcements Memory management Assignment 2 posted, due Friday Do two of the three problems Assignment 1 graded see grades on CMS Lecture 7 CS 113 Spring 2008 2 Safe user input If you use scanf(), include
More informationObject-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
More informationImplementing and testing tftp
CSE123 Spring 2013 Term Project Implementing and testing tftp Project Description Checkpoint: May 10, 2013 Due: May 29, 2013 For this project you will program a client/server network application in C on
More informationInformatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
More informationOperating System Manual. Realtime Communication System for netx. Kernel API Function Reference. www.hilscher.com.
Operating System Manual Realtime Communication System for netx Kernel API Function Reference Language: English www.hilscher.com rcx - Kernel API Function Reference 2 Copyright Information Copyright 2005-2007
More informationCoding Standard for Java
Coding Standard for Java 1. Content 1. Content 1 2. Introduction 1 3. Naming convention for Files/Packages 1 4. Naming convention for Classes, Interfaces, Members and Variables 2 5. File Layout (.java)
More informationpublic static void main(string[] args) { System.out.println("hello, world"); } }
Java in 21 minutes hello world basic data types classes & objects program structure constructors garbage collection I/O exceptions Strings Hello world import java.io.*; public class hello { public static
More informationPhidgetInterfaceKit 8/8/8
PhidgetInterfaceKit 8/8/8 Operating Systems: Windows 2000/XP/Vista, Windows CE, Linux, and Mac OS X Application Programming Interfaces (APIs): Visual Basic, VB.NET, C, C++, C#, Flash 9, Flex, Java, LabVIEW,
More informationQt Signals and Slots. Olivier Goffart. October 2013
Qt Signals and Slots Olivier Goffart October 2013 About Me About Me QStyleSheetStyle Itemviews Animation Framework QtScript (porting to JSC and V8) QObject, moc QML Debugger Modularisation... About Me
More informationProgramming 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
More informationJava Programming: Sockets in Java
Java Programming: Sockets in Java Manuel Oriol May 10, 2007 1 Introduction Network programming is probably one of the features that is most used in the current world. As soon as people want to send or
More informationDatabase Access from a Programming Language: Database Access from a Programming Language
Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding
More informationDatabase Access from a Programming Language:
Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding
More informationDatabase Toolkit: Portable and Cost Effective Software
Database Toolkit: Portable and Cost Effective Software By Katherine Ye Recursion Software, Inc. TABLE OF CONTENTS Abstract...2 Why using ODBC...2 Disadvantage of ODBC...3 Programming with Database Toolkit...4
More informationTextbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 1
Event Driven Simulation in NS2 Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 1 Outline Recap: Discrete Event v.s. Time Driven Events and Handlers The Scheduler
More informationGetting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
More informationMoving 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
More informationSQLITE C/C++ TUTORIAL
http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm SQLITE C/C++ TUTORIAL Copyright tutorialspoint.com Installation Before we start using SQLite in our C/C++ programs, we need to make sure that we have
More information3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin wolin@jlab.org Carl Timmer timmer@jlab.org
More informationTutorial: Getting Started
9 Tutorial: Getting Started INFRASTRUCTURE A MAKEFILE PLAIN HELLO WORLD APERIODIC HELLO WORLD PERIODIC HELLO WORLD WATCH THOSE REAL-TIME PRIORITIES THEY ARE SERIOUS SUMMARY Getting started with a new platform
More informationHow to Program an Android Application to Access and Manage the Wi-Fi Capabilities of a Smartphone
ECE 480 DESIGN TEAM 2 How to Program an Android Application to Access and Manage the Wi-Fi Capabilities of a Smartphone Application Note Matt Gottshall 4/1/2011 This application note is designed to teach
More informationWith a single download, the ADT Bundle includes everything you need to begin developing apps:
Get the Android SDK The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android. The ADT bundle includes the essential Android SDK components
More informationNetwork/Socket Programming in Java. Rajkumar Buyya
Network/Socket Programming in Java Rajkumar Buyya Elements of C-S Computing a client, a server, and network Client Request Result Network Server Client machine Server machine java.net Used to manage: URL
More informationLecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
More informationCommon clock framework: how to use it
Embedded Linux Conference 2013 Common clock framework: how to use it Gregory CLEMENT Free Electrons gregory.clement@free-electrons.com Free Electrons. Kernel, drivers and embedded Linux development, consulting,
More informationStorage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
More informationCS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
More informationCapabilities of a Java Test Execution Framework by Erick Griffin
Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing
More information1 Abstract Data Types Information Hiding
1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content
More informationSimple C Programs. Goals for this Lecture. Help you learn about:
Simple C Programs 1 Goals for this Lecture Help you learn about: Simple C programs Program structure Defining symbolic constants Detecting and reporting failure Functionality of the gcc command Preprocessor,
More informationBuilding a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
More informationCode and Usage Description. A.Konstantinov
NORDUGRID NORDUGRID-TECH-9 25/9/2009 THE HTTP(S,G) AND SOAP SERVER/FRAMEWORK Code and Usage Description A.Konstantinov aleks@fys.uio.no Contents 1 Introduction 3 2 Classes 3 2.1 HTTPS_Connector............................................
More informationTools for Integration Testing
Tools for Integration Testing What is integration ing? Unit ing is ing modules individually A software module is a self-contained element of a system Then modules need to be put together to construct the
More informationCS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013
Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)
More informationMQX Lite Real-Time Operating System User Guide
MQX Lite Real-Time Operating System User Guide Document Number: MQXLITEUG Rev 1.1, 02/2014 2 Freescale Semiconductor, Inc. Contents Section number Title Page Chapter 1 Introduction 1.1 Overview of MQX
More informationRootbeer: Seamlessly using GPUs from Java
Rootbeer: Seamlessly using GPUs from Java Phil Pratt-Szeliga. Dr. Jim Fawcett. Dr. Roy Welch. Syracuse University. Rootbeer Overview and Motivation Rootbeer allows a developer to program a GPU in Java
More informationAmazon Glacier. Developer Guide API Version 2012-06-01
Amazon Glacier Developer Guide Amazon Glacier: Developer Guide Copyright 2016 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in
More informationIntroduction to Computer Programming, Spring Term 2014 Practice Assignment 3 Discussion 15.3.2014-20.3.2014
German University in Cairo Media Engineering and Technology Prof. Dr. Slim Abdennadher Dr. Ahmed Gamal Introduction to Computer Programming, Spring Term 2014 Practice Assignment 3 Discussion 15.3.2014-20.3.2014
More informationDevice Management API for Windows* and Linux* Operating Systems
Device Management API for Windows* and Linux* Operating Systems Library Reference September 2004 05-2222-002 INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS
More informationUI Performance Monitoring
UI Performance Monitoring SWT API to Monitor UI Delays Terry Parker, Google Contents 1. 2. 3. 4. 5. 6. 7. Definition Motivation The new API Monitoring UI Delays Diagnosing UI Delays Problems Found! Next
More informationVoIP Probe 3.4. Functions, Parameters & Metrics for integration with HP Business Availability Center via HP Business Process Monitor
VoIP Probe 3.4 Functions, Parameters & Metrics for integration with HP Business Availability Center via HP Business Process Monitor ADVENAGE GmbH Blumenhagenstr. 10 D-30167 Hannover Germany March 2010
More informationSample 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
More informationFile Handling. What is a file?
File Handling 1 What is a file? A named collection of data, stored in secondary storage (typically). Typical operations on files: Open Read Write Close How is a file stored? Stored as sequence of bytes,
More informationInline Variables. Document Number: N4424 Date: 2015 04 07 Hal Finkel (hfinkel@anl.gov) and Richard Smith (richard@metafoo.co.
Document Number: N4424 Date: 2015 04 07 Hal Finkel (hfinkel@anl.gov) and Richard Smith (richard@metafoo.co.uk) Inline Variables Introduction C++ generally requires all extern functions and variables to
More informationHow To Write Portable Programs In C
Writing Portable Programs COS 217 1 Goals of Today s Class Writing portable programs in C Sources of heterogeneity Data types, evaluation order, byte order, char set, Reading period and final exam Important
More informationItem 7: Prefer Immutable Atomic Value Types
Item 7: Prefer Immutable Atomic Value Types 1 Item 7: Prefer Immutable Atomic Value Types Immutable types are simple: After they are created, they are constant. If you validate the parameters used to construct
More informationJava and JCA. Rok Sabjan 09/01/2008. Based on presentation by Ken Evans. www.cosylab.com
Java and JCA Rok Sabjan 09/01/2008 Based on presentation by Ken Evans www.cosylab.com Outline Java Java and EPICS Overview of JCA Examples - SimpleJCAGet - SimpleJCAMonitor - JProbe 2 Java Java is designed
More informationASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper
More informationNetworks and Protocols Course: 320301 International University Bremen Date: 2004-11-24 Dr. Jürgen Schönwälder Deadline: 2004-12-03.
Networks and Protocols Course: 320301 International University Bremen Date: 2004-11-24 Dr. Jürgen Schönwälder Deadline: 2004-12-03 Problem Sheet #10 Problem 10.1: finger rpc server and client implementation
More informationQL Integration into Scala and Excel. Martin Dietrich
QL Integration into Scala and Excel Martin Dietrich E.ON Global Commodities Over 1000 professionals, active on over 20 exchanges in more than 40 countries Over 1000 counterparties in more than 50 countries
More informationFundamentals of Programming
Fundamentals of Programming Introduction to the C language Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 29, 2012 G. Lipari (Scuola Superiore Sant Anna) The C language
More information1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
1.00 Lecture 1 Course Overview Introduction to Java Reading for next time: Big Java: 1.1-1.7 Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
More informationUIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming
UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything
More informationJVM Tool Interface. Michal Pokorný
JVM Tool Interface Michal Pokorný JVM TI Inspect & control execution on JVM (profiling, debugging, monitoring, thread analysis, coverage, ) Higher-level interface: Java Platform Debugger Architecture JVM
More information1. Phonebook. 7. Function Keys
SoftPhone 1. Phonebook 2. Current Call Status 3. Current Call / Call History 4. One touch buttons 5. Missed Call List 6. Dial Pad 7. Function Keys 1. Phone Book Shows the list of phone numbers stored in
More informationMonitoring of Tritium release at PTC.
Monitoring of Tritium release at PTC. Scope of the project From more than 20 projects supported by Equipment Manufacturing Support group this is one of the simplest. What is nice about it is that elegant
More information