Integrating visualstate code with C++
|
|
- Daniel Evans
- 6 years ago
- Views:
Transcription
1 Integrating visualstate code with C++ The information in this document is based on version 4.2 of the IAR visualstate software. It may also apply to other versions of IAR visualstate. SUMMARY The code generated by visualstate is ANSI C-compliant. A visualstate System share several properties with the concept of a class, thus it would be convenient to wrap a visualstate System in a C++ class. This note outlines how this could be done. KEYWORDS C++, class, instantiation, instances, visualstate System. The problem to be solved If the primary language of an embedded application is C++, it would be convenient to interface to the visualstate generated code in an object-oriented manner. But since the code generated by visualstate is ANSI C-compliant, this is not straightforward. The entity in the code generated by visualstate that resembles the concept of an object-oriented class most closely, is a visualstate System. However, as visualstate Systems are primarily encoded as sets of functions and statically allocated variables, a class must be constructed for each visualstate System that embeds the visualstate System. Such classes are referred to by embedders in the following. Note: It may be beneficial to read IAR Application Note Interfacing visualstate and existing C code before proceeding with this note. Solution Since the number of instances of a visualstate System is fixed when the visualstate Coder is invoked, instantiation of embedder objects should be restricted. The simple case is when a single statically allocated instance of a visualstate System is used. Matters are slightly more complicated when multiple statically allocated instances of a visualstate System are used. Clients of the embedder should not have access to the functions and variables that make up the visualstate System, but they should have access to more general visualstate elements such as completion codes. The application structure could be as outlined in Figure 1. 1
2 embedder.h semlibb.h (general VS elements) client.cpp embedder.cpp vssystemdata.h vssystemaction.h (System specific VS elements) Figure 1: Application structure In this example, embedders for single and multiple statically allocated instances are constructed assuming the use of the IAR visualstate Basic API. The embedders are for a visualstate System with the following events and action functions: Events: Action functions: Event1() Event2() VS_VOID Func1() VS_VOID Func2(VS_INT i) Single statically allocated instance When using the visualstate Basic API with a single instance, the embedder should be a singleton, i.e. a class that can be instantiated only once. This can be achieved by declaring the constructor and copy constructor as private members of the embedder. Access to the single instance can be via a static data member that has the type of the embedder. In the code shown below, this data member is denoted s. The class definition for the embedder could be as follows: embedder.h #include "semlibb.h" class UserSystem public: // events unsigned char _Event1(); unsigned char _Event2(); // action functions void _Func1(); void _Func2(VS_INT i); static UserSystem s; private: UserSystem(); UserSystem(const UserSystem&); 2
3 unsigned char MacroStep(SEM_EVENT_TYPE eventno); ; Because this file is a header file intended for inclusion by C++ source files, the visualstate API header semlibb.h file must be included via the linkage specification. For every event in the visualstate System, the embedder has a member function that initiates a visualstate macrostep for that event. For every action function in the visualstate System, the embedder has a member function with the same declaration as the globally defined action function. Both types of mapper functions must be public: the event mapper functions in order to enable clients to access the embedder, the action mapper functions in order for the globally defined action functions to be able to call the action mapper functions. A private member function MacroStep is called by the event mapper functions in order to perform a macrostep. The implementations of the member functions are as follows: embedder.cpp #include "embedder.h" #include "vssystemdata.h" #include "vssystemaction.h" unsigned char UserSystem::_Event1() return MacroStep(Event1); unsigned char UserSystem::_Event2() return MacroStep(Event2); void UserSystem::_Func1() /*... */ void UserSystem::_Func2(VS_INT i) /*... */ UserSystem::UserSystem() unsigned char UserSystem::MacroStep(SEM_EVENT_TYPE eventno) unsigned char cc; SEM_ACTION_EXPRESSION_TYPE actionexprno; if ((cc = SEM_Deduct(eventNo))!= SES_OKAY) while ((cc = SEM_GetOutput(&actionExprNo)) == SES_FOUND) SEM_Action(actionExprNo); if (cc!= SES_OKAY) return SEM_NextState(); UserSystem UserSystem::s; 3
4 VS_VOID Func1(VS_VOID) UserSystem::s._Func1(); VS_VOID Func2(VS_INT i) UserSystem::s._Func2(i); The event mapper functions initiate a macrostep by calling MacroStep with their associated event. The action mapper functions are left empty for the developer to define their functionality. The constructor is empty, and it is included with the sole purpose of making it private. Alternatively, code for initializing the visualstate System and sending the initialization event (normally SE_RESET) could be inserted here. This however requires the constructor to be able to signal error in case the initialization fails. Since the singleton pattern is implemented with a statically allocated instance, this potential error will occur before control is transferred to the main function, which may not be preferable. The function MacroStep is a straightforward implementation of a visualstate macrostep (see IAR Application Note Setting up the visualstate main loop with the IAR visualstate Basic API). The action functions in the visualstate System must be defined with the linkage specification, since they are referred to by the visualstate System. The action functions call the action function wrappers defined in the embedder class via the singleton object s. However, if the context of the embedder is not needed for performing the tasks of the action functions, the action function wrappers may be omitted, and the globally defined action functions may perform their tasks directly without involving the embedder. Multiple statically allocated instances When using the visualstate Basic API with multiple instances, the technique used above for restricting the creation of embedders can be applied in a slightly modified way. Instead of statically allocating a single instance of the embedder, an array as of such objects is allocated. The size of the array should be the number of instances in the visualstate System which is encoded in the Coder-generated macro VS_NOF_INSTANCES. The class definition for the embedder class is as follows: embedder.h #include "semlibb.h" class UserSystem public: // events unsigned char _Event1(); unsigned char _Event2(); // action functions void _Func1(); 4
5 void _Func2(VS_INT i); const SEM_INSTANCE_TYPE instanceno; static UserSystem as[vs_nof_instances]; static UserSystem& ActiveInstance(); private: UserSystem(); UserSystem(const UserSystem&); unsigned char MacroStep(SEM_EVENT_TYPE eventno); ; static SEM_INSTANCE_TYPE nextinstanceno; static SEM_INSTANCE_TYPE activeinstanceno; Each instance of the embedder object is associated with an instance of the visualstate System through the constant data member instanceno. The static member function ActiveInstance is to be used by the globally defined action functions to determine which embedder object to manipulate. The function uses the static data member activeinstanceno to determine the embedder to return. Finally the embedder class uses the static data member nextinstanceno as a counter for initializing the non-static data member instanceno. The implementations of the member functions are as follows: embedder.cpp #include "embedder.h" #include "vssystemdata.h" #include "vssystemaction.h" unsigned char UserSystem::_Event1() return MacroStep(Event1); unsigned char UserSystem::_Event2() return MacroStep(Event2); void UserSystem::_Func1() /*... */ void UserSystem::_Func2(VS_INT i) /*... */ UserSystem::UserSystem(): instanceno(nextinstanceno++) unsigned char UserSystem::MacroStep(SEM_EVENT_TYPE eventno) unsigned char cc; SEM_ACTION_EXPRESSION_TYPE actionexprno; 5
6 activeinstanceno = instanceno; if ((cc = SEM_SetInstance(instanceNo))!= SES_OKAY) if ((cc = SEM_Deduct(eventNo))!= SES_OKAY) while ((cc = SEM_GetOutput(&actionExprNo)) == SES_FOUND) SEM_Action(actionExprNo); if (cc!= SES_OKAY) return SEM_NextState(); UserSystem UserSystem::aS[VS_NOF_INSTANCES]; UserSystem& UserSystem::ActiveInstance() return as[activeinstanceno]; SEM_INSTANCE_TYPE UserSystem::activeInstanceNo = 0; SEM_INSTANCE_TYPE UserSystem::nextInstanceNo = 0; VS_VOID Func1(VS_VOID) UserSystem::ActiveInstance()._Func1(); VS_VOID Func2(VS_INT i) UserSystem::ActiveInstance()._Func2(i); The most important difference between this implementation and the implementation for the single statically allocated instance is the initialization of the instanceno member in the constructor, and the change of active instance in the MacroStep function. Dynamically allocated instances Although the visualstate Expert API is able to use dynamic memory allocation, it is not possible to allocate an arbitrary number of instances of a visualstate System. The reason is that the visualstate Expert API only uses dynamic memory to allocate parts of a visualstate System, while other parts are allocated statically. So even when using the Expert API, instantiation of embedder objects should be restricted to the number of instances specified by the visualstate System. Conclusions visualstate Systems can be embedded in a C++ class to ease interfacing from other C++ objects. In addition, the use of C++ features such as protected members makes it possible to better encapsulate a visualstate System and to protect a visualstate System from accidental (unintended) changes. 6
7 Constructors can be used to ensure that initialization takes place before events are deducted. Singleton patterns and variants can be used to restrict access to instantiation of embedder objects. References IAR Application Note Interfacing visualstate and existing C code. IAR Application Note Setting up the visualstate main loop with the IAR visualstate Basic API. Contact information SWEDEN: IAR Systems AB P.O. Box 23051, S Uppsala Tel: / Fax: info@iar.se USA: IAR Systems US HQ - West Coast One Maritime Plaza, San Francisco, CA Tel: / Fax: info@iar.com USA: IAR Systems - East Coast 2 Mount Royal, Marlborough, MA Tel: / Fax: info@iar.com UK: IAR Systems Ltd 9 Spice Court, Ivory Square, London SW11 3UE Tel: / Fax: info@iarsys.co.uk GERMANY: IAR Systems AG Posthalterring 5, D Parsdorf Tel: / Fax: info@iar.de DENMARK: IAR Systems A/S Lykkesholms Allé 100, DK-8260 Viby J Tel: / Fax: info@iar.dk JAPAN: IAR Systems K.K. 1-2 Kanda-Ogawamachi, Chiyoda-ku Tokyo, Tel: +81 (0) / Fax: +81 (0) info@iarsys.co.jp Copyright 2001 IAR Systems. All rights reserved. The information in this document is subject to change without notice and does not represent a commitment on any part of IAR Systems. While the information contained herein is assumed to be accurate, IAR Systems assumes no responsibility for any errors or omissions. visualstate is a registered trademark of IAR Systems. IAR visualstate RealLink, IAR Embedded Workbench and IAR MakeApp are trademarks of IAR Systems. Microsoft is a registered trademark, and Windows is a trademark of Microsoft Corporation. All other product names are trademarks or registered trademarks of their respective owners. First published: March Revised: October
Setting up the visualstate main loop with the IAR visualstate Basic API
Setting up the visualstate main loop with the IAR visualstate Basic API The information in this document is based on version 4.2 of the IAR visualstate software. It may also apply to other versions of
More informationConfiguring and implementing a visualstate target application for debugging with IAR visualstate RealLink
Configuring and implementing a visualstate target application for debugging with IAR visualstate RealLink The information in this document is based on versions 4.2 and 4.3 of the IAR visualstate software.
More informationIntegrating a visualstate application with a Real-Time Operating System (RTOS)
Integrating a visualstate application with a Real-Time Operating System (RTOS) The information in this document is based on version 5.0.4 of the IAR visualstate software. It may also apply to subsequent
More informationIAR TTCN Developer s Studio
AM1J AM1J h732 c397 IAR TTCN Developer s Studio C196 Bluetooth Edition A131 From Idea to Target * System description Implementation Debugging Make executable IAR PreQual Encoders/ Decoders etc. IAR PreQual
More informationIAR Embedded Workbench
IAR Embedded Workbench Integrated Development Environment From Idea to Target The IAR Embedded Workbench is a fully Integrated Development Environment for developing embedded applications. The workspace
More informationMTIM Driver for the MC9S08GW64
Freescale Semiconductor Application Note Document Number: AN4160 Rev. 0, 8/2010 MTIM Driver for the MC9S08GW64 by: Tanya Malik Reference Design and Applications Group India IDC MSG NOIDA 1 Introduction
More informationPreparations. Creating a New Project
AVR030: Getting Started with C for AVR Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into
More informationDevice support in IAR Embedded Workbench for 8051
Device support in IAR Embedded Workbench for 8051 This guide describes how you can add support for a new device to IAR Embedded Workbench and how you can modify the characteristics of an already supported
More informationOutline. 1. Input of Ports P10 and P Applicable Products. 1.2 Applicable MCU. 1.3 Details
[Notes] CS+ Code Generator for RL78 (CS+ for CC), CS+ Code Generator for RL78 (CS+ for CA, CX), e 2 studio Code Generator Plug-in, Applilet3 Coding Assistance Tool for RL78 R20TS0139EJ0100 Rev.1.00 Outline
More informationCS 251 Intermediate Programming Methods and Classes
CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More informationCS 251 Intermediate Programming Methods and More
CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with
More information*HWWLQJVWDUWHGZLWKWKH,$5 (PEHGGHG:RUNEHQFK $QGWKH,$5&FRPSLOHUIRU$WPHO$95ŠGHYLFHV
,$5$SSOLFDWLRQ1RWH$95 *HWWLQJVWDUWHGZLWKWKH,$5 (PEHGGHG:RUNEHQFK $QGWKH,$5&FRPSLOHUIRU$WPHO$95ŠGHYLFHV 6800$5< This application note provides new users with an introduction to the Embedded Workbench programming
More informationPDB Driver for the MC9S08GW64
Freescale Semiconductor Application Note Document Number: AN4163 Rev. 0, 8/2010 PDB Driver for the MC9S08GW64 by: Tanya Malik Reference Design and Applications Group Noida India 1 Introduction This document
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationAVR32 UC3 Software Framework... User Manual
... User Manual Section 1 AVR32 UC3 Software Framework 1.1 Features Drivers for each AVR 32 UC3 peripheral Software libraries optimized for AVR32 Hardware components drivers Demo applications that use
More informationIIC Driver for the MC9S08GW64
Freescale Semiconductor Application Note Document Number: AN4158 Rev. 0, 8/2010 IIC Driver for the MC9S08GW64 by: Tanya Malik Reference Design and Applications Group Noida India 1 Introduction This document
More information8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.
: Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time, Date,
More informationSCI Driver for the MC9S08GW64
Freescale Semiconductor Application Note Document Number: AN4161 Rev. 0,8/2010 SCI Driver for the MC9S08GW64 by: Tanya Malik Reference Design and Applications Group Noida India 1 Introduction This document
More information8. Object-oriented Programming. June 15, 2010
June 15, 2010 Introduction to C/C++, Tobias Weinzierl page 1 of 41 Outline Recapitulation Copy Constructor & Operators Object-oriented Programming Dynamic and Static Polymorphism The Keyword Static The
More informationWeek 8: Operator overloading
Due to various disruptions, we did not get through all the material in the slides below. CS319: Scientific Computing (with C++) Week 8: Operator overloading 1 The copy constructor 2 Operator Overloading
More informationMigrating from Keil µvision for 8051 to IAR Embedded Workbench for 8051
Migration guide Migrating from Keil µvision for 8051 to for 8051 Use this guide as a guideline when converting project files from the µvision IDE and source code written for Keil toolchains for 8051 to
More informationetpu Automotive Function Set (Set 2)
Freescale Semiconductor Application Note Document Number: AN3768 Rev. 0, 05/2009 etpu Automotive Function Set (Set 2) by: Geoff Emerson East Kilbride U.K. 1 Introduction This application note complements
More informationOLED display with pixels resolution Ambient light sensor CPU load Analog filter Quadrature Encoder with push button Digital I/O
APPLICATION NOTE Atmel AT02657: XMEGA-E5 Xplained Software User Guide Features OLED display with 128 32 pixels resolution Ambient light sensor CPU load Analog filter Quadrature Encoder with push button
More informationInterrupt Controlled UART
AVR306 Design Note: Using the AVR UART in C Features Setup and Use the AVR UART Code Examples for Polled and Interrupt Controlled UART Compact Code C-Code Included for AT90S8515 Description This application
More informationMigrating from Keil µvision for 8051 to IAR Embedded Workbench for 8051
Migration guide Migrating from Keil µvision for 8051 to for 8051 Use this guide as a guideline when converting project files from the µvision IDE and source code written for Keil toolchains for 8051 to
More informationRSARTE External C++ Integration
RSARTE External C++ Integration Anders Ek IBM RSARTE EXTERNAL C++ INTEGRATION...1 INTRODUCTION...2 BUILD/FILE INTEGRATION...2 FILE ARTIFACTS... 2 EXTERNAL CDT PROJECTS... 4 EXTERNAL COMPONENTS... 4 FUNCTIONAL
More informationCS3215. Outline: 1. Introduction 2. C++ language features 3. C++ program organization
CS3215 C++ briefing Outline: 1. Introduction 2. C++ language features 3. C++ program organization CS3215 C++ briefing 1 C++ versus Java Java is safer and simpler than C++ C++ is faster, more powerful than
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More information1 AS5048 Demoboard. AS5048 Demoboard OPERATION MANUAL. Application Note
AS5048 Demoboard OPERATION MANUAL Application Note 1 AS5048 Demoboard The AS5048 Demoboard is a complete rotary encoder system with built-in microcontroller, USB interface and graphical LCD display. The
More informationC++ (classes) Hwansoo Han
C++ (classes) Hwansoo Han Inheritance Relation among classes shape, rectangle, triangle, circle, shape rectangle triangle circle 2 Base Class: shape Members of a class Methods : rotate(), move(), Shape(),
More informationCisco Aironet In-Building Wireless Solutions International Power Compliance Chart
Cisco Aironet In-Building Wireless Solutions International Power Compliance Chart ADDITIONAL INFORMATION It is important to Cisco Systems that its resellers comply with and recognize all applicable regulations
More informationLecture 18 Tao Wang 1
Lecture 18 Tao Wang 1 Abstract Data Types in C++ (Classes) A procedural program consists of one or more algorithms that have been written in computerreadable language Input and display of program output
More informationCompany names and product names listed in this manual are trademarks of their respective companies.
SD Memory Card The copyright of this manual is held by Photron Limited. Product specifications and manual contents can change without advanced notification. This manual was created taking every possible
More informationIAR Embedded Workbench
IAR Embedded Workbench IAR Embedded Workbench for AVR Migration Guide Migrating from version 5.x to version 6.x Mv6x_AVR-1 COPYRIGHT NOTICE Copyright 1996 2011 IAR Systems AB. No part of this document
More information8-bit Microcontroller. Application Note. AVR030: Getting Started with C for AVR
AVR030: Getting Started with C for AVR Features HowtoOpenaNewProject Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load the Executable File Into the
More informationChapter 10 Introduction to Classes
C++ for Engineers and Scientists Third Edition Chapter 10 Introduction to Classes CSc 10200! Introduction to Computing Lecture 20-21 Edgardo Molina Fall 2013 City College of New York 2 Objectives In this
More informationMotivation was to facilitate development of systems software, especially OS development.
A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.
More informationWhat is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,
More informationParallel EEPROM Die Products. Die Products. Features. Description. Testing
Features High Performance CMOS Technology Low Power Dissipation - Active and Standby Hardware and Software Data Protection Features DATA Polling for End of Write Detection High Reliability Endurance: 10
More informationHow to Link Two Project Files Using Softune Workbench
How to Link Two Project Files Using Softune Workbench Introduction 1 General description of various projects 1 Adding two Projects together 1 CASE I Linking project as a library file (lib) 2 CASE II Linking
More informationClasses and Objects. Class scope: - private members are only accessible by the class methods.
Class Declaration Classes and Objects class class-tag //data members & function members ; Information hiding in C++: Private Used to hide class member data and methods (implementation details). Public
More informationIntroduction to LIN 2.0 Connectivity Using Volcano LTP
Freescale Semiconductor White Paper LIN2VOLCANO Rev. 0, 12/2004 Introduction to LIN 2.0 Connectivity Using Volcano LTP by: Zdenek Kaspar, Jiri Kuhn 8/16-bit Systems Engineering Roznov pod Radhostem, Czech
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationMSP-EXP430F5438+PAN1315EMK Accelerometer Demo Application User s Guide
MSP-EXP430F5438+PAN1315EMK Accelerometer Demo Application User s Guide SDK v. MSP_2560_E.8.0.31.2 1 November 2010 MindTree Limited, Global Village Campus, RVCE Post, Bangalore - 560 059 www.mindtree.com
More informationCpt S 122 Data Structures. Templates
Cpt S 122 Data Structures Templates Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Introduction Function Template Function-template and function-template
More informationSub-processors engaged and authorized to process personal data of Customer in the course of provision of the Services by Syncron
Sub-processors engaged and authorized to process personal data of Customer in the course of provision of the Services by Syncron Name Address Purpose of use/services provided by Subprocessor Categories
More informationhex file. The example described in this application note is written for the AT94K using the FPSLIC Starter Kit. Creating a New Project
Getting Started with C for the Family Using the IAR Compiler Features How to Open a New Project Description of Option Settings Linker Command File Examples Writing and Compiling the C Code How to Load
More informationIAR Embedded Workbench
IAR Embedded Workbench Getting Started with IAR Embedded Workbench for Renesas Synergy GSEWSYNIDE-1 COPYRIGHT NOTICE 2016 IAR Systems AB. No part of this document may be reproduced without the prior written
More informationdesign cycle involving simulation, synthesis
HDLPlanner : Design Development Environment for HDL-based FPGA Designs Abstract Rapid prototyping of designs using FPGAs requires HDL-based design entry which leverages upon highly parameterized components
More informationCS304 Object Oriented Programming Final Term
1. Which of the following is the way to extract common behaviour and attributes from the given classes and make a separate class of those common behaviours and attributes? Generalization (pg 29) Sub-typing
More informationAtmel AVR1926: XMEGA-B1 Xplained Getting Started Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction
Atmel AVR1926: XMEGA-B1 Xplained Getting Started Guide Features Easy to reprogram with just a USB cable and a preprogrammed boot loader Easy to debug code with PDI-based debugger/emulator Can be used with
More informationPHS MoU Group. PHS MoU Document B-IF TS
PHS MoU Document Title: Public Personal Handy-phone System : General Description of Network - Network Interface Specifications for Call Control Version: 01 Date: April 21, 1997 PHS MoU Classification:
More informationDolby Vision Streams Within the MPEG-2 Transport Stream Format
Dolby Vision Streams Within the MPEG-2 Transport Stream Format Version 1.2 Corporate Headquarters Dolby Laboratories Licensing Corporation Dolby Laboratories, Inc. Dolby Laboratories Licensing Corporation
More informationGoal of lecture. Object-oriented Programming. Context of discussion. Message of lecture
Goal of lecture Object-oriented Programming Understand inadequacies of class languages like Ur- Java Extend Ur-Java so it becomes an object-oriented language Implementation in SaM heap allocation of objects
More informationFundamental Concepts and Definitions
Fundamental Concepts and Definitions Identifier / Symbol / Name These terms are synonymous: they refer to the name given to a programming component. Classes, variables, functions, and methods are the most
More informationAtmel-Synario CPLD/PLD Design Software ATDS1100PC ATDS1120PC ATDS1130PC ATDS1140PC. Features. Description
Features Comprehensive CPLD/PLD Design Environment User-friendly Microsoft Windows Interface (Win 95, Win 98, Win NT) Powerful Project Navigator Utilizes Intelligent Device Fitters for Automatic Logic
More informationAT40K FPGA IP Core AT40K-FFT. Features. Description
Features Decimation in frequency radix-2 FFT algorithm. 256-point transform. -bit fixed point arithmetic. Fixed scaling to avoid numeric overflow. Requires no external memory, i.e. uses on chip RAM and
More informationOne 32-bit counter that can be free running or generate periodic interrupts
PSoC Creator Component Datasheet Multi-Counter Watchdog (MCWDT_PDL) 1.0 Features Configures up to three counters in a multi-counter watchdog (MCWDT) block Two 16-bit counters that can be free running,
More informationAPPLICATION NOTE. Atmel AT03304: SAM D20 I 2 C Slave Bootloader SAM D20. Description. Features
APPLICATION NOTE Atmel AT03304: SAM D20 I 2 C Slave Bootloader SAM D20 Description As many electronic designs evolve rapidly there is a growing need for being able to update products, which have already
More informationA Fast Review of C Essentials Part II
A Fast Review of C Essentials Part II Structural Programming by Z. Cihan TAYSI Outline Fixed vs. Automatic duration Scope Global variables The register specifier Storage classes Dynamic memory allocation
More informationObject Oriented Modeling
Object Oriented Modeling Object oriented modeling is a method that models the characteristics of real or abstract objects from application domain using classes and objects. Objects Software objects are
More informationPCB Layout Guidelines for the MC1321x
Freescale Semiconductor Application Note Document Number: AN3149 Rev. 0.0, 03/2006 PCB Layout Guidelines for the MC1321x 1 Introduction This application note describes Printed Circuit Board (PCB) footprint
More information02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211
02 Features of C#, Part 1 Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 Module Overview Constructing Complex Types Object Interfaces and Inheritance Generics Constructing
More informationA brief introduction to C++
A brief introduction to C++ Rupert Nash r.nash@epcc.ed.ac.uk 13 June 2018 1 References Bjarne Stroustrup, Programming: Principles and Practice Using C++ (2nd Ed.). Assumes very little but it s long Bjarne
More informationAnd Even More and More C++ Fundamentals of Computer Science
And Even More and More C++ Fundamentals of Computer Science Outline C++ Classes Special Members Friendship Classes are an expanded version of data structures (structs) Like structs, the hold data members
More informationInstantiation of Template class
Class Templates Templates are like advanced macros. They are useful for building new classes that depend on already existing user defined classes or built-in types. Example: stack of int or stack of double
More informationPad Configuration and GPIO Driver for MPC5500 Martin Kaspar, EMEAGTM, Roznov Daniel McKenna, MSG Applications, East Kilbride
Freescale Semiconductor Application Note Document Number: AN2855 Rev. 0, 2/2008 Pad Configuration and GPIO Driver for MPC5500 by: Martin Kaspar, EMEAGTM, Roznov Daniel McKenna, MSG Applications, East Kilbride
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 5 Anatomy of a Class Outline Problem: How do I build and use a class? Need to understand constructors A few more tools to add to our toolbox Formatting
More informationWhy C++? C vs. C Design goals of C++ C vs. C++ - 2
Why C++? C vs. C++ - 1 Popular and relevant (used in nearly every application domain): end-user applications (Word, Excel, PowerPoint, Photoshop, Acrobat, Quicken, games) operating systems (Windows 9x,
More informationAVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction
AVR1303: Use and configuration of IR communication module Features IrDA 1.4 compatible for baud rates up to 115.2 Kbit/s Selectable transmitter pulse modulation schemes: - 3/16 of baud rate period - Fixed
More informationS1C17 Family Application Library S1C17 Series Steps Calculation Library
S1C17 Family Application Library S1C17 Series Steps Calculation Library Rev. 2.0 Evaluation board/kit and Development tool important notice 1. This evaluation board/kit or development tool is designed
More informationObject Oriented Programming in C#
Introduction to Object Oriented Programming in C# Class and Object 1 You will be able to: Objectives 1. Write a simple class definition in C#. 2. Control access to the methods and data in a class. 3. Create
More informationApplication Note Microcontrollers. C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers
C Flash Drivers for T89C51RC/RB/IC2 and AT89C51RC/RB/IC2 for Keil Compilers This application note describes C routines for Keil compiler to perform In-application Programming/Self programming according
More informationAtmel AVR ATxmega384C3 microcontroller OLED display with 128x32 pixels resolution Analog sensors. Ambient light sensor Temperature sensor
APPLICATION NOTE Atmel AVR1939: XMEGA-C3 Xplained Getting Started Guide Features Atmel AVR ATxmega384C3 microcontroller OLED display with 128x32 pixels resolution Analog sensors Ambient light sensor Temperature
More informationMC33696MODxxx Kit. 1 Overview. Freescale Semiconductor Quick Start Guide. Document Number: MC33696MODUG Rev. 0, 05/2007
Freescale Semiconductor Quick Start Guide Document Number: MC33696MODUG Rev. 0, 05/2007 MC33696MODxxx Kit by: Laurent Gauthier Toulouse, France 1 Overview This document provides introductory information
More informationC# SDK Wrapper Silicon Software Runtime
C# SDK Wrapper Silicon Software Runtime V 5.5.0 Documentation Imprint Silicon Software GmbH Steubenstraße 46 68163 Mannheim, Germany Tel.: +49 (0) 621 789507 0 Fax: +49 (0) 621 789507 10 2017 Silicon Software
More informationProgramming, numerics and optimization
Programming, numerics and optimization Lecture A-2: Programming basics II Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428 March
More informationArray Elements as Function Parameters
Arrays Class 26 Array Elements as Function Parameters we have seen that array elements are simple variables they can be used anywhere a normal variable can unsigned values [] {10, 15, 20}; unsigned quotient;
More information.NET programming interface for R&S GTSL and R&S EGTSL
Application Note 2.2016 SE001_0e.NET programming interface for R&S GTSL and R&S EGTSL Application Note Products: ı R&S CompactTSVP ı R&S PowerTSVP ı R&S GTSL ı R&S EGTSL This application note describes
More informationENERGY 211 / CME 211. Functions
ENERGY 211 / CME 211 Lecture 8 October 8, 2008 1 Functions So far, we have seen programs in which all code resides within a main function Complex programs consist of subprograms that perform particular
More informationCS Programming In C
CS 24000 - Programming In C Week Two: Basic C Program Organization and Data Types Zhiyuan Li Department of Computer Science Purdue University, USA 2 int main() { } return 0; The Simplest C Program C programs
More informationClasses. Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT).
UNITII Classes Logical method to organise data and functions in a same structure. Also known as abstract data type (ADT). It s a User Defined Data-type. The Data declared in a Class are called Data- Members
More informationEMBEDDED SYSTEMS PROGRAMMING OO Basics
EMBEDDED SYSTEMS PROGRAMMING 2014-15 OO Basics CLASS, METHOD, OBJECT... Class: abstract description of a concept Object: concrete realization of a concept. An object is an instance of a class Members Method:
More informationAddendum to Fluorolog Tau-3 Lifetime System Operation Manual
Addendum to Fluorolog Tau-3 Lifetime System Operation Manual Pockels-cell power supplies http://www.jobinyvon.com (All HORIBA Jobin Yvon companies were formerly known as Jobin Yvon) USA: HORIBA Jobin Yvon
More informationCST141 Thinking in Objects Page 1
CST141 Thinking in Objects Page 1 1 2 3 4 5 6 7 8 Object-Oriented Thinking CST141 Class Abstraction and Encapsulation Class abstraction is the separation of class implementation from class use It is not
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationQUIZ. What is wrong with this code that uses default arguments?
QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code
More informationColdFire Convert 1.0 Users Manual by: Ernest Holloway
Freescale Semiconductor CFCONVERTUG Users Guide Rev.0, 09/2006 ColdFire Convert 1.0 Users Manual by: Ernest Holloway The ColdFire Convert 1.0 (CF) is a free engineering tool developed to generate data
More informationAPPLICATION NOTE. Atmel AT02260: Driving AT42QT1085. Atmel QTouch. Features. Description
APPLICATION NOTE Atmel AT02260: Driving AT42QT1085 Atmel QTouch Features Overview of Atmel AT42QT1085 Circuit configuration with Host MCU SPI communication Demonstration program Description This application
More informationRENESAS TOOL NEWS [Notes] CS+ Code Generator for RL78 (CS+ for CC) CS+ Code Generator for RL78 (CS+ for CA and CX) e 2 studio (Code Generator Plug-in)
[Notes] CS+ Code Generator for RL78 (CS+ for CC) CS+ Code Generator for RL78 (CS+ for CA and CX) e 2 studio (Code Generator Plug-in) R20TS0038EJ0100 Rev.1.00 Outline When using the CS+ Code Generator for
More informationE. Rescorla. <draft-ietf-smime-x txt> October 1998 (Expires April 1999) Diffie-Hellman Key Agreement Method. Status of this Memo
HTTP/1.1 200 OK Date: Tue, 09 Apr 2002 08:11:59 GMT Server: Apache/1.3.20 (Unix) Last-Modified: Wed, 28 Oct 1998 17:41:00 GMT ETag: "323a37-3a03-3637572c" Accept-Ranges: bytes Content-Length: 14851 Connection:
More informationPHOTRON LIMITED bears no responsibility for the results of using the product or from following the instructions in this manual.
The copyright of this manual is held by PHOTRON LIMITED. Product specifications and manual contents can change without advanced notification. This manual was created taking every possible measure to ensure
More informationSTSW-BNRGUI. BlueNRG GUI SW package. Data brief. Features. Description
Data brief BlueNRG GUI SW package Features Product status link STSW-BNRGUI Graphical user interface (GUI) PC application GUI tools: Load history Save history (csv file) Save history as text (txt file)
More informationHoltek C and ANSI C Feature Comparison User s Guide
Holtek C and ANSI C Feature Comparison User s Guide July 2009 Copyright 2009 by HOLTEK SEMICONDUCTOR INC. All rights reserved. Printed in Taiwan. No part of this publication may be reproduced, stored in
More informationUsing the Multi-Axis g-select Evaluation Boards
Freescale Semiconductor Application Note Rev 2, 10/2006 Using the Multi-Axis g-select Evaluation Boards by: Michelle Clifford and John Young Applications Engineers Tempe, AZ INTRODUCTION This application
More information10. Object-oriented Programming. 7. Juli 2011
7. Juli 2011 Einführung in die Programmierung Introduction to C/C++, Tobias Weinzierl page 1 of 47 Outline Object Case Study Brain Teaser Copy Constructor & Operators Object-oriented Programming, i.e.
More informationAndroid AMP SDK v6. Migration Guide: From v5 to v6. Updated: 18-Apr-16
Android AMP SDK v6 Migration Guide: From v5 to v6 Updated: 18-Apr-16 amp-sdk-support@akamai.com TABLE OF CONTENTS 1) Playing a stream 3 2) Play a stream at a specified position (in seconds) 4 3) Getting
More information8-megabyte, 4-megabyte, and 2-megabyte 2.7-volt Only DataFlash Cards AT45DCB008D AT45DCB004D AT45DCB002D. Not Recommended for New Design
Features MultiMediaCard (MMC) Form Factor Single 2.7V to 3.6V Supply 66 MHz Max Clock Frequency Serial Peripheral Interface (SPI) Compatible Low Power Dissipation 10 ma Active Read Current Typical 25 µa
More informationAbstract 1. Introduction
Jaguar: A Distributed Computing Environment Based on Java Sheng-De Wang and Wei-Shen Wang Department of Electrical Engineering National Taiwan University Taipei, Taiwan Abstract As the development of network
More information