advertisement
Copyright, Confidentiality and Disclaimer Statements.
While the information in this publication is believed to be accurate, Ellisys makes no warranty of any kind to this material including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Ellisys shall not be liable for any errors contained herein, or for incidental or consequential damages in connection with the furnishing, performance or use of this material.
No part of this publication may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, photocopying, recording or otherwise, without prior written consent of Ellisys. No third party intellectual property right liability is assumed with respect to the use of the information contained herein. Ellisys assumes no responsibility for errors or omissions contained in this book. This publication and features described herein are subject to change without notice.
Copyright (C) Ellisys 2007. All rights reserved.
All products or services mentioned in this manual are covered by trademarks, service marks, or product names as designated by the companies who market those products.
This manual is populated throughout with screens captured from a specific version of Ellisys WiMedia Explorer 300 software. All the information contained in the screens are samples and serve as instructional purposes only.
Document Revision History
Date
2006-06-16
2007-01-10
2007-12-12
Revision
1.0
2.0
2.8
Changes
Initial release.
Major edits to all chapters.
New design. Major edits to all chapters.
Ellisys Contact Details
Ellisys
Chemin du Grand-Puits 38
CH-1217 Meyrin Geneva
Switzerland
Phone:
Fax:
Email:
Web:
+41 22 777 77 89
+41 22 777 77 90 [email protected]
http://www.ellisys.com
CONDITIONS OF USE AND LIMITED
WARRANTY TERMS
These conditions and terms are deemed to be accepted by the customer at the time the product is purchased, leased, lent or used, whether or not acknowledged in writing.
Conditions of Use
The customer is only authorized to use the product for its own activities, whether professional or private. Thus, the customer is, in particular, forbidden to resell, lease or lend the product to any third party. In addition, the customer has, in particular, no right to disassembly, modify, copy, reverse engineer, create derivative works from or otherwise reduce or alter the product. The product may also not be used in any improper way.
Limited Warranty Coverage
Ellisys warrants to the original customer of its products that its products are free from defects in material and workmanship for the warranty period. Subject to the conditions and limitations set forth below, Ellisys will, at its option, either repair or replace any part of its products that prove defective by reason of improper workmanship or materials. Repaired parts or replacement products will be provided by Ellisys on an exchange basis, and will be either new or refurbished to be functionally equivalent to new. If Ellisys is unable to repair or replace the product, it will refund the current value of the product at the time the warranty claim is made. In no event shall Ellisys' liability exceed the original purchase price of product.
Excluded Products and Problems
This limited warranty does not cover any damage to this product that results from improper installation, accident, abuse, misuse, natural disaster, insufficient or excessive electrical supply, abnormal mechanical or environmental conditions, or any unauthorized disassembly, repair, or modification. This limited warranty also does not apply to any product on which the original identification information has been altered, obliterated or removed, has not been handled or packaged correctly, or has been sold as second-hand. This limited warranty only applies to the original customer of the product for so long as the original customer owns the product. This limited warranty is non-transferable.
This limited warranty covers only repair, replacement or refund for defective Ellisys products, as provided above. Ellisys is not liable for, and does not cover under warranty, any loss of data or any costs associated with determining the source of system problems or removing, servicing or installing Ellisys products.
Obtaining Warranty Service
To obtain warranty service, you may return a defective product to the authorized Ellisys dealer or distributor from which you purchased the Ellisys product. Please confirm the terms of your dealer's or distributor's return policies prior to returning the product. Typically, you must include product identification information, including model number and serial number with a detailed description of the problem you are experiencing. You must also include proof of the date of original retail purchase as evidence that the product is within the applicable warranty period.
The returned product will become the property of Ellisys. Repaired or replacement product will be shipped at Ellisys' expense. Repaired or replacement product will continue to be covered by this limited warranty for the remainder of the original warranty or 90 days, whichever is longer.
3
4
Limitations
THE FOREGOING IS THE COMPLETE WARRANTY FOR ELLISYS PRODUCTS AND SUPERSEDES
ALL OTHER WARRANTIES AND REPRESENTATIONS, WHETHER ORAL OR WRITTEN. EXCEPT
AS EXPRESSLY SET FORTH ABOVE, NO OTHER WARRANTIES ARE MADE WITH RESPECT TO
ELLISYS PRODUCTS AND ELLISYS EXPRESSLY DISCLAIMS ALL WARRANTIES NOT STATED
HEREIN, INCLUDING, TO THE EXTENT PERMITTED BY APPLICABLE LAW, ANY WARRANTY
THAT MAY EXIST UNDER NATIONAL, STATE, PROVINCIAL OR LOCAL LAW INCLUDING BUT
NOT LIMITED TO ANY IMPLIED WARRANTY OF NON-INFRINGEMENT, MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED,
ARE LIMITED TO THE PERIODS OF TIME SET FORTH ABOVE. SOME STATES OR OTHER
JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR
LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY LASTS, SO THE ABOVE LIMITATIONS
MAY NOT APPLY TO YOU.
ELLISYS PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE
SUPPORT EQUIPMENT OR FOR APPLICATIONS IN WHICH THE FAILURE OR MALFUNCTION OF
THE PRODUCTS WOULD CREATE A SITUATION IN WHICH PERSONAL INJURY OR DEATH IS
LIKELY TO OCCUR. ELLISYS SHALL NOT BE LIABLE FOR THE DEATH OF ANY PERSON OR ANY
LOSS, INJURY OR DAMAGE TO PERSONS OR PROPERTY BY USE OF PRODUCTS USED IN
APPLICATIONS INCLUDING, BUT NOT LIMITED TO, MILITARY OR MILITARY-RELATED
EQUIPMENT, TRAFFIC CONTROL EQUIPMENT, DISASTER PREVENTION SYSTEMS AND
MEDICAL OR MEDICAL-RELATED EQUIPMENT.
ELLISYS' TOTAL LIABILITY UNDER THIS OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED,
IS LIMITED TO REPAIR, REPLACEMENT OR REFUND. REPAIR, REPLACEMENT OR REFUND
ARE THE SOLE AND EXCLUSIVE REMEDIES FOR BREACH OF WARRANTY OR ANY OTHER
LEGAL THEORY. TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, ELLISYS SHALL
NOT BE LIABLE TO THE CUSTOMER OF AN ELLISYS PRODUCT FOR ANY DAMAGES,
EXPENSES, LOST DATA, LOST REVENUES, LOST SAVINGS, LOST PROFITS, OR ANY OTHER
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM THE PURCHASE, USE OR
INABILITY TO USE THE ELLISYS PRODUCT, EVEN IF ELLISYS HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. SOME STATES OR OTHER JURISDICTIONS DO NOT
ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES,
SO THE ABOVE LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU.
Severability
If any provision or any portion of any provision contained in these terms is held to be invalid, illegal or unenforceable by a court of competent jurisdiction, then the remaining provisions, and if a portion of any provision is unenforceable, then the remaining portion of such provision shall, nevertheless, remain in full force and effect. The parties undertake to negotiate in good faith with a view to replace such invalid, illegal or unenforceable provision or part thereof with another provision not so invalid, illegal or unenforceable with the same or similar effect, and further agree to be bound by the mutually agreed substitute provision.
Warranty Period
The warranty begins on the date of purchase and covers a period of two (2) years.
Governing Law
These conditions and terms shall be governed by and construed in accordance with the law of Switzerland.
Jurisdiction; Venue
The parties consent to the exclusive personal jurisdiction of, and venue in, the District Court of Geneva, Switzerland.
Table of Contents
About this Manual ................................................................... 7
1 Ellisys WiMedia Explorer 300 Generator Overview ................ 9
1.1 Product Overview............................................................. 9
1.2 Main Features ................................................................. 9
2 Installing the Ellisys WiMedia Explorer 300 ........................ 11
2.1 Software Prerequisites.....................................................11
2.2 Installing Software..........................................................12
2.3 Front Panel Overview ......................................................18
2.4 Back Panel Overview .......................................................19
2.5 Mounting the External Antenna .........................................19
2.6 Connecting to the Computer.............................................20
2.7 Placing the WiMedia Explorer 300......................................25
3 User Interface Reference .................................................... 27
3.1 Organizing Panes ............................................................28
3.2 Main Toolbar ..................................................................29
3.3 Main Menu .....................................................................31
3.4 Opening a File ................................................................35
3.5 Saving a File ..................................................................35
3.6 Printing a File .................................................................36
3.7 Editing a Script...............................................................37
3.8 Advanced Editing Features ...............................................38
3.9 Searching ......................................................................39
3.10 Working with Bookmarks................................................42
3.11 Working with Breakpoints...............................................43
3.12 Compiling a Script.........................................................44
3.13 Running a Script ...........................................................45
3.14 Working with Registers ..................................................47
4 Language Reference............................................................ 49
4.1 Comments .....................................................................49
4.2 Include Files...................................................................49
4.3 Constants Declaration .....................................................50
4.4 Variables Declaration.......................................................50
4.5 Functions Declaration ......................................................51
4.6 Function Calls.................................................................52
4.7 Enumerations Declarations...............................................53
4.8 Namespaces Declarations ................................................54
4.9 Buffer Usage ..................................................................55
4.10 Counters......................................................................55
4.11 Timers.........................................................................55
4.12 Stop Keyword...............................................................57
4.13 Breakpoint Keyword ......................................................57
4.14 If Statement.................................................................57
4.15 Switch Statement..........................................................58
4.16 Repeat Statement .........................................................59
4.17 While Statement ...........................................................59
5
6
4.18 Do While Statement ...................................................... 60
4.19 For Statement.............................................................. 60
4.20 Mathematical expressions .............................................. 61
4.21 Conditional expressions ................................................. 63
5 Instruction Set Reference....................................................65
5.1 Sleep Instruction............................................................ 65
5.2 StartCountdown Instruction ............................................. 66
5.3 WaitCountdownReached Instruction .................................. 67
5.4 StartTimer Instruction..................................................... 68
5.5 StopTimer Instruction ..................................................... 69
5.6 WaitTimer Instruction ..................................................... 69
5.7 CopyMemory Instruction ................................................. 71
5.8 CompareMemory Instruction ............................................ 73
5.9 WaitButtonPressed Instruction ......................................... 75
5.10 WaitTriggerIn Instruction............................................... 76
5.11 GenerateTriggerOut Instruction ...................................... 77
5.12 SetChannel Instruction .................................................. 78
5.13 SetTxPowerAttenuation Instruction ................................. 79
5.14 SendFrame Instruction .................................................. 80
5.15 WaitFrame Instruction................................................... 83
5.16 WaitDataPattern Instruction ........................................... 86
5.17 WaitSignature Instruction .............................................. 90
5.18 WusbDeviceNotification Instruction ................................. 93
5.19 WusbDeviceTransmit Instruction..................................... 98
5.20 WusbWaitDntsCta Instruction ....................................... 102
5.21 WusbWaitDtCta Instruction .......................................... 105
Frequently Asked Questions ................................................109
Glossary ..............................................................................113
Index...................................................................................119
About this Manual
Typographic Conventions
Bold is used to indicate menu commands, buttons, and tabs.
Italics are used to indicate fields, pane names, window names and cross references.
Fixed width is used to indicate system file names, text typed and code snippets.
A warning symbol describes a possible critical situation and how to avoid it.
An information symbol tells you how to respond to a situation that may arise.
A tip symbol tells you information that will help you carry out a procedure.
Where to Find More Help
Go to the Ellisys website and the following pages for the latest information:
•
Ellisys products page - Go to www.ellisys.com/products/ for the latest product information and documentation.
•
Application notes and white papers - Go to www.ellisys.com/
technology/ to find up-to-date information about the technology.
•
Distributors - Go to www.ellisys.com/sales/ to find a list of Ellisys distributors.
•
Technical support - Go to www.ellisys.com/support/ to send a question directly to the Ellisys support team.
7
8
1
Ellisys WiMedia Explorer 300 Generator
Overview
1.1
Product Overview
The Ellisys WiMedia Explorer 300 Generator is a generator for WiMedia
Ultrawideband, Certified Wireless USB protocols and several other protocols based on WiMedia UWB. The WiMedia Explorer 300 Generator verifies product and component reliability by generating reproducible traffic, timing and error scenarios.
The WiMedia Explorer 300 Generator contains a specialized processor designed specifically for WiMedia-based and Certified Wireless USB protocols. The WiMedia Explorer 300 Generator produces sequences of arbitrary frames with programmable inter-frame delay and can wait for any kind of response frame or event. The processor's instruction set enables you to emulate Wireless USB hosts and devices and other various
WiMedia equipment.
The WiMedia Explorer 300 Generator’s software allows you to quickly and easily create, edit, and debug scripts. Traces previously recorded by an
Ellisys WiMedia Explorer 300 Analyzer can be exported to a script and played back by the generator. This will allow you to quickly understand and fix issues that may arise during device, driver or software development.
1.2
Main Features
The WiMedia Explorer 300 Generator enables you to:
•
Emulate most WiMedia equipment, including Wireless USB hosts and devices.
•
Perform functional validation and stress testing of protocol stacks.
•
Generate arbitrary frames with full control of the frame raw data down to the PHY layer.
•
Generate sequences of frames with programmable inter-frame delay.
•
Use exported scripts from protocol analysis software to play back error scenarios.
•
Test error recovery mechanisms by generating frames with incorrect content or timing.
Ellisys WiMedia Explorer 300 Generator Overview 9
Visit the product web page at www.ellisys.com/products/wex300/ for the latest product information and documentation.
10 Ellisys WiMedia Explorer 300 Generator Overview
2
Installing the Ellisys WiMedia
Explorer 300
Before installing the Ellisys WiMedia Explorer 300 ensure your computer meets the following requirements:
•
Microsoft Windows Installer 3.0 or later. If the installation does not run smoothly, or if the system indicates that there is a version error, update your Windows Installer.
•
Microsoft .Net Framework version 2.0.
•
Pentium 4, 1.8 GHz or compatible processor, or better.
•
512 MBytes of RAM or more.
•
1024x768 screen display resolution with 256 colors or better.
•
USB 2.0 host controller.
2.1
Software Prerequisites
The WiMedia Explorer 300 software requires several software components. Ellisys recommends that you visit the following web pages to update your version of Microsoft .Net Framework and Windows:
•
www.microsoft.com/net to download the Microsoft .Net Framework version 2.0.
•
windowsupdate.microsoft.com to update your version of Windows.
When using the Windows update service it will automatically download and install the Microsoft .Net Framework version 2.0.
See your System Administrator for more information about updating
Microsoft .Net Framework and Windows.
Installing the Ellisys WiMedia Explorer 300 11
2.2
Installing Software
To install the WiMedia Explorer 300’s software:
1. Insert the Ellisys WiMedia Explorer 300 installation CD-ROM that accompanies the product into the computer’s CD-ROM drive.
The WiMedia Explorer 300 Setup Wizard screen appears:
If the WiMedia Explorer 300 Setup Wizard screen does not appear automatically; Click Start | Run, type d:\setup.exe (change d: to match the drive letter of your CD-ROM) and click on OK.
12 Installing the Ellisys WiMedia Explorer 300
2. Read the Warning note and click on Next.
The WiMedia Explorer 300 Licence Agreement screen appears:
3. Read the licence agreement carefully and select I Agree.
Installing the Ellisys WiMedia Explorer 300 13
4. Click on Next.
The Select Installation Folder screen appears:
5. The default installation folder appears in the Folder field. Ellisys recommend that you use the default folder, however if you wish to change this folder click on Browse and navigate to the folder required.
6. Select whether anyone or only the user currently logged on can access the software by selecting either Everyone or Just me.
14 Installing the Ellisys WiMedia Explorer 300
7. Click on Next.
The Confirm Installation screen appears:
Installing the Ellisys WiMedia Explorer 300 15
8. Click on Next to continue the software’s installation.
An Installation Progress screen appears.
16 Installing the Ellisys WiMedia Explorer 300
When the software has been installed, the Installation Complete screen appears:
9. Click on Close.
The WiMedia Explorer 300 software is now installed.
After installing WiMedia Explorer 300 software a new Hardware
Wizard may appear. Refer to
2.6, Connecting to the Computer,
on page 20 for more information about installing the USB driver.
Installing the Ellisys WiMedia Explorer 300 17
2.3
Front Panel Overview
Ellisys WiMedia Explorer 300’s front panel:
The Power LED is illuminated constant green when connected to a USB 2.0 host controller and working normally.
The Power LED is illuminated constant red when connected via a USB 1.1 host controller and working normally. Performance may not be optimal.
The Power LED blinks green when connected to a USB 2.0 host controller and the driver is not yet fully installed.
The Power LED blinks red when connected to a USB 1.1 host controller and the driver is not yet fully installed.
The Activity LED blinks green when traffic is detected. The blink rate depends on the amount traffic detected, the faster the blink rate the greater amount of traffic detected.
The Activity LED blinks red when traffic is recorded or generated.
The Trigger LED blinks green when waiting for an event to occur.
The Trigger LED is illuminated red for a short period when the expected event occurs.
18 Installing the Ellisys WiMedia Explorer 300
2.4
Back Panel Overview
Ellisys WiMedia Explorer 300’s back panel:
A USB cable must be connected between the Computer connector and the computer on which the software runs.
When connecting the USB cable DO NOT force the connector into the WiMedia Explorer 300. The metal part of the connector should not be inserted completely into the connection port. Forcing the connector or inserting all of the metal part of the connector may break the port connection and is not covered by the warranty.
2.5
Mounting the External Antenna
The Ultrawideband antenna connects to the Antenna SMA connector on the front panel. The antenna should be screwed on the front panel connector, tightened by hand, and oriented upright for best performance.
Before mounting the external antenna ensure that the WiMedia
Explorer 300 is powered off by disconnecting the USB cable.
Installing the Ellisys WiMedia Explorer 300 19
Antenna placed upright
Antenna SMA connector
Do not use a wrench or other tools, and avoid damage by not overtightening the connector, however ensure that the antenna is firmly secured.
It is possible to connect a device to the WiMedia Explorer 300 using the
Wired Kit which is available as an option. Please refer to the documents that accompanies the Wired Kit for more information on how to connect a device using the Wired Kit.
2.6
Connecting to the Computer
The WiMedia Explorer 300 connects on a USB port, allowing the use of any notebook or desktop computer. The unit is powered by USB and does not require an external adapter. A driver needs to be installed on the computer to ensure proper operation.
Although the WiMedia Explorer 300 can upload or download data on a full speed USB 1.1 connection, Ellisys strongly recommends that you connect it to a high speed USB 2.0 port to obtain optimal performance. If you experience problems with the WiMedia
Explorer 300, please ensure it is connected on a high speed USB 2.0 enabled host controller before contacting technical support.
20 Installing the Ellisys WiMedia Explorer 300
Follow the steps below to install the USB driver:
1. Connect the WiMedia Explorer 300.
If you are connecting the WiMedia Explorer 300 for the first time wait until Windows displays a message saying a new device has been
2. If you want to update a previously installed device driver:
•
Open the Device Manager window: Start | Control Panel.
•
Double-click the System icon.
•
Click the Hardware tab.
•
Click on Device Manager.
•
Click on Ellisys protocol analyzers.
•
Right-click and select Update Driver.
The Hardware Update Wizard window opens:
3. Select No, not this time.
Installing the Ellisys WiMedia Explorer 300 21
4. Click on Next.
The Found New Hardware window appears:
5. Select Install the software automatically (Recommended).
22 Installing the Ellisys WiMedia Explorer 300
6. Click on Next.
The Please wait while the wizard installs the software window appears:
Windows installs the driver.
Installing the Ellisys WiMedia Explorer 300 23
When the installation is complete The wizard has finished installing the
software window appears:
7. Click on Finish.
The installation is complete.
24 Installing the Ellisys WiMedia Explorer 300
2.7
Placing the WiMedia Explorer 300
The WiMedia Explorer 300 probes and generates Ultrawideband waves.
The Ultrawideband circuitry used by the WiMedia Explorer 300 is optimized to have excellent receiver characteristics.
Ellisys strongly recommends using the configuration shown below for optimal performance. Placing the WiMedia Explorer 300 at mid distance between the transmitting units provides the lowest error rate and the best performance:
If the WiMedia Explorer 300 is not placed at an equal distance from the transmitting units, this may result in causing transmission issues that are not related to the Devices Under Test:
Installing the Ellisys WiMedia Explorer 300 25
26 Installing the Ellisys WiMedia Explorer 300
Menu bar
Toolbar
3
User Interface Reference
The user interface of the Ellisys WiMedia Explorer 300 Generator software contains a number of panes, menus, toolbars and other visual elements.
Script editor
Output pane
Registers pane
Auto hide pane button Close pane button
The WiMedia Explorer 300 Generator has several default panes. Each pane displays specific information or allows you to interact with the software for a given task:
•
Script Editor - Shows the current script. The Script Editor also allows editing the script, setting or clearing breakpoints, and placing bookmark to navigate through the script.
•
Output pane - Shows messages about a script after compiling. If there is an error in the script the Output pane will show an error description and the error’s position: file, line and column.
•
Register pane - Shows the contents of the variables, see
on page 47 for more information.
User Interface Reference 27
3.1
Organizing Panes
To open or display a pane:
1. Select View in the menu and click on the pane required in the View menu.
The selected pane opens.
To close a pane:
1. Click on Close bar of the pane.
positioned on the top right-hand corner of the title
The pane closes.
To hide a pane:
1. Click on Auto Hide title bar.
positioned on the top right-hand corner of the
The pane is hidden and the pane’s name appears as a tab at the side of the screen.
To move a pane or window:
1. Click on the title bar of a pane or window.
2. Press and hold the left mouse button and drag the pane or window.
A window placer appears:
•
•
3. Keep the mouse button pressed and point to one of the following:
•
Center to open a pane as a floating window in the screen.
Top to move the pane to the top of the screen or pane group.
Right to move the pane to the right of the screen or pane group.
28 User Interface Reference
•
•
Left to move the pane to the left of the screen or pane group.
Bottom to move the pane to the bottom of the screen or pane group.
3.2
Main Toolbar
The table below shows the WiMedia Explorer 300 Generator toolbar buttons and their actions.
New Document
Open Document
Save Document
Print Preview
Cut
Copy
Paste
Opens a new document.
Opens a folder to allow you open a previous saved file.
Saves a document.
Opens print options to allow you to print a document.
Opens the print preview window.
Cuts a selection of text.
Copies a selection of text.
Pastes a selection of copied or cut text.
Undo
Redo
Undoes the previous action.
Redoes the previous action.
User Interface Reference 29
Find/Replace
Opens the find and replace window.
Comment Selection
Comments out one or more lines.
Uncomment Selection
Uncomment one or more lines.
Toggle Bookmark
Toggles a bookmark at a selected line.
Previous Bookmark Finds the previous bookmark.
Next Bookmark
Finds the next bookmark.
Clear Bookmarks
Compile
Run
Break
Stop
Restart
Step
Clears all bookmarks.
Compiles a script.
Runs a stopped or paused script.
Pauses a script when running.
Stops a running script.
Stops and restarts a script from the beginning.
Steps from line to line in the script.
30 User Interface Reference
3.3
Main Menu
The table below shows the WiMedia Explorer 300 Generator main menu options and their actions.
File
New
(CTRL + N)
Open
(CTRL + O)
Save
(CTRL + S)
Save As
Page Setup
Creates a new file.
Opens a previous saved file.
Saves a file.
Print Preview
(CTRL + P)
Exit
Saves a file with a new name.
Opens the Page Setup dialog box that lets you set the page margins and other parameters.
Opens the Print Preview window.
Prints a file.
Exits the software.
Edit
Undo
(CTRL + Z)
Redo
(CTRL + Y)
Cut
(CTRL + X)
Copy
(CTRL + C)
Undoes the previous action.
Redoes the previous action.
Cuts a selection of text.
Copies a selection of text.
User Interface Reference 31
Paste
(CTRL + V)
Edit | Advanced
Pastes a selection of copied or cut text.
Mark Line Modifications
Marks line modifications in the file.
Highlight Current Line
Highlights the current line in the script.
Show Column 80 Guide
Comment Selection
Uncomment Selection
Make Uppercase
(CTRL + SHIFT + U)
Make Lowercase
(CTRL + U)
Edit | Bookmarks
Displays the column guide in the script.
Adds a comment to the current selected line.
Removes the comment from the selected line.
Changes selected lowercase text to uppercase text.
Changes selected uppercase text to lowercase text.
Toggle Bookmark
Enable Bookmark
Previous Bookmark
Next Bookmark
Clear Bookmarks
Insert Snippet Code
(CTRL + I)
Toggles a bookmark at a selected line.
Enables the selected bookmark.
Finds the previous bookmark.
Finds the next bookmark.
Clears all bookmarks.
Opens the Insert Snippet code list.
32 User Interface Reference
View
Output window
Search
Registers window
Script
Find/Replace
(CTRL + F)
Find Next
F3
Find Previous
(SHIFT + F3)
Go To Line
(CTRL + G)
Compile
(F7)
Run
(F5)
Break
Stop
(SHIFT +F5)
Restart
Step
(F10)
Toggle Breakpoint
(F9)
Opens or closes the Output window.
Opens or closes the Registers window.
Opens the Find/Replace window.
Finds the text previously entered in the
Find/Replace window.
Finds the text previously entered in the
Find/Replace window.
Opens the Go To Line window.
Compiles a script.
Runs a stopped or paused script.
Pauses a script when running.
Stops a running script.
Stops and restarts a script from the beginning.
Steps from line to line in the script.
Toggles a breakpoint at a selected line.
User Interface Reference 33
Help
Clear all Breakpoints
(CTRL+SHIFT +F9)
Select a Generator
User Guide
Ellisys website
Contact support
About
Removes all breakpoints in the script.
Opens the Available Generators window.
Opens the online user guide.
Opens the Ellisys website in your default internet browser.
Opens a form to contact the technical support.
Opens the About window.
34 User Interface Reference
3.4
Opening a File
To open a file:
1. Select File | Open in the menu or click on Open Document
The Open File window appears:
.
2. Select the file required and click on Open.
The selected file opens in the software.
3.5
Saving a File
To save a file:
1. Select File | Save in the menu or click on Save Document
The file is saved.
.
User Interface Reference 35
To save a file with a new name:
1. Select File | Save As in the menu.
The Save As window appears:
2. Navigate to the directory where the file is to be saved.
3. Enter the required name of the file in the File name field and click on
Save.
The file is saved with the required name and the original file is not modified.
3.6
Printing a File
Use the Page Setup option, File | Page Setup, to setup how the file should be printed. This option will depend on the printer, please see your printer’s documentation for more information.
A file can be very large therefore it is advisable to check the size of the file before trying to print the file.
36 User Interface Reference
To print a file:
1. Select File | Print in the menu or click on Print
The Print window appears:
.
2. Select the printer and printer setup if required.
3. Click on OK.
The file is printed.
3.7
Editing a Script
The WiMedia Explorer 300 Generator includes several specialized instructions. Example code for these instructions can be inserted to help you write instructions. An example code is called a code snippet.
A full description of the specialized instructions can be found in
Chapter
To insert a code snippet:
1. Click on the point in the script where the code snippet is to be inserted.
2. Select Edit | Insert Code Snippet in the menu. or
Press CTRL + I.
User Interface Reference 37
The Code Snippet list appears:
3. Select the code snippet required from the list.
4. Double-click on the code snippet required. or
Select the snippet required and press ENTER.
The selected code snippet is inserted into the script and can be modified.
3.8
Advanced Editing Features
All the WiMedia Explorer 300 Generator’s advanced editing features can be accessed by clicking Edit | Advanced in the menu.
To mark or unmark line modifications:
1. Select Edit | Advanced | Mark Line Modifications in the menu.
All lines that have been modified are marked with a yellow mark beside the line.
To highlight the current line:
1. Select Edit | Advanced | Highlighting Current Line in the menu.
The line with the cursor is highlighted.
To display the column 80 guide:
1. Select Edit | Advanced | Show 80 Column Guide in the menu.
The 80 column guide appears as a line in the main script pane.
To comment a selection in a script:
1. Select the lines you want to comment.
38 User Interface Reference
2. Click on Comment Selection or
Select Edit | Advanced | Comment Selection in the menu.
Comment markers are inserted before the selected lines.
To uncomment a selection in a script:
1. Select the commented lines you want to uncomment.
2. Click on Uncomment Selection or
Select Edit | Advanced | Uncomment Selection in the menu.
Comment markers are removed from the selected lines.
To change text case:
1. Select the text required in the script.
2. Select Edit | Advanced | Make Uppercase to change the text’s case from lowercase to uppercase.
or
3. Select Edit | Advanced | Make Lowercase to change the text’s case from uppercase to lowercase.
3.9
Searching
Search, find and replace options can be accessed by clicking Search in the menu.
To search text:
1. Click on Find/Replace or
Select Search | Find in the menu. or
Press CTRL + F.
User Interface Reference 39
The Find/Replace window appears:
2. Enter what you need to be found in the Find what field.
or
3. Select the Use check box if you want to use Regular expression or
Wildcards.
Regular expressions or Wildcards can be selected as an option.
4. If you selected the Use check box, select Regular expression or
Wildcards from the drop-down list. The Right Arrow
Find What field becomes enabled.
beside the
40 User Interface Reference
5. Click on Right Arrow .
If Wildcards has been selected from the Use drop-down list a Wildcard list appears;
6. Select the Wildcard required.
If Regular expression has been selected from the Use drop-down list a
Regular expression list appears:
7. Select the Regular expression required.
8. Select the required search options check boxes.
9. Click on the required button: Find Next to find the next occurrence or
Bookmark All to bookmark all occurrences.
The selected search is performed.
User Interface Reference 41
To replace text:
1. Click on Find/Replace and then click Quick Replace or
Select Search | Replace in the menu. or
Press CTRL + H.
The Find/Replace window appears:
2. Enter what you need to be found in the Find what field.
3. Enter the replacement text in the Replace with field.
4. Select the required search options check boxes.
5. Click on the required button: Find Next to find the next occurrence or
Replace or Replace All to respectively replace the next occurrence or all occurrences.
The selected replacement is performed.
3.10 Working with Bookmarks
A bookmark is a useful tool that enables you to mark lines of code to help you navigate through a script.
All the bookmark options can be accessed by selecting Edit | Bookmarks in the menu.
To toggle a bookmark:
1. Select a line where the bookmark is to be inserted.
42 User Interface Reference
2. Click on Toggle Bookmark or
Select Edit | Bookmarks | Toggle Bookmark in the menu.
The bookmark is inserted beside the selected line.
To enable a bookmark:
1. Click on the line beside the bookmark.
2. Select Edit | Bookmarks | Enable Bookmark in the menu.
The selected bookmark is enabled.
To move to the next or previous bookmark:
1. Click on Next Bookmark or
Select Edit | Bookmarks | Next Bookmark in the menu.
A flashing cursor appears beside the next bookmark.
2. Click on Previous Bookmark or
Select Edit | Bookmarks | Previous Bookmark in the menu.
A flashing cursor appears beside the previous bookmark.
To remove all bookmarks:
1. Click on Clear Bookmark or
Select Edit | Bookmarks | Clear Bookmark in the menu.
All bookmarks in the script are removed.
3.11 Working with Breakpoints
A breakpoint is a point in a program which is used to temporarily halt the execution of that program.
To insert a breakpoint:
1. Select a line where the breakpoint is to be inserted.
2. Select Script | Toggle Breakpoint in the menu or
Press F9.
User Interface Reference 43
A breakpoint is inserted beside the selected line.
To remove all breakpoints:
1. Select Script | Clear All Breakpoint in the menu.
All breakpoints in the script are removed.
3.12 Compiling a Script
To compile a script:
1. Open a script file as described in
or
Create a new script file and save it.
2. Click on Compile or
Select Script | Compile in the menu.
The WiMedia Explorer 300 Generator compiles the script.
If the compilation is successful a ‘Compilation Succeeded’ message will appear in the Output pane.
44 User Interface Reference
If the compilation is unsuccessful a ‘Compilation Failed’ message will appear in the Output pane. A list of errors will also be listed in the Output pane.
To find an error in a compiled script:
1. Compile a script as described in
The compilation errors are listed in the Output pane under the Message colunm.
2. Double-click on the error description you require in the Output pane.
The line that contains the error is highlighted in the main script pane.
3.13 Running a Script
To select a generator:
1. Select Script | Select a generator in the menu.
The Available Generators window appears:
User Interface Reference 45
2. Select the required generator and click on OK.
It is advisable to select a generator as the default generator by clicking the Use this generator by default check box. This will stop the Available Generators window appearing every time you run the software.
The generator is selected.
To run a script:
1. Open a script file as described in
or
Create a new script file and save it.
2. Click on Run or
Select Script | Run in the menu.
If you did not select a generator as a default generator then the Available
Generators window appears:
3. Select on the required generator and click on OK.
The script runs using the selected generator.
To break or pause a script:
1. Run a script as described in
2. Click on Break or
Select Script | Break in the menu.
The script is paused.
46 User Interface Reference
To stop a script:
1. Run a script as described in
2. Click on Stop or
Select Script | Stop in the menu.
The script stops.
To restart a script:
1. Click on Restart or
Select Script | Restart in the menu.
The script is restarted.
To step a script:
1. Click on Step or
Select Script | Step in the menu. or
Press F10.
The script is run command by command.
3.14 Working with Registers
This section describes how you can work with registers. For more information about registers see
All registers are displayed in the Registers pane.
To select a register format:
1. Right-click on one of the registers in the Registers pane.
User Interface Reference 47
The Format submenu appears:
2. Click on the format require; Dec, Hex or Bin.
The register format is changed to the selected format and the numbers are displayed.
48 User Interface Reference
4
Language Reference
4.1
Comments
Single line comments are done using the // characters.
void Main()
{
// This is a single line comment
CopyMemory(Src => [ 0x00, 0x00 ],
Dst => Buffer,
DstOffset => 200);
}
Multi line comments are open using the /* characters, and are closed using the */ characters.
void Main()
{
/* This is a multi line comment the prevents the following instruction to be executed
CopyMemory(Src => [ 0x00, 0x00 ],
Dst => Buffer,
DstOffset => 200);
*/
}
4.2
Include Files
Files can be included using the include directive.
The example below shows a script that includes a file and use then the macro declared inside.
include "MyInclude.esf" void Main()
{
// Calls a function declared in MyInclude.esf
SendPulseAndWaitAnswer(10, 2s);
}
Language Reference 49
4.3
Constants Declaration
Constants can be declared with the const keywork.
The example below shows a script that defines two constants.
const NormalState = StateMachine.Running; const DefaultTimeout = 450ms; void Main()
{
WaitForState(State => NormalState,
Timeout => DefaultTimeout);
}
4.4
Variables Declaration
Variables are instantiated with the var keyword. The variable can be initialized at declaration with a value. If no initial value is specified the variable will not be initialized.
var myVar; var myVar1 = 10; var myVar2 = CounterB; var myVar3 = myVar1 * myVar2;
There is no restriction on variables declaration location. Variables can be declared anywhere in the script. The scope of the variable depends on the declaration location.
var myGlobalVar = 0; void MyMacro() { myGlobalVar = 10; } void Main()
{ var myVar = 0; for(var i=0; i<10; i++)
{ myVar += 1 << i;
}
Sleep( myVar );
}
50 Language Reference
4.5
Functions Declaration
Functions can be used to save typing and improve the understanding of a script. Functions accept parameters and can optionally return a value.
The example below shows a script that defines a function for sending a trigger pulse and waiting until an answer is received.
void SendPulseAndWaitAnswer(MaxRetries,
MaxTime)
{
repeat(MaxRetries)
{
GenerateTriggerOut(Output => BncOut,
Mode => PulseHigh);
WaitTriggerIn(Input => BncIn,
Condition => RisingEdge,
Timeout => MaxTime);
if(!TimeoutOccured)
{
exit;
}
}
} void Main()
{
SendPulseAndWaitAnswer(10, 2s);
SendPulseAndWaitAnswer(100, 20ms);
SendPulseAndWaitAnswer(10, 2s);
}
The following example shows a function returning a value based on a parameter: var ComputeSlotPosition(Index)
{ return Index * 85;
}
TimerA = ComputeSlotPosition(CounterB);
Language Reference 51
4.6
Function Calls
The parameters of functions calls are explicit. The syntax for specifying parameters values is param => value. The parameters order is thus not relevant as the parameter is fully identified by its name. The examples below shows a function with two parameters Param1 and Param2; the value
10 is assigned to Param1 and the value 20 is assigned to Param2:
SampleMacro( Param1 => 10, Param2 => 20 );
SampleMacro( Param2 => 20, Param1 => 10 );
When an instruction, a function has only one parameter its name can be omitted. For example:
Sleep( Duration => 10us ); can also be written as:
Sleep( 10us );
Parameters are optional when they have a default value. If the parameter is not specified in the call, the default value is used. The example below defines a macro with two parameters. Param1 is mandatory and Param2 has a default value of 0. Since Param2 is not specified in the call, the value 0 will be used as default.
void SampleFunction(Param1, Param2 = 0)
{
Sleep( Param 1 + Param2 );
} void Main()
{
SampleFunction( Param1 => 10us );
}
52 Language Reference
4.7
Enumerations Declarations
Enumerations can be used to give names to known values.
The example below shows a script that defines several error codes.
enum ErrorCode
{
NoError = 0,
Timeout = 1,
SequenceMismatch = 2,
Unspecified = 3
}
The example below shows a script that declares a unique number for each state of a state machine.
enum StateMachine
{
Stopped,
Paused,
Running,
Unspecified
} void main()
{
var currentState = GetMachineState();
if(currentState == StateMachine.Unspecified)
{
currentState = StateMachine.Stopped;
}
SetMachineState(currentState);
}
Language Reference 53
4.8
Namespaces Declarations
Namespaces can be used to isolate some portions of code to avoid name collision in big scripts.
The example below shows a script that declares a namespace and then use functions defined by this namespace.
namespace UtilityFunctions
{
void WaitSpecialEvent(Event, Timeout)
{ /* ... */ }
void GenerateSpecialEvent(Event, Param = 0)
{ /* ... */ }
} void WaitAndGenerate(Event)
{
UtilityFunctions.WaitSpecialEvent(Event, 50ms);
UtiliyFunctions.GenerateSpecialEvent(Event);
} using namespace UtilityFunctions; void main()
{
WaitSpecialEvent(Event, 200ms);
WaitAndGenerate(Event);
}
The example below shows a scripts that declare two namespaces, each with a function that has the same name.
namespace TimingFunctions
{
void WaitAnswer(Timeout) { /* ... */ }
} namespace ProtocolFunctions
{
void WaitAnswer(AnswerId) { /* ... */ }
} void main()
{
TimingFunctions.WaitAnswer(400ms);
ProtocolFunctions.WaitAnswer(Handshake);
}
54 Language Reference
4.9
Buffer Usage
The hardware contains a buffer of 8192 bytes available for memory comparison and copy operations. It can be accessed with the Buffer keyword for reading as well as for writing. Example:
Buffer[0 to 3] = [ 0, 1, 2, 3 ];
Buffer[0 for 4] = CounterB;
CounterA = Buffer[10 for 4];
The last received frame can be accessed with the LastRxFrame keyword.
LastRxFrame is read only. Example:
Buffer[2 to CounterB] = LastRxFrame[2 to CounterB];
CounterC = LastRxFrame[5];
4.10 Counters
Counters are useful for example to count errors, special conditions, etc.
Several counters are available in the generator, namely CounterA to
CounterH. The value of the counters is indicated in the Registers window.
The example below shows a script that repetitively sends a pulse on the output BNC connector and waits for a rising edge on the input BNC connector. If the rising edge is not detected within 500 milliseconds the script increments CounterA.
repeat(1000)
{
GenerateTriggerOut(Output => BncOut,
Mode => PulseHigh);
WaitTriggerIn(Input => BncIn,
Condition => RisingEdge,
Timeout => 500ms);
if(TimeoutOccurred)
{
// Keep the error count in Counter
CounterA++;
}
}
4.11 Timers
Timers are useful for example to measure or generate precise timing sequences. Several timers are available in the generator. Timers can be
Language Reference 55
started, stopped or modified. It is possible to wait until a timer reaches a specified value or to change the current value of a timer.
The example below shows a script that measure the duration of a trigger pulse and generates one that lasts three times this duration.
Timer0 = 0;
Timer1 = 0;
WaitTriggerIn(Input => BncIn,
Condition => RisingEdge);
StartTimer(0);
GenerateTriggerOut(Output => BncOut,
Mode => ForceHigh);
WaitTriggerIn(Input => BncIn,
Condition => FallingEdge);
StartTimer(1);
StopTimer(0);
WaitTimer(Index => 1,
TargetValue => Timer0 * 2,
TimingRespect => Hard);
GenerateTriggerOut(Output => BncOut,
Mode => ForceLow);
StopTimer(1);
56 Language Reference
4.12 Stop Keyword
The stop keyword stops the execution of the generator. This is useful for example to stop the generator when a required condition is not met.
WaitTriggerIn(Input => BncIn,
Condition => FallingEdge,
Timeout => 100ms); if(TimeoutOccurred)
{
// Condition not met: stop execution
stop;
}
4.13 Breakpoint Keyword
The breakpoint keyword breaks the execution of the generator. The execution can be resumed by the user from the breakpoint.
WaitTriggerIn(Input => BncIn,
Condition => FallingEdge,
Timeout => 100ms); if(TimeoutOccurred)
{
// Condition not met: break execution
breakpoint;
}
4.14 If Statement
The if statement executes instructions conditionally depending on a
condition. Conditions are described in
4.21, Conditional expressions,
The example below shows a script that increments CounterA if the button is pressed, and CounterB otherwise. When CounterA reaches 10, CounterB is reset to 0.
WaitButton(Index => 0,
Timeout => 0ms,
Condition => HighLevel); if(MatchOccurred)
{
CounterA++;
}
Language Reference 57
else
{
CounterB++;
} if(CounterA >= 10)
{
CounterB = 0;
}
4.15 Switch Statement
The switch statement executes instructions conditionally depending on the value of the specified variable.
The example below shows a script that increments CounterA if the value of the variable is 0, increments CounterB if the value is 1 and resets both to zero in other cases. switch(CounterC)
{
case 0:
CounterA++;
break;
case 1:
CounterB++;
break;
default:
CounterA = 0;
CounterB = 0;
break;
}
58 Language Reference
4.16 Repeat Statement
The repeat statement executes instructions the specified count of times.
A repeat statement can be stopped with the exit keyword. Up to four repeat statements can be imbricated.
The example below shows a script that pulses high the state of the output
BNC connector for 200 milliseconds every seconds. It does this 10 times.
repeat(10)
{
GenerateTriggerOut(Output => BncOut,
Mode => ForceHigh);
Sleep(200ms);
GenerateTriggerOut(Output => BncOut,
Mode => ForceLow);
Sleep(800ms);
}
4.17 While Statement
The while statement executes instructions as long as a specified condition is true. The condition is checked before the instruction is executed. A while statement can be stopped with the exit keyword. Up to four while statements can be imbricated.
The example below shows a script that toggles the state of the output
BNC connector every 200 milliseconds until the input BNC connector presents a high logic level.
while(true)
{
GenerateTriggerOut(Output => BncOut,
Mode => Toggle);
WaitTriggerIn(Input => BncIn,
Condition => HighLevel,
Timeout => 200ms);
if(MatchOccurred) { exit; }
}
Language Reference 59
4.18 Do While Statement
The do while statement executes instructions as long as a specified condition is true. The condition is checked after the instruction is executed. A while statement can be stopped with the exit keyword. Up to four do while statements can be imbricated.
The example below shows a script that generates a pulse on the output
BNC connector until the input BNC connectors presents a high logic level.
do
{
GenerateTriggerOut(Output => BncOut,
Mode => PulseHigh);
WaitTriggerIn(Input => BncIn,
Condition => LowLevel,
Timeout => 0);
} while(MatchOccurred);
4.19 For Statement
The for statement executes instructions in a loop a certain number of times. A for statement can be stopped with the exit keyword. Up to four for statements can be imbricated.
The example below shows a script that generates 20 pulses on the output
BNC connector.
for(var i=0; i<20; i++)
{
GenerateTriggerOut(Output => BncOut,
Mode => PulseHigh);
}
60 Language Reference
4.20 Mathematical expressions
The Ellisys script language supports the following mathematical operators: +, -, *, /, %, &, |, ^, >> and <<.
The examples below show how to use these operators and how to combine them. In all these examples, a must be a variable; b and c can be variables or a literals.
The following example assigns the value 20 to a: a = 20;
The following example assigns the value 0xAB12 (43,794 in decimal) to a: a = 0xAB12;
The following example adds the value of b to the value of c and assigns the result to a: a = b + c;
The following example subtract the value of c from the value of b and assigns the result to a: a = b - c;
The following example multiplies the value of b with the value of c and assigns the result to a: a = b * c;
The following example divides the value of b by the value of c and assigns the result to a: a = b / c;
The following example divides the value of b with the value of c and assigns the rest of the integer division to a: a = b % c;
The following example performs a mathematical AND operation between the value of b and the value of c and assigns the result to a: a = b & c;
Language Reference 61
The following example performs a mathematical OR operation between the value of b and the value of c and assigns the result to a: a = b | c;
The following example performs a mathematical XOR operation between the value of b and the value of c and assigns the result to a: a = b ^ c;
The following example performs a right shift operation between the value of b and the value of c and assigns the result to a: a = b >> c;
The following example performs a left shift operation between the value of b and the value of c and assigns the result to a: a = b << c;
The following example demonstrates how to combine expressions to produce more complex results: a = ((b & 0x0F) * 12) >> (c + 1);
62 Language Reference
4.21 Conditional expressions
The conditions that can be tested are MatchOccurred and TimeoutOccured.
These two flags are set by instructions that wait specific conditions.
Conditional expressions can be used as condition of execution or termination with several statements, including if, while and do while.
The following example executes the specified code if a equals b: if(a == b) { /* insert code here */ }
The following example executes the specified code if a is different from b: if(a != b) { /* insert code here */ }
The following example executes the specified code if a is greater than b: if(a > b) { /* insert code here */ }
The following example executes the specified code if a is greater than or equal to b: if(a >= b) { /* insert code here */ }
The following example executes the specified code if a is less than b: if(a < b) { /* insert code here */ }
The following example executes the specified code if a is less than or equal to b: if(a <= b) { /* insert code here */ }
Language Reference 63
64 Language Reference
5
Instruction Set Reference
The WiMedia Explorer 300 Generator includes several specialized instructions. These instructions are divided into six distinct categories:
•
Timing operations
•
Buffer operations
•
Trigger operations
•
PHY-oriented operations
•
UWB-oriented operations
•
Wireless USB-oriented operations
5.1
Sleep Instruction
The Sleep instruction waits a precise duration which can be specified in several units. The duration can be specified in units of time (seconds, milliseconds, microseconds and nanoseconds) or in 66 MHz clock cycles.
Example
Sleep ( Duration => 1.5ms );
Sleep ( 1.5ms );
Parameter List
Duration
Description
Amount of time to wait.
Type
Time expressed in 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,295 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
No default value; this parameter is mandatory.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed.
Instruction Set Reference 65
5.2
StartCountdown Instruction
The StartCountdown instruction starts a countdown timer in the generator. Two countdown timers can run simultaneously.
Example
StartCountdown ( Index => 0, Duration => 65538us );
StartCountdown ( 65538us );
Parameter List
Index
Description
Index of the countdown timer.
Range
Default
Example
0 to 1.
0
0 to use the countdown timer with index 0.
1 to use the countdown timer with index 1.
Duration
Description
Amount of time to wait.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
Default
Example
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
No default value; this parameter is mandatory.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
66 Instruction Set Reference
5.3
WaitCountdownReached Instruction
The WaitCountdownReached instruction waits the countdown timer reaches its nominal value.
Example
WaitCountdownReached(
Index => 0,
Timeout => 500ms,
TimingRespect => Hard);
Parameter List
Index
Description
Index of the countdown timer.
Range
Default
Example
0 to 1.
0
0 to use the countdown timer with index 0.
1 to use the countdown timer with index 1.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
Default
Example
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 67
TimingRespect
Description
Specifies if the processor breaks if the countdown value was already reached at the time the wait was called.
Range
Default
Soft or Hard.
Soft
Example
Soft to continue even if the countdown value was already reached.
Hard to break script execution if the countdown value was exceeded. This value helps detecting timing errors in scripts.
5.4
StartTimer Instruction
The StartTimer instruction starts the specified timer.
Example
StartTimer(1);
Parameter List
Index
Description
Specifies the index of the timer to start.
Type
0 to 2.
Default
Example
No default value; this parameter is mandatory.
0 will use timer 0.
68 Instruction Set Reference
5.5
StopTimer Instruction
The StopTimer instruction stops the specified timer.
Example
StopTimer(2);
Parameter List
Index
Description
Specifies the index of the timer to stop.
Type
0 to 2.
Default
Example
No default value; this parameter is mandatory.
0 will use timer 0.
5.6
WaitTimer Instruction
The WaitTimer instruction waits until the specified timer reaches the specified value.
Example
WaitTimer(
Index => 1,
TargetValue => 60s);
Parameter List
Index
Description
Specifies the index of the timer to wait on.
Type
0 to 2.
Default
No default value; this parameter is mandatory.
Example
0 will use timer 0.
Instruction Set Reference 69
TargetValue
Description
Specifies the target value to wait on.
Type
0 to 4,294,967,295 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
No default value; this parameter is mandatory.
Example
10500 will match when the specified timer reaches value 10500.
132ms will match when the specified timer reaches value
8,712,000, which equals to 132ms at 66 MHz.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
Default
Example
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
No default value; this parameter is mandatory.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
TimingRespect
Description
Specifies if the processor breaks if the countdown value was already reached at the time the wait was called.
Range
Default
Soft or Hard.
Soft
Example
Soft to continue even if the countdown value was already reached.
Hard to break script execution if the countdown value was exceeded. This value helps detecting timing errors in scripts.
70 Instruction Set Reference
5.7
CopyMemory Instruction
The CopyMemory instruction copies bytes from a location of the user buffer to another location.
Example
CopyMemory(
Src => [ 0x00, 0x00 ],
Dst => Buffer,
DstOffset => 200);
CopyMemory(
Src => Buffer,
SrcOffset => 0,
Dst => Buffer,
DstOffset => 200,
Length => 2);
CopyMemory(
Src => LastRxFrame,
SrcOffset => 15,
Dst => Buffer,
DstOffset => 15,
Length => 60);
Parameter List
Src
Description
The source data to copy to the destination.
Type
Default
Example
Inline bytes (max 8192 bytes) or Buffer or LastRxFrame.
No default value; this parameter is mandatory.
[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to copy these bytes.
Buffer to copy bytes from the user buffer.
Instruction Set Reference 71
SrcOffset
Description
Offset in the source data of the first byte to use.
Range
0 to 8191.
Default
Example
0
0 will copy from the beginning of the PHY header when
LastRxFrame is specified or from offset 0 of the user buffer when Buffer is used.
5 will copy from the beginning of the MAC header when
LastRxFrame is specified or from offset 5 of the user buffer when Buffer is used.
15 will copy from the beginning of the payload when
LastRxFrame is specified or from offset 15 of the user buffer when Buffer is used.
Dst
Description
The destination where the source will be copied.
Type
Buffer
Default
Example
No default value; this parameter is mandatory.
Buffer is the only acceptable value.
DstOffset
Description
Offset in the destination buffer of the first data byte to copy.
Range
0 to 8191.
Default
Example
No default value; this parameter is mandatory.
0 will copy source bytes at offset 0 of the destination buffer.
22 will copy source bytes at offset 22 of the destination buffer.
Length
Description
Length of the data to copy.
Range
Default
Example
0 to 8192.
No default value; this parameter is mandatory.
5 will copy 5 bytes.
72 Instruction Set Reference
5.8
CompareMemory Instruction
The CompareMemory instruction compares bytes from a location of the user buffer to another.
Example
CompareMemory(
Src => Buffer,
SrcOffset => 60,
Dst => [ 0x00, 0x00 ] );
CompareMemory(
Src => Buffer,
SrcOffset => 0,
Dst => Buffer,
DstOffset => 200,
Length => 40);
CompareMemory(
Src => LastRxFrame,
SrcOffset => 5,
Dst => Buffer,
DstOffset => 5,
Length => 10);
Parameter List
Src
Description
The first sequence of bytes to compare.
Type
Default
Example
Inline bytes (max 8192 bytes) or Buffer or LastRxFrame.
No default value; this parameter is mandatory.
[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to compare the specified bytes with the bytes specified in Dst.
Buffer to compare bytes in the user buffer with the bytes specified in Dst.
Instruction Set Reference 73
SrcOffset
Description
Offset in the source data of the first byte to compare.
Range
0 to 8191.
Default
Example
0
0 will compare from the beginning of the PHY header when
LastRxFrame is specified or from offset 0 of the user buffer when Buffer is used.
5 will compare from the beginning of the MAC header when
LastRxFrame is specified or from offset 5 of the user buffer when Buffer is used.
15 will compare from the beginning of the payload when
LastRxFrame is specified or from offset 15 of the user buffer when Buffer is used.
Dst
Description
The second sequence of bytes to compare.
Type
Buffer or LastRxFrame.
Default
Example
No default value; this parameter is mandatory.
Buffer to compare bytes defined in Src with data in the user buffer.
LastRxFrame to compare bytes defined in Src with data contained in the last received frame.
DstOffset
Description
Offset in the destination buffer of the first data byte to compare.
Range
Default
Example
0 to 2047.
No default value; this parameter is mandatory.
0 will compare from offset 0 of the user buffer when Buffer or
LastRxFrame is used.
200 will compare from offset 200 of the user buffer when
Buffer or LastRxFrame is used.
74 Instruction Set Reference
Mask
Description
Mask to apply on each byte of the data to compare. The mask is applied with an AND operator.
Type
Default
Inline bytes (max 8192 bytes).
0xFF for all bytes specified in Data.
Example
[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.
Length
Description
Length of the data to compare.
Range
0 to 2047.
Default
Example
No default value; this parameter is mandatory.
5 will copy 5 bytes.
5.9
WaitButtonPressed Instruction
The WaitButtonPressed instruction waits on user action on the specified button of the trigger board.
Example
WaitButtonPressed(
Index => 0,
Timeout => 10s);
Parameter List
Index
Description
Selects the button to wait on.
Range
Default
Example
0 to 1.
No default value; this parameter is mandatory.
0 will wait until Button0 is pressed on the trigger board.
1 will wait until Button1 is pressed on the trigger board.
Instruction Set Reference 75
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
5.10 WaitTriggerIn Instruction
The WaitTriggerIn instruction waits on the specified input of the trigger board.
Example
WaitTriggerIn(
Input => BncIn,
Condition => RisingEdge,
Timeout => 5s);
Parameter List
Input
Description
Selects the input on which the condition should be waited on.
Range
Default
Any, BncIn, DigitalIn0 to DigitalIn3.
No default value; this parameter is mandatory.
Example
Any waits on any inputs of the trigger board.
BncIn waits on the BNC input of the trigger board.
76 Instruction Set Reference
Condition
Description
Specifies the trigger condition.
Range
Default
RisingEdge, FallingEdge, HighLevel, LowLevel.
No default value; this parameter is mandatory.
Example
RisingEdge waits on a rising edge condition.
HighLevel waits on a high level condition.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Range
Default
Example
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
5.11 GenerateTriggerOut Instruction
The GenerateTriggerOut instruction generates a condition on the specified output of the trigger board.
Example
GenerateTriggerOut(
Output => BncOut,
Mode => PulseHigh);
Instruction Set Reference 77
Parameter List
Output
Description
Selects the output to generate the trigger on.
Range
Default
All, BncOut, DigitalOut0 to DigitalOut3.
No default value; this parameter is mandatory.
Example
All generates the condition on all outputs of the trigger board.
BncOut generates the condition on the BNC output.
Mode
Description
Specifies the trigger mode.
Range
Default
Example
PulseHigh, PulseLow, ForceHigh, ForceLow, Toggle.
No default value; this parameter is mandatory.
PulseHigh generates a positive pulse on the output.
ForceLow forces a low-level on the output.
Toggle inverts the current level of the output.
5.12 SetChannel Instruction
The SetChannel instruction sets the TX channel and the RX channel of the
WiMedia PHY, as specified in the WiMedia MAC/PHY Interface 1.0 specification.
Example
SetChannel( Channel => 0x0D );
SetChannel( 0x0D );
78 Instruction Set Reference
Parameter List
Output
Description
Ultrawideband channel to switch on.
Range
0 to 63.
Default
Example
No default value; this parameter is mandatory.
0x0D will switch on Band Group 1, TFC 5.
0x0F will switch on Band Group 1, TFC 7.
14 will switch on Band Group 1, TFC 6.
5.13 SetTxPowerAttenuation Instruction
The SetTxPowerAttenuation instruction sets the attenuation of the transmitter.
Example
SetTxPowerAttenuation( Attenuation => 7 );
SetTxPowerAttenuation( 7 );
Parameter List
Attenuation
Description
Attenuation specified in dB.
Range
0 to 15.
Default
No default value; this parameter is mandatory.
Example
0 specifies an attenuation of 0 dB (max power).
15 specifies an attenuation of 15 dB (min power).
Instruction Set Reference 79
5.14 SendFrame Instruction
The SendFrame instruction transmits the specified raw frame over-the-air.
Any kind of correct or incorrect WiMedia frame can be sent using this instructi on.
There is a delay of 1.0us between the execution of the instruction and the actual RF transmission.
Example
SendFrame(
RawData => [ 0x00, 0x28, 0x00, 0x90,
0x00, 0x40, 0x1C, 0xFE,
0x00, 0xEF, 0xBE, 0x00,
0x00, 0x00, 0x80 ],
Interval => 17.554us,
Spacing => SIFS,
ComputeFcs => false);
SendFrame(
RawData => Buffer,
RawDataOffset => 20,
Interval => 17.554us,
Spacing => SIFS,
ComputeFcs => true);
Parameter List
RawData
Description
Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY
Interface 1.0).
Type
Default
Example
Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.
No default value; this parameter is mandatory.
[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,
0x00, 0x39, 0x00 ] to use these bytes for the instruction.
Buffer to use bytes from the user buffer.
80 Instruction Set Reference
RawDataOffset
Description
Offset of the data bytes in the raw data.
Range
0 to 8191.
Default
Example
No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 81
Note that a spacing of at least MIFS (Minimum Inter Frame Spacing) shall be respected between two consecutive SendFrame instructions. This can be achieved by specifying the correct Interval value, or by setting a Spacing of MIFS (MIFS is a globally defined constant equal to 1.875us).
It is possible to generate invalid spacings for testing purposes but this must be done with care because some PHY components will not be able to receive another frame after a duration shorter than MIFS.
ComputeFcs
Description
Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.
Type
Default
Boolean (True or False).
False
Example
True to replace the specified FCS bytes with the computed
FCS.
False to leave the specified FCS bytes as is.
82 Instruction Set Reference
5.15 WaitFrame Instruction
The WaitFrame instruction waits for a frame matching the specified criteria.
Example
WaitFrame(
Length => 128,
Type => Data,
DestAddress => 0x0002,
SourceAddress => 0x0001,
Interval => 17.554us,
Spacing => 10us,
Timeout => 500ms);
WaitFrame(
Type => Beacon,
Timeout => 70ms,
MatchOnlyValidFcs => true);
Parameter List
Length
Description
Length of the payload to match (not including PHY header, MAC header or FCS).
Range
0 to 4095.
Default
Example
The length of the payload is ignored if this parameter is not specified.
128 will match a frame containing 128 bytes of payload. In this case the total frame length will be 147 bytes. The PHY header is always 5 bytes, the MAC header is always 10 bytes, and the
FCS is always 4 bytes.
Instruction Set Reference 83
Type
Description
Type of frame to match
Range
Default
0 to 7. The following constants can also be used: Beacon,
Control, Command, Data and AggregatedData.
The type of the frame is ignored if this parameter is not specified.
Example
Data will match data frames.
5 will match the first frame that contains value 5 in the MAC frame type field.
DestAddress
Description
Destination address of the frame to match.
Range
0 to 65535.
Default
The destination address is ignored if this parameter is not specified.
Example
0xABCD will match frames directed to the device 0xABCD.
1000 will match frames directed to the device 1000.
The value can be specified in decimal or hexadecimal.
SourceAddress
Description
Source address of the frame to match.
Range
0 to 65535.
Default
Example
The source address is ignored if this parameter is not specified.
0x1234 will match frames coming from the device 0x1234.
11 will match frames coming from the device 11.
The value can be specified in decimal or hexadecimal.
84 Instruction Set Reference
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
False
Example
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 85
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
5.16 WaitDataPattern Instruction
The WaitDataPattern instruction waits on raw data that matches the specified pattern from the defined offset.
Example
WaitDataPattern(
Data => [ 0x0A, 0x17, 0x7F ],
Mask => [ 0x0F, 0xFF, 0xFF ],
Offset => 5, // Skip PHY header
Interval => 15us,
Spacing => 0,
Timeout => 500ms);
WaitDataPattern(
Data => Buffer,
DataOffset => 0,
Mask => Buffer,
MaskOffset => 12,
Length => 6,
Offset => 5, // Skip PHY header
Interval => 15us,
Spacing => 0,
Timeout => 500ms);
86 Instruction Set Reference
Parameter List
Data
Description
Data pattern to match on.
Type
Default
Inline bytes (max 1024 bytes) or Buffer.
No default value; this parameter is mandatory.
Example
[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to match on these bytes.
Buffer to match on bytes specified in the user buffer.
DataOffset
Description
Offset in the buffer of the first data byte to use.
Range
0 to 8191.
Default
Example
0
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Mask
Description
Mask to apply on the data pattern. The mask is applied with an
AND operator.
Type
Default
Inline bytes (max 1024 bytes) or Buffer.
0xFF for all bytes specified in Data.
Example
[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.
Instruction Set Reference 87
MaskOffset
Description
Offset in the mask of the first byte to use.
Range
0 to 8191.
Default
Example
0
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Length
Description
Length of the specified data pattern.
Range
0 to 1023.
Default
Example
No default value; this parameter is mandatory.
5 will match 5 bytes.
Offset
Description
Offset in the frame raw data at which the data pattern starts matching.
Range
Default
Example
0 to 8191.
No default value; this parameter is mandatory.
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Default
Example
Boolean (True or False).
False
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
88 Instruction Set Reference
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 89
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
5.17 WaitSignature Instruction
The WaitSignature instruction waits on raw data matching the specified pattern anywhere in a frame.
Example
WaitSignature(
Data => [ 0x00, 0x09, 0x00,
0xE0, 0x00 ],
Mask => [ 0x0F, 0x0F, 0xFF,
0xF0, 0xFF ],
Interval => 17.752,
Timeout => 500ms);
WaitSignature(
Data => Buffer,
DataOffset => 200,
Mask => Buffer,
MaskOffset => 400,
Timeout => 500ms);
90 Instruction Set Reference
Parameter List
Data
Description
Data pattern to match on.
Type
Default
Inline bytes (max 16 bytes) or Buffer.
No default value; this parameter is mandatory.
Example
[ 0x00, 0x09, 0x00, 0xE0, 0x00 ] to match on these bytes.
Buffer to match on bytes specified in the user buffer.
DataOffset
Description
Offset in the data of the first byte to use.
Range
0 to 8191.
Default
Example
0
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Mask
Description
Mask to apply on the data pattern. The mask is applied with an
AND operator.
Type
Default
Inline bytes (max 16 bytes) or Buffer.
0xFF for all bytes specified in Data.
Example
[ 0x0F, 0x0F, 0xFF, 0xF0, 0xFF ] will use these bytes for the mask.
Instruction Set Reference 91
MaskOffset
Description
Offset in the mask of the first byte to use.
Range
0 to 8191.
Default
Example
0
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
False
Example
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
92 Instruction Set Reference
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
5.18 WusbDeviceNotification Instruction
The
WusbDeviceNotification instruction helps sending device notifications to the host. It waits for a specific Wireless USB MMC containing a CTA IE, looks for a DNTS CTA matching the criteria, and then transmits the supplied raw data at the specified time.
Example
WusbDeviceNotification(
HostAddress => 0xBEEF,
NumberOfSlots => 16,
SlotToTransmit => 0,
Instruction Set Reference 93
Timeout => 500ms,
RawData => [ 0x00, 0x01,
0x02, 0x03,
0x04 ],
Interval => 17.752us);
WusbDeviceNotification(
HostAddress => 0xBEEF,
NumberOfSlots => 16,
SlotToTransmit => 0,
Timeout => 500ms,
RawData => Buffer,
RawDataOffset => 200,
Interval => 17.752us);
Parameter List
HostAddress
Description
Address of the Host sending the MMC to match.
Range
0 to 65535.
Default
Example
The host address is ignored if this parameter is not specified.
0xB1E5 will match frames coming from the host with address
0xB1E5.
NumberOfSlots
Description
Number of slots of the DNTS to match.
Range
0 to 255.
Default
The number of slots is ignored if this parameter is not specified.
Example
7 will match DNTS CTA IE containing 7 slots.
94 Instruction Set Reference
SlotToTransmit
Description
Slot in wich the notification should be sent.
Range
0 to 31.
Default
Example
No default value; this parameter is mandatory.
2 will transmit the raw data in slot number 2.
wStartOffset
Description
Offset from the nominal wStart value as specified in the Certified
Wireless USB Specification.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
-8,191 to +8,191 clock cycles or -124.106 to +124.106 microseconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
Example
False
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Instruction Set Reference 95
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
96 Instruction Set Reference
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
RawData
Description
Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY
Interface 1.0).
Type
Default
Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.
No default value; this parameter is mandatory.
Example
[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,
0x00, 0x39, 0x00 ] to use these bytes for the instruction.
Buffer to use bytes from the user buffer.
RawDataOffset
Description
Offset in the raw data of the first byte to use.
Range
0 to 8191.
Default
Example
No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Instruction Set Reference 97
ComputeFcs
Description
Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.
Type
Default
Boolean (True or False).
False
Example
True to replace the specified FCS bytes with the computed
FCS.
False to leave the specified FCS bytes as is.
5.19 WusbDeviceTransmit Instruction
The WusbDeviceTransmit instruction helps sending device packets to the host. It waits for a specific Wireless USB MMC containing a CTA IE, looks for a DT CTA matching the criteria, and then transmits the supplied raw data at the time specified by the host.
Example
WusbDeviceTransmit (
HostAddress => 0xBEEF,
DeviceAddress => 1,
DeviceEndpoint => 0,
Timeout => 500ms,
RawData => [ 0x00, 0x01,
0x02, 0x03,
0x04 ],
Interval => 17.855us);
Parameter List
HostAddress
Description
Address of the Host sending the MMC to match.
Range
0 to 65535.
Default
Example
The host address is ignored if this parameter is not specified.
0xB1E5 will match frames coming from the host 0xB1E5.
98 Instruction Set Reference
DeviceAddress
Description
Address of the Device in the DNTS to match.
Range
0 to 65535.
Default
Example
This field is ignored if this parameter is not specified.
0x0001 will match frames coming from the device 0x0001
DeviceEndpoint
Description
Endpoint of the Device in the DNTS to match.
Range
0 to 15.
Default
Example
No default value; this parameter is mandatory.
1 will match device endpoint 1.
wStartOffset
Description
Offset from the nominal wStart value as specified in the Certified
Wireless USB Specification.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
-8,191 to +8,191 clock cycles or -124.106 to +124.106 microseconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 99
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
False
Example
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
100 Instruction Set Reference
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
RawData
Description
Raw data to be used (including PHY header, MAC header, payload and FCS as specified in the WiMedia MAC/PHY
Interface 1.0).
Type
Default
Inline bytes (min 15 bytes, max 4114 bytes) or Buffer.
No default value; this parameter is mandatory.
Example
[ 0x00, 0x00, 0x40, 0x00, 0x00, 0x40,
0x06, 0x5A, 0xB0, 0x57, 0xC0, 0x00,
0x00, 0x39, 0x00 ] to use these bytes for the instruction.
Buffer to use bytes from the user buffer.
RawDataOffset
Description
Offset in the raw data of the first byte to use.
Range
0 to 8191.
Default
Example
No default value; this parameter is mandatory when Buffer is used in RawData. This parameter cannot be used when inline bytes are specified in RawData.
0 will start matching at the beginning of the PHY header.
5 will start matching at the beginning of the MAC header.
15 will start matching at the beginning of the payload.
Instruction Set Reference 101
ComputeFcs
Description
Specifies if the FCS bytes should be computed automatically by the hardware instead of using the specified values.
Type
Default
Boolean (True or False).
False
Example
True to replace the specified FCS bytes with the computed
FCS.
False to leave the specified FCS bytes as is.
5.20 WusbWaitDntsCta Instruction
The WusbWaitDntsCta instruction helps sending device packets to the host.
It waits for a specific Wireless USB MMC containing a CTA IE and looks for a DNTS CTA matching the criteria. This instruction is usually followed by a
SendFrame Instruction for transmitting the required frame at the desired time.
Example
WusbWaitDntsCta(
HostAddress => 0xBEEF,
NumberOfSlots => 16,
Timeout => 500ms,
Interval => 15.568us);
Parameter List
HostAddress
Description
Address of the Host sending the MMC to match.
Range
0 to 65535.
Default
The host address is ignored if this parameter is not specified.
Example
0xB1E5 will match frames coming from the host 0xB1E5.
102 Instruction Set Reference
NumberOfSlots
Description
Number of slots of the DNTS to match.
Range
0 to 255.
Default
Example
This field is ignored if this parameter is not specified.
7 will match DNTS CTA IE containing 7 slots.
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
Example
False
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 103
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
104 Instruction Set Reference
5.21 WusbWaitDtCta Instruction
The WusbWaitDtCta instruction helps sending device packets to the host. It waits for a specific Wireless USB MMC containing a CTA IE and looks for a
DT CTA matching the criteria. This instruction is usually followed by a
SendFrame Instruction for transmitting the required frame at the desired time.
Example
WusbWaitDtCta(
HostAddress => 0xBEEF,
DeviceAddress => 1,
DeviceEndpoint => 0,
Timeout => 500ms,
Interval => 15.598us);
Parameter List
HostAddress
Description
Address of the Host sending the MMC to match.
Range
0 to 65535.
Default
Example
The host address is ignored if this parameter is not specified.
0xB1E5 will match frames coming from the host 0xB1E5.
DeviceAddress
Description
Address of the Device in the DNTS to match.
Range
0 to 65535.
Default
Example
This field is ignored if this parameter is not specified.
0x0001 will match frames coming from the device 0x0001
Instruction Set Reference 105
DeviceEndpoint
Description
Endpoint of the Device in the DNTS to match.
Range
0 to 15.
Default
Example
No default value; this parameter is mandatory.
1 will match device endpoint 1.
MatchOnlyValidFcs
Description
Specifies if the instruction will only match frames with valid FCS.
Type
Boolean (True or False).
Default
Example
False
True will break the script if a match occurs and the FCS of the received frame is valid.
False will break the script if a match occurs independently of the FCS value of the received frame.
Interval
Description
Delay between the beginning of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
0
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
106 Instruction Set Reference
Spacing
Description
Delay between the end of this instruction and the beginning of the next instruction.
Type
Range
Time expressed as 66 MHz clock cycles or seconds.
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
MIFS
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Timeout
Description
Timeout after which the instruction is aborted.
Type
Time expressed as 66 MHz clock cycles or seconds.
Range
0 to 4,294,967,296 clock cycles or 0 to 65 seconds with a precision of 15.1515 nanoseconds.
Default
Example
Waits for ever if not specified.
1.32ms means 1,320 microseconds or 87,120 clock cycles.
600ns will be floored down to 39 clock cycles.
3960clk means 3,960 clock cycles or 60 microseconds.
1000 (without unity) is not allowed and will generate a warning.
Instruction Set Reference 107
108 Instruction Set Reference
Frequently Asked Questions
Q
The WiMedia Explorer 300 transmits data using a USB 2.0 connection. Do I need a USB 2.0 host controller?
A
Although the WiMedia Explorer 300 can upload or download data on a full speed USB 1.1 connection, Ellisys strongly recommends that you connect it to a high speed USB 2.0 port to obtain optimal performance. If you experience problems with the
WiMedia Explorer 300, please ensure it is connected on a high
2.0 enabled host controller before contacting technical support.
Q What is the maximum amount of data that I can analyze with the Ellisys WiMedia Explorer 300 Analyzer?
A
The Analyzer uses the host-computer memory and hard disk to store analyzed data. The maximum quantity of data is therefore limited by the size of the analysis computer’s central memory
(RAM) and hard disk.
Q What is the maximum amount of data that I can generate with the Ellisys WiMedia Explorer 300 Generator?
A
The Generator uses its internal memory to store data to be generated. The maximum quantity of data is therefore limited by the size of the internal memory.
Q
I have been told that Ultrawideband or WiMedia has not yet been regulated in my country. Can I start developing
UWB or WiMedia devices without causing unauthorized interferences?
A
Wireless information is transmitted over the air between devices through electromagnetic fields. These fields must stay within certain limits that have already been defined and accepted in the USA but regulations are still in progress in many other countries. Ellisys proposes a Wired Kit to connect the system under test with high frequency cables. Please contact the Ellisys sales team for more information.
109
110
Q Is it possible to upgrade the firmware of the WiMedia
Explorer 300?
A
Yes, the firmware is automatically updated with each new software release. No user intervention is required; the latest version of the firmware will be downloaded when you run the most recent version of the software.
Q
What can I connect to the large connector on the back of the product?
A
The Auxiliary Equipment connector enables hardware extensions. Several options are currently available and others may be provided in the future. Please contact the Ellisys sales team for more information.
Q I cannot run the software installation file, why?
A
The software installation file requires Microsoft Windows
Installer 3.0 or higher, which is available for download from the
Microsoft web site.
Q
When my wireless devices are not generating frames the
WiMedia Explorer 300 records a few invalid frames. What are these frames?
A
The invalid frames are observing are called false detects. These sporadic false detects are caused by ambient noise. They can be safely ignored or filtered.
Q The frame error rate is quite high. What can I do?
A
Please follow the WiMedia Explorer recommendations in
2.7 Placing the WiMedia Explorer 300
, on page 25. If the frame error rate continues to be high, bring the
transmitting units closer and/or try working at a lower data rate.
Need more help?
Go to the Ellisys web site and the following pages for the latest information:
•
Ellisys products page - Go to www.ellisys.com/products for the latest product information and documentation.
•
Application notes and white papers - Go to www.ellisys.com/
technology to find up-to-date information about the technology.
•
Distributors - Go to www.ellisys.com/sales/ to find a list of Ellisys distributors.
•
Technical support - Go to www.ellisys.com/support/ to send a question directly to the Ellisys support team.
111
112
Glossary
This glossary lists terminology terms, abbreviations and acronyms that you may come across while reading this User Guide and working with
Ellisys products.
ACK
Addr
Analyzer
Antenna
API
Bandwidth
Beacon
BIN
BER
BNC
Bookmark bps
Breakpoint
Code
Snippet
CSV
Acknowledgment code - Usually sent at the end of successful transaction.
Address - A field used to identify a given device.
An instrument that capture traffic exchanged between devices.
An apparatus for sending or receiving electromagnetic waves.
Application Programming Interface - A set of functions used by a program to communicate with another.
The transmission capacity of an electronic pathway such as a communication line, computer bus or computer channel.
A data structure sent periodically to enable device discovery, dynamic network organization and support for mobility.
Binary - A representation of values that uses two symbols, typically 0 and 1.
Bit Error Rate - The number of bits in error divided by the total number of bits.
Bayonet-Neill-Concelman - A connector for coaxial cables.
A stored location for quick retrieval at a later date.
Bits per second - The measurement of the speed of data transfer in communication systems.
The location in a program used to temporarily halt the program for testing and debugging.
A small piece of program code usually used to guide the user.
CTA
Comma-separated Values - A delimited data format that has fields separated by the comma character and records separated by new lines.
Channel Time Allocation - An amount of time during which a
Wireless USB device is allowed to use the channel for transmission or reception.
113
114
DR
DT
DUT
EDX
EFO
ESE
EUI-48
Dec
DestAddr
DNTS
FCS
FIFO
FER
Frame
Gbps
GByte
HCS
Hex
Handshake
Decimal - A representation of values that uses ten symbols, typically 0 to 9.
Destination Address - A field that identifies the recipient of a packet of information.
Device Notification Time Slot - Used to let a Wireless USB device send a notification, as for example to emulate wired
USB signaling events.
Device Receive - Used to send data to a Wireless USB device.
Device Transmit - Used to let a Wireless USB device transmit data.
Device Under Test - A device that is being analyzed or debugged.
Ellisys index file - A file format used to index information found in another file.
Ellisys file format - A file format used to store information captured by an analyzer.
Ellisys settings file - A file format used to store user settings.
Unique identifier partly assigned by the IEEE RAC and partly defined by the manufacturer of an equipment to uniquely identify a networking device.
Frame Check Sequence - A number added to a stream of information that is used for error detection.
First In First Out - A storage method that retrieves first the item stored for the longest time.
Frame Error Rate - A measure of the number of frames in error divided by the total number of frames.
A block of data transmitted over a communication link. A frame can usually encapsulate one or more packets.
Gigabits per second - 1,073,741,824 bits per second.
Gigabytes - 1,073,741,824 bytes.
Header Check Sequence - A number added to a header that is used for error detection.
Hexadecimal - A representation of values that uses sixteen symbols, typically 0 to 9 and A to F.
The resulting status of a data exchange.
MAC address
Mbps
MByte
MIC
MIFS
MMC
Host
IDE-type connector
IE
LED
Kbps
KByte
Loop
MAC
NAK
OFDM
Packet
Payload
A computer that acts as a source of information or signals.
A type of electric connector usually attached to a flat ribbon cable.
Information Elements - A data structure that contains one or several fields that can be decoded using the corresponding specification.
Light Emitting Diode - Display and lighting technology commonly used on electronic equipment to indicate their status.
Kilobits per second - 1,024 bits per second.
Kilobytes - 1,024 bytes.
A repetition within a program or script.
Media Access Control - Usually an electronic component that performs protocol-level encapsulation, decapsulation, integrity checking and scheduling.
A number that identify the recipient of a packet of information.
MAC addresses are commonly coded using EUI-48.
Megabits per second - 1,048,576 bits per second.
Megabytes - 1,048,576 bytes.
Message Integrity Check - A cryptographic checksum used in the handshaking process to verify the integrity of the packet.
Minimum Inter Frame Spacing - The minimum time between two consecutive frames.
Micro-scheduled Management Command - A structure for maintaining Wireless USB channel and accomplishing data communications.
Negative Acknowledgement - An answer to a request that can express anything but acceptance.
Orthogonal Frequency Division Multiplexing - OFDM's spread spectrum technique distributes the data over a large number of carriers that are spaced apart at precise frequencies.
A block of data that is transmitted over a communication link. A packet can be encapsulated in a lower-level frame.
The actual data in a packet minus all headers attached for transport and minus all descriptive metadata.
115
116
PHY
Protocol
RX
Scambler
ScrAddr
Script
Security key
SIFS
Snippet
SOF
Stream
Time Slot
TX
Ultra wideband
USB
UWB
WdntsCTA
WdrCTA
In wireless communications, the PHY enables the actual transmission by transforming over-the-air frames into electrical signals that are transmitted to a MAC, or vice-versa.
The format and procedures that govern the transmitting and receiving of data.
A communication abbreviation for receive.
A device or software program that encrypts data.
Source Address - A field that identifies the sender of a packet of information.
A set of instructions that is executed without user interaction.
A numeric code that is used for encryption and security purposes.
Standard Inter Frame Spacing - The time that is expected between two frames.
A small piece of program code that guides the user in how to write a specific instruction.
Start of Frame - A packet used for USB time synchronization.
The continuous flow of data from one place to another.
Interval of time in which a device is allowed to transmit or receive data.
A communication abbreviation for transmit.
A technology for transmitting information spread over a large bandwidth (>500 MHz) aimed to share spectrum with other users. WiMedia UWB is an UWB protocol defined by the
WiMedia Alliance.
Universal Serial Bus - An interface that connects between a computer and peripheral devices (such as a keyboard, game controllers, telephone, printer, etc.).
Ultra wideband - A technology for transmitting information spread over a large bandwidth (>500 MHz) aimed to share spectrum with other users. WiMedia UWB is an UWB protocol defined by the WiMedia Alliance.
Device Notification Time Slot - Used to let a Wireless USB device send a notification, as for example to emulate wired
USB signaling events.
Device Receive - Used to send data to a Wireless USB device.
WdtCTA
WiMedia
Wireless
WUSB
XML
Device Transmit - Used to let a Wireless USB device transmit data.
WiMedia is an ISO-published radio platform standard for highspeed ultra wideband (UWB) wireless connectivity. With efficient power consumption and high data rates.
A radio transmission that does not use cable and can possibly transmit information over the air.
Wireless USB - An evolution of USB that enables wireless communication over WiMedia Ultra-wideband.
Extensible Markup Language - A reasonably human-legible structured language aimed to facilitate the sharing of data across heterogeneous information systems.
117
118
Index
B
back panel overview
bookmarks code
enable
move to next or previous
remove
toggle
breakpoints
insert
remove
C
code bookmarks
breakpoints
searching
compiling
connecting to the computer
E
editing advanced
features
scripts
editor script
errors searching
F
files opening
printing
saving
working with
front panel overview
G
generator external antenna
features
overview
L
language reference
M
main menu
mounting external antenna
O
opening files
panes
organizing panes
output pane
P
panes close
default
hide
opening
organizing
output
register
window placer
printing files
R
register pane
registers
select a format
running scripts
S
saving files
script editor
scripts advanced editing features
break or pause
change text case
comment a selection
compiling
display colums 80 guide
editing
find an error
119
120 highlight a current line
mark line modifications
restart
running
step
stop
uncomment a selection
unmark line modifications
searching code
errors
regular expression
wildcards
software installing
prerequisites
T
toolbar main toolbar
U
user interface
W
window placer
121
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 5 Table of Contents
- 7 About this Manual
- 9 1 Ellisys WiMedia Explorer 300 Generator Overview
- 9 1.1 Product Overview
- 9 1.2 Main Features
- 11 2 Installing the Ellisys WiMedia Explorer 300
- 11 2.1 Software Prerequisites
- 12 2.2 Installing Software
- 18 2.3 Front Panel Overview
- 19 2.4 Back Panel Overview
- 19 2.5 Mounting the External Antenna
- 20 2.6 Connecting to the Computer
- 25 2.7 Placing the WiMedia Explorer 300
- 27 3 User Interface Reference
- 28 3.1 Organizing Panes
- 29 3.2 Main Toolbar
- 31 3.3 Main Menu
- 35 3.4 Opening a File
- 35 3.5 Saving a File
- 36 3.6 Printing a File
- 37 3.7 Editing a Script
- 38 3.8 Advanced Editing Features
- 39 3.9 Searching
- 42 3.10 Working with Bookmarks
- 43 3.11 Working with Breakpoints
- 44 3.12 Compiling a Script
- 45 3.13 Running a Script
- 47 3.14 Working with Registers
- 49 4 Language Reference
- 49 4.1 Comments
- 49 4.2 Include Files
- 50 4.3 Constants Declaration
- 50 4.4 Variables Declaration
- 51 4.5 Functions Declaration
- 52 4.6 Function Calls
- 53 4.7 Enumerations Declarations
- 54 4.8 Namespaces Declarations
- 55 4.9 Buffer Usage
- 55 4.10 Counters
- 55 4.11 Timers
- 57 4.12 Stop Keyword
- 57 4.13 Breakpoint Keyword
- 57 4.14 If Statement
- 58 4.15 Switch Statement
- 59 4.16 Repeat Statement
- 59 4.17 While Statement
- 60 4.18 Do While Statement
- 60 4.19 For Statement
- 61 4.20 Mathematical expressions
- 63 4.21 Conditional expressions
- 65 5 Instruction Set Reference
- 65 5.1 Sleep Instruction
- 66 5.2 StartCountdown Instruction
- 67 5.3 WaitCountdownReached Instruction
- 68 5.4 StartTimer Instruction
- 69 5.5 StopTimer Instruction
- 69 5.6 WaitTimer Instruction
- 71 5.7 CopyMemory Instruction
- 73 5.8 CompareMemory Instruction
- 75 5.9 WaitButtonPressed Instruction
- 76 5.10 WaitTriggerIn Instruction
- 77 5.11 GenerateTriggerOut Instruction
- 78 5.12 SetChannel Instruction
- 79 5.13 SetTxPowerAttenuation Instruction
- 80 5.14 SendFrame Instruction
- 83 5.15 WaitFrame Instruction
- 86 5.16 WaitDataPattern Instruction
- 90 5.17 WaitSignature Instruction
- 93 5.18 WusbDeviceNotification Instruction
- 98 5.19 WusbDeviceTransmit Instruction
- 102 5.20 WusbWaitDntsCta Instruction
- 105 5.21 WusbWaitDtCta Instruction
- 109 Frequently Asked Questions
- 113 Glossary
- 119 Index