Animation metrics sample
Shows how to use the Animation Metrics APIs. The sample shows the metrics involved in the following scenarios:
- Adding an item to a list
- Bringing a new page on the screen
**Note** The Universal Windows app samples require Visual Studio to build and Windows 10 to execute.
## Build and run the sample
Application data sample
Shows how to store and retrieve data that is specific to each user and app by using the Windows Runtime application data APIs .
Application data includes session state, user preferences, and other settings. It is created, read, updated, and deleted when the app is running.
## Build and run the sample
1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
2. Start Microsoft Visual Studio and select **File** \> **Open** \> **Project/Solution**.
3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
Appointment calendar sample
Shows how to use the Windows.ApplicationModel.Appointments namespace.
## Build the sample
1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
2. Start Microsoft Visual Studio and select **File** \> **Open** \> **Project/Solution**.
3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
4. Press Ctrl+Shift+B, or select **Build** \> **Build Solution**.
## Run the sample
The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.
Association launching sample
Shows how to launch an app to handle a file type or a protocol (also known as custom scheme).
## Build the sample
1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
2. Start Microsoft Visual Studio and select **File** \> **Open** \> **Project/Solution**.
3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
4. Press Ctrl+Shift+B, or select **Build** \> **Build Solution**.
## Run the sample
The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.
AppWindow sample
This sample shows you how to work with secondary windows in your app.
AppWindows are secondary windows that run on the same thread as the CoreWindow, and they share the same core dispatcher.
## Build the sample
1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
2. Start Microsoft Visual Studio and select **File** \> **Open** \> **Project/Solution**.
3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
4. Press Ctrl+Shift+B, or select **Build** \> **Build Solution**.
## Run the sample
The next steps depend o
Application resources and localization sample
Shows how to use application resources to separate localizable content from app code.
## Build the sample
1. If you download the samples ZIP, be sure to unzip the entire archive, not just the folder with the sample you want to build.
2. Start Microsoft Visual Studio and select **File** \> **Open** \> **Project/Solution**.
3. Starting in the folder where you unzipped the samples, go to the Samples subfolder, then the subfolder for this specific sample, then the subfolder for your preferred language (C++, C#, or JavaScript). Double-click the Visual Studio Solution (.sln) file.
4. Press Ctrl+Shift+B, or select **Build** \> **Build Solution**.
## Run the sample
The next steps depend on whether you just want to deploy the sample or you want to both deploy and run it.
3DPrinting.7z
Shows several tasks for 3D printing and editing the 3MF file type.
Specifically, this sample shows how to:
- Create a 3MF printing package programmatically
- Create a .3mf file from XML data
- Load a 3MF printing package from a .3mf file
- Repair a model to make it printable
- Save a 3MF printing package to a .3mf file
- Launch the 3D print dialog
- Open a file in the 3D Builder app
3D Printing from Unity sample
Shows how to load a Unity 3D asset into the Windows 10 3D print dialog.
From there, the user can repair the model, make simple modifications,
and send it to a local 3D printer or an online 3D print service.
# Create the sample
We provide only the scripts Print3D.cs and Turn.cs.
You will create the scene and the model (fbx model, material, and texture)
yourself.
1. Start Unity and create a new 3D project.
2. Import an asset from the
[Unity store](https://www.assetstore.unity3d.com/en/ "Unity Store").
For this sample, we will use [Cartoon crucian carp](https://www.assetstore.unity3d.com/en/#!/content/46132 "Fish").
3. Create an empty GameObject and drag the FBX asset from the All Models folder
into the newly-created GameObject.
4. In the Assets\nnj3de_cruscarp folder of ...
360-degree Video Playback sample
Shows how to play 360-degree video.
The sample uses the MediaPlayer class for 360-degree playback.
For flat devices (PC, Xbox, Mobile) the MediaPlayer handles all aspects of the rendering.
The developer need only provide the look direction.
For Mixed Reality, this sample shows how to use
the MediaPlayer to obtain individual video frames, and render them to a head-mounted display.
Specifically, this samples covers:
- Creating a hybrid application which works across flat devices (PC, Xbox, Mobile) and Mixed Reality devices (MR headset, Hololens).
- Handling various forms of user input including mouse, keyboard and gamepad.
- Selecting the playback mode (flat or immersive) based on the environment the app is running in.
- Creating multiple windows ...
Accelerometer sample
Shows how to use the [Accelerometer](http://msdn.microsoft.com/library/windows/apps/br225687) class, and allows the user to view the acceleration forces along the X-, Y-, and Z-axes for a 3-axis accelerometer.
The sample asks you to choose an accelerometer.
- The standard accelerometer reports total acceleration.
- The linear accelerometer reports acceleration due to motion.
- The gravity accelerometer reports acceleration due to gravity.
After choosing your accelerometer, you can choose one of these scenarios:
- Accelerometer data events
- Accelerometer shake events
- Poll accelerometer readings
- Accelerometer orientation changed
- Accelerometer data events batching
Activity detection sensor sample
Shows how to use the [ActivitySensor](https://msdn.microsoft.com/library/windows/apps/windows.devices.sensors.activitysensor.aspx)
class to interact with the activity detection functionality on the system.
You can choose one of four scenarios:
- Current activity
- History
- Events
- Background activity
### Current activity
Gets the default activity sensor and displays the current activity.
### History
Gets the activity history from at most 1 day ago. Displays the first entry, last entry, and count of entries.
### Events
Subscribes to reading changed events and displays the updated activity reading.
...
Adaptive streaming sample
Shows various features of the AdaptiveMediaSource object, used in conjunction with MediaSource, MediaPlaybackItem, MediaPlayer and MediaPlayerElement.
This sample demonstrates the following:
**Using a simple adaptive streaming URI**
**Registering event handlers**
**Modify network calls made by the AdaptiveMediaSource**
...
Advanced casting sample
Shows how to use the **Windows.Media.Casting** and **Windows.Media.DialProtocol** namespaces.
Also shows how to use the **Windows.UI.ViewManagement.ProjectionManager** and **Windows.Devices.Enumeration.DevicePicker** APIs
to render media on a remote device. It covers sending media to various devices: Miracast, DLNA, DIAL, and Bluetooth.
Altimeter sample
Shows how to use the Altimeter class.
This sample allows the user to view the change in altitude reading as a value in meters. You can choose one of two scenarios:
- Altimeter Data Events
- Polling Altimeter Readings
### Altimeter Data Events
When you choose the **Enable** button for the **Data Events** option, the app will begin streaming Altimeter readings in real time.
### Polling Altimeter Readings
When you choose the **Get Data** button for the **Polling** option, the app will retrieve the current sensor readings.
Audio categories sample
Shows how to create apps that use various audio categories.
AudioGraph sample
Shows how to use the **Windows.Media.Audio** namespace to create audio graphs for audio routing, mixing, and processing scenarios. This sample demonstrates several common scenarios for routing and processing audio with an audio graph:
**Scenario 1: File Playback:**
**Scenario 2: Device Capture:**
**Scenario 3: Frame Input Node:**
**Scenario 4: Submix Nodes:**
**Scenario 5: In-box Effects:**
**Scenario 6: Custom Effects:**
C++开发基于Code::Blocks的跨平台应用程序开发:项目构建、调试与GUI快速开发全流程设计
内容概要:本书《使用Code::Blocks进行C++应用开发》是一本简洁实用的指南,旨在帮助开发者快速掌握使用Code::Blocks集成开发环境进行C++应用程序开发的核心技能。书中详细介绍了Code::Blocks的安装、项目创建、多文件管理、外部库集成、调试技术(包括单应用与多应用调试)、Windows平台GUI开发以及使用wxWidgets工具包和wxSmith插件进行跨平台快速应用开发的方法。此外,还涵盖了工作区管理、编译目标配置、Unicode支持、事件驱动编程模型及高级功能如脚本化、文档生成和代码片段管理等内容。;
适合人群:具备C/C++编程基础的开发者,特别是希望提升实际项目开发能力并熟悉现代IDE工具使用的初、中级程序员。;
使用场景及目标:① 学习如何利用Code::Blocks高效构建控制台和图形界面应用程序;② 掌握C++项目结构设计、调试技巧及跨平台GUI开发流程;③ 理解并实践大型项目中的模块化管理和多项目协同调试;④ 利用wxSmith实现可视化快速开发,提高开发效率。;
阅读建议:建议读者在学习过程中结合书中的示例代码动手实践,逐步完成从简单到复杂的项目构建,并充分利用Code::Blocks提供的调试和自动化工具来加深对C++应用开发全流程的理解。
deep learning
• Chapter 1 : Introduction
• Chapter 2 : Linear Algebra
• Chapter 3 : Probability and Information Theory
• Chapter 4 : Numerical Computation
• Chapter 5 : Machine Learning Basics
• Chapter 6 : Deep Feedforward Networks
• Chapter 7 : Regularization for Deep Learning
• Chapter 8 : Optimization for Training Deep Models
• Chapter 9 : Convolutional Networks
• Chapter 10 : Sequence Modeling: Recurrent and Recursive Nets
• Chapter 11 : Practical methodology
• Chapter 12 : Applications
• Chapter 13 : Linear Factor Models
• Chapter 14 : Autoencoders
• Chapter 15 : Representation Learning
• Chapter 16 : Structured Probabilistic Models for Deep Learning
• Chapter 17 : Monte Carlo Methods
• Chapter 18 : Confronting the Partition Function
• Chapter 19 : Approximate Inference
• Chapter 20 : Deep Generative Models
Spartan-6 FPGA Configuration user guide
Spartan-6 FPGA Configuration user guide
GNU ARM Assembler Quick Reference.pdf
A summary of useful commands and expressions for the ARM architecture using the GNU assembler is presented briefly in the concluding portion of this Appendix.
GNU Assembler Directives for ARM
The follow is an alphabetical listing of the more command GNU assembler directives.
Machine Dependent Directives
.arm Assemble using arm mode
.thumb Assemble using thumb mode
.code16 Assemble using thumb mode
.code32 Assemble using arm mode
.force_thumb Force thumb mode (even if not supported)
.thumb_func Mark entry point as thumb coded (force bx entry)
.ltorg Start a new literal pool
Assembler Special Characters / Syntax
Register Names
Arm Procedure Call Standard (APCS) Conventions
Addressing Modes
Machine Dependent Directives
Opcodes
Handbook of Data Compression, Fifth Edition
1 Basic Techniques
2 Basic VL Codes
3 Advanced VL Codes
4 Robust VL Codes
5 Statistical Methods
6 Dictionary Methods
7 Image Compression
8 Wavelet Methods
9 Video Compression
10 Audio Compression
11 Other Methods
Signal Integrity - Simplified(Eric Bogatin).pdf
Publisher: Prentice Hall PTR
Pub Date: September 15, 2003
ISBN: 0-13-066946-6
Pages: 608
Section 2.7. The Spectrum of an Ideal Square Wave
Section 2.8. From the Frequency Domain to the Time Domain
Section 2.9. Effect of Bandwidth on Rise Time
Section 2.10. Bandwidth and Rise Time
Section 2.11. What Does "Significant" Mean?
Section 2.12. Bandwidth of Real Signals
Section 2.13. Bandwidth and Clock Frequency
Section 2.14. Bandwidth of a Measurement
Section 2.15. Bandwidth of a Model
Section 2.16. Bandwidth of an Interconnect
Section 2.17. Bottom Line
Chapter 3. Impedance and Electrical Models
Section 3.1. Describing Signal-Integrity Solutions in Terms of Impedance
Section 3.2. What Is Impedance?
Section 3.3. Real vs. Ideal Circuit Elements
Section 3.4. Impedance of an Ideal Resistor in the Time Domain
Section 3.5. Impedance of an Ideal Capacitor in the Time Domain
Section 3.6. Impedance of an Ideal Inductor in the Time Domain
Section 3.7. Impedance in the Frequency Domain
Section 3.8. Equivalent Electrical Circuit Models
Section 3.9. Circuit Theory and SPICE
Section 3.10. Introduction to Modeling
Section 3.11. The Bottom Line
Chapter 4. The Physical Basis of Resistance
Section 4.1. Translating Physical Design into Electrical Performance
Section 4.2. The Only Good Approximation for the Resistance of Interconnects
Section 4.3. Bulk Resistivity
Section 4.4. Resistance per Length
Section 4.5. Sheet Resistance
Section 4.6. The Bottom Line
Chapter 5. The Physical Basis of Capacitance
Section 5.1. Current Flow in Capacitors
Section 5.2. The Capacitance of a Sphere
Section 5.3. Parallel Plate Approximation
Section 5.4. Dielectric Constant
Section 5.5. Power and Ground Planes and Decoupling Capacitance
Section 5.6. Capacitance per Length
Section 5.7. 2D Field Solvers
Section 5.8. Effective Dielectric Constant
Section 5.9. The Bottom Line
Chapter 6. The Physical Basis of Inductance
Section 6.1. What Is Inductance?
Section 6.2. Inductance Principle #1: There Are Circular Magnetic-Field Line Loops Around All Currents
Section 6.3. Inductance Principle #2: Inductance Is the Number of Webers of Field Line Loops Around a Conductor per Amp of Current Through It
Section 6.4. Self-Inductance and Mutual Inductance
Section 6.5. Inductance Principle #3: When the Number of Field Line Loops Around a Conductor Changes, There Will Be a Voltage Induced Across the Ends of the Conductor
Section 6.6. Partial Inductance
Section 6.7. Effective, Total, or Net Inductance and Ground Bounce
Section 6.8. Loop Self- and Mutual Inductance
Section 6.9. The Power-Distribution System (PDS) and Loop Inductance
Section 6.10. Loop Inductance per Square of Planes
Section 6.11. Loop Inductance of Planes and Via Contacts
Section 6.12. Loop Inductance of Planes with a Field of Clearance Holes
Section 6.13. Loop Mutual Inductance
Section 6.14. Equivalent Inductance
Section 6.15. Summary of Inductance
Section 6.16. Current Distributions and Skin Depth
Section 6.17. High-Permeability Materials
Section 6.18. Eddy Currents
Section 6.19. The Bottom Line
Chapter 7. The Physical Basis of Transmission Lines
Section 7.1. Forget the Word Ground
Section 7.2. The Signal
Section 7.3. Uniform Transmission Lines
Section 7.4. The Speed of Electrons in Copper
Section 7.5. The Speed of a Signal in a Transmission Line
Section 7.6. Spatial Extent of the Leading Edge
Section 7.7. "Be the Signal"
Section 7.8. The Instantaneous Impedance of a Transmission Line
Section 7.9. Characteristic Impedance and Controlled Impedance
Section 7.10. Famous Characteristic Impedances
Section 7.11. The Impedance of a Transmission Line
Section 7.12. Driving a Transmission Line
Section 7.13. Return Paths
Section 7.14. When Return Paths Switch Reference Planes
Section 7.15. A First-Order Model of a Transmission Line
Section 7.16. Calculating Characteristic Impedance with Approximations
Section 7.17. Calculating the Characteristic Impedance with a 2D Field Solver
Section 7.18. An n-Section Lumped Circuit Model
Section 7.19. Frequency Variation of the Characteristic Impedance
Section 7.20. The Bottom Line
Chapter 8. Transmission Lines and Reflections
Section 8.1. Reflections at Impedance Changes
Section 8.2. Why Are There Reflections?
Section 8.3. Reflections from Resistive Loads
Section 8.4. Source Impedance
Section 8.5. Bounce Diagrams
Section 8.6. Simulating Reflected Waveforms
Section 8.7. Measuring Reflections with a TDR
Section 8.8. Transmission Lines and Unintentional Discontinuities
Section 8.9. When to Terminate
Section 8.10. The Most Common Termination Strategy for Point-to-Point Topology
Section 8.11. Reflections from Short Series Transmission Lines
Section 8.12. Reflections from Short-Stub Transmission Lines
Section 8.13. Reflections from Capacitive End Terminations
Section 8.14. Reflections from Capacitive Loads in the Middle of a Trace
Section 8.15. Capacitive Delay Adders
Section 8.16. Effects of Corners and Vias
Section 8.17. Loaded Lines
Section 8.18. Reflections from Inductive Discontinuities
Section 8.19. Compensation
Section 8.20. The Bottom Line
Chapter 9. Lossy Lines, Rise-Time Degradation, and Material Properties
Section 9.1. Why Worry About Lossy Lines
Section 9.2. Losses in Transmission Lines
Section 9.3. Sources of Loss: Conductor Resistance and Skin Depth
Section 9.4. Sources of Loss: The Dielectric
Section 9.5. Dissipation Factor
Section 9.6. The Real Meaning of Dissipation Factor
Section 9.7. Modeling Lossy Transmission Lines
Section 9.8. Characteristic Impedance of a Lossy Transmission Line
Section 9.9. Signal Velocity in a Lossy Transmission Line
Section 9.10. Attenuation and the dB
Section 9.11. Attenuation in Lossy Lines
Section 9.12. Measured Properties of a Lossy Line in the Frequency Domain
Section 9.13. The Bandwidth of an Interconnect
Section 9.14. Time-Domain Behavior of Lossy Lines
Section 9.15. Improving the Eye Diagram of a Transmission Line
Section 9.16. Pre-emphasis and Equalization
Section 9.17. The Bottom Line
Chapter 10. Cross Talk in Transmission Lines
Section 10.1. Superposition
Section 10.2. Origin of Coupling: Capacitance and Inductance
Section 10.3. Cross Talk in Transmission Lines: NEXT and FEXT
Section 10.4. Describing Cross Talk
Section 10.5. The SPICE Capacitance Matrix
Section 10.6. The Maxwell Capacitance Matrix and 2D Field Solvers
Section 10.7. The Inductance Matrix
Section 10.8. Cross Talk in Uniform Transmission Lines and Saturation Length
Section 10.9. Capacitively Coupled Currents
Section 10.10. Inductively Coupled Currents
Section 10.11. Near-End Cross Talk
Section 10.12. Far-End Cross Talk
Section 10.13. Decreasing Far-End Cross Talk
Section 10.14. Simulating Cross Talk
Section 10.15. Guard Traces
Section 10.16. Cross Talk and Dielectric Constant
Section 10.17. Cross Talk and Timing
Section 10.18. Switching Noise
Section 10.19. Summary of Reducing Cross Talk
Section 10.20. The Bottom Line
Chapter 11. Differential Pairs and Differential Impedance
Section 11.1. Differential Signaling
Section 11.2. A Differential Pair
Section 11.3. Differential Impedance with No Coupling
Section 11.4. The Impact from Coupling
Section 11.5. Calculating Differential Impedance
Section 11.6. The Return-Current Distribution in a Differential Pair
Section 11.7. Odd and Even Modes
Section 11.8. Differential Impedance and Odd-Mode Impedance
Section 11.9. Common Impedance and Even-Mode Impedance
Section 11.10. Differential and Common Signals and Odd- and Even-Mode Voltage Components
Section 11.11. Velocity of Each Mode and Far-End Cross Talk
Section 11.12. Ideal Coupled Transmission-Line Model or an Ideal Differential Pair
Section 11.13. Measuring Even- and Odd-Mode Impedance
Section 11.14. Terminating Differential and Common Signals
Section 11.15. Conversion of Differential to Common Signals
Section 11.16. EMI and Common Signals
Section 11.17. Cross Talk in Differential Pairs
Section 11.18. Crossing a Gap in the Return Path
Section 11.19. To Tightly Couple or Not to Tightly Couple
Section 11.20. Calculating Odd and Even Modes from Capacitance- and Inductance-Matrix Elements
Section 11.21. The Characteristic Impedance Matrix
Section 11.22. The Bottom Line
Appendix A. 100 General Design Guidelines to Minimize Signal-Integrity Problems
Section A.1. Minimize Signal-Quality Problems on One Net
Section A.2. Minimize Cross Talk
Section A.3. Minimize Rail Collapse
Section A.4. Minimize EMI
Appendix B. 100 Collected Rules of Thumb to Help Estimate Signal-Integrity Effects
Section B.1. Chapter 2
Section B.2. Chapter 3
Section B.3. Chapter 4
Section B.4. Chapter 5
Section B.5. Chapter 6
Section B.6. Chapter 7
Section B.7. Chapter 8
Section B.8. Chapter 9
Section B.9. Chapter 10
Section B.10. Chapter 11
Appendix C. Selected References
About the Author
cadence user's guide
英文版书籍的内容,你懂的
高清,pdf
真正做到Cadence精通,从这里开始:
OrCAD Capture User’s Guide
目录
Before you begin
1. Basic elements of Capture design
2. Opening a project
3. Opening and developing part libraries
4. Working with designs
5. Placing parts and pins
6. Establishing connectivity
7. Editing the design
8. Assigning properties
9. Functional simulation
10. Synthesis and place-and-route
11. Timing simulation
12. Board-level simulation.
13. Generating output
14. Using Capture with PCB Editor
15. Designing for other EDA applications
16. Saving and archiving
17. Project manager command reference
18. Schematic page editor and part editor command reference
19. Session log command reference
20. Dialog box descriptions
21. Window descriptions
22. Toolbar and tool palette descriptions
史上最全的PCB封装命名规范
1.常用电子元件封装介绍
2.常用封装尺寸
3.各种IC封装含义及区别
4.各种IC封装形式图片
5.SMT常见贴片元器件封装类型识别
6.OrCAD/protel封装名参考
7.OrCAD/Protel封装库名称查询表
Essential Linux Device Drivers
Essential Linux Device Drivers,linux设备驱动,经典书籍
4FSK调制解调.rar
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>初始化数据>>>>>>>>>>>>>>>>>>>>>
%---------------------------------------------------
clc,clear,close all;
fs = 30000;
Time_Hold_On = 0.1;
Num_Unit = fs * Time_Hold_On;
one_Level = zeros ( 1, Num_Unit );
two_Level = ones ( 1, Num_Unit );
three_Level = 2*ones ( 1, Num_Unit );
four_Level = 3*ones ( 1, Num_Unit );
A = 1; % the default ampilitude is 1
w1 = 300; %初始化载波频率
w2 = 600;
w3=900;
w4=1200;
%---------------------------------------------------
%>>>>>>>>>>>>>>>>>>串并转换>>>>>>>>>>>>>>>
%---------------------------------------------------
北斗产业现状与发展前景PPT.rar
北斗产业依托移动通信、汽车制造和互联网等大产业,能快速做大做强,实现跨越式发展; 北斗产业具有广泛的产业关联度和工具开拓型功能特征,是改造一系列传统产业的利器,是实现多种多样产业向服务型结构转型的重要途径;卫星导航能够推进科技创新,实现新系统、新技术、新应用和新服务,带动新兴的科技和产业集群的发展。
Beginning LoRa Radio Networks with Arduino
Chapter 1: Introduction to LoRa and LoRaWAN
Chapter 2: Obtaining and Preparing Hardware
Chapter 3: Setting Up the Software Development Environment
Chapter 4: Building a Peer-to-Peer Channel
Chapter 5: Building a LoRa Gateway
Chapter 6: Connecting with IoT Servers Using a RESTful API
Chapter 7: Connecting with IoT Servers Using MQTT
Chapter 8: GPS Tracking
Appendix A: LoRaWAN Channel Plans
Modelsim 10.1c SE crack x64
下载文件内含破解说明
Modelsim 10.1c SE crack x64
PSpice_Users_Guide
电路板 原理图仿真教程
英文版 pdf 高清
Cadence电路仿真精通必备
CCleaner V4.1
国外优秀软件
CCleaner is the number-one tool for cleaning your Windows PC. It protects your privacy online and makes your computer faster and more secure. Easy to use and a small, fast download.