Data sequence to niUSRP write Tx Data

Hay all,
Currently, I'm trying to develop 802.15.4 system. I have a few question about the data sequence that being fetched into niUSRP write Tx Data.vi. 
The vi (niUSRP write Tx Data) accepts IQ data from modulation block, What is the sequence for data that is being transmitted? For example, bitstream is modeled as array, which array[] is tranmitted first? The LSB, or the MSB.
The standard itself (802.15.4) specify that the least bit (C0) is transmitted first. 
Thank you.

my TICC2530 has been sucessfully detected the signal, but the decoding still messy.
And I have problew, because 
"niUSRP Write Tx Data (CDB Cluster).vi<ERR>Underflow: the Tx buffer was emptied before new data was provided.  Consider reducing the IQ rate, increasing the Write rate, or increasing the number of samples per Write."
I already tried to change the registry, as mentioned in here Increasing-write-rate , but, I still have the problem, when I run the IQ rate > 4M and samples per symbol 4. Hence, the CC2530 won't recognize the signal, if I set the IQ rate to be 4M. This in the constelation for my custom OQPSK half sine pulse (4M, 4samples/symbol, Symbol rate 1M)
and my CC2530 will recognize the signal if I set the IQ rate 8M and samples per symbol 8, here is the constelation diagram
So, my question is, how to handle the error?

Similar Messages

  • Sequencing applications that write to the users profile

    Hi
    I am sure its possible to capture and sequence applications that write to a users profile but will their be any issues with this ? if it writes to roaming and local area of appdata ?. Do you forsee any issues ?
    Thanks

    You can read this article by Kirx and see all the pros and cons.
    Two conclusions:
    For a consistent experience, a UEM solution is required that maintains storing and restoring of non-roaming configuration data
    UEM is a must-have for most App-V 5 implementation
    So, you can use UE-V or some UEM product to prevent issues.

  • Blu-ray error device error code "3" create sequence fail to write m25 file

    Continue to get this error message when outputting to blu-ray, can burn to dvd just fine. It seems I have experienced this issue in the past but don't recall how I resolved.
    tried re-saving to new file name.

    I found 3 other discussions... one of them may help
    Re: Blue ray Error -  "Device not ready", Code:"3", Notes -   Any ideas what this means?
    Blu-ray error: "device error", Code "3", Note: "AS_StorageError = -97064
    Blu-ray Error: "divide error", Code: "3", Note: "AS_StorageError = -97060

  • I would like to build I data base in teststand which collect data from labview , if you have example (sequence) that give me some way to build sequence

    I would like to build a data base in teststand which collect data from labview program , if you have example (sequence) that give me some way to build sequence that have step of action for labview and step
    data base

    There is an example in the \TestStand\Examples\Database directory. Basically there are two ways to connect to your database.
    1. You can use the TestStand database step types. There are steps for opening/closing a database connection, opening/closing an SQL statement, and a step for performing a data operation.
    2. The other way is to use the TestStand database logging capability to write your results to the database. This is the way I would recommend. With database logging, you use the step results container to record all your results as the sequence runs. (This is done automatically by TestStand). When the sequence is complete, the process model calls a "Log to Database" sequence that will write the results to the database. You must define your datab
    ase schema using Configure->Database Options. There are some default (or example) schema definitions already defined. Refer to chapter 18 of your TestStand manual.
    Another way to log the data as the sequence is running is shown in the \TestStand\Examples\OnTheFlyReports. This has the advantage of recording data as it is obtained, but it is not as efficient in terms of using a database connection. I don't recommend using this method.
    Please post again if you have any more questions. If you are using stored procedures with your database, I can probably give you some tips.
    Mark

  • Sending CW between individual transmissions of data

    Hi,
    I would like to set USRP to a mode, in which it keeps sending CW until it has been triggered for next transmission of user-defined data using niUSRP Write TX Data.vi. The background is following: I define data, send them and receive and while processing the received data and preparing them for next transmission I need to keep the CW on. Is there a way to do this?
    Best regards,
    Vojtech
    Solved!
    Go to Solution.

    Hello Vojtech,
    What you need would be similar architecure as the TDM example that was recently posted.
    Instead of feeding zeros to the USRP for IQ pairs, you would need to send some other constant value such as 0.5 or 1.0 and keep a constant stream of IQ pairs transmitted to the USRP to prevent buffer underflows
    Anthony F.
    Product Marketing Engineer
    National Instruments

  • I am writting a test  using a sequencer to test for multiple button click

    I'm using flex sdk 4.1 and have a situation where a  button click is sometimes called twice. I am writting a test for this using a sequencer and it will run for at least one button click, what I am not sure is how to test for multiple click events(which shouldn't happen, but occours randomly in my project)
    package tests.view
        import flash.events.MouseEvent;
        import flexunit.framework.Assert;
        import mx.events.FlexEvent;
        import org.flexunit.async.Async;
        import org.fluint.sequence.SequenceEventDispatcher;
        import org.fluint.sequence.SequenceRunner;
        import org.fluint.sequence.SequenceWaiter;
        import org.fluint.uiImpersonation.UIImpersonator;
        import views.AddComments;
        public class TestAddComments
            private var view:AddComments;
            [Before(async,ui)]
            public function setUp() : void
                view = new AddComments;
                Async.proceedOnEvent( this, view, FlexEvent.CREATION_COMPLETE, 600 );
                UIImpersonator.addChild( view );
            [Test]
            public function testButtonClick():void
                view.addCommentBtn
                var sequence:SequenceRunner = new SequenceRunner( this );
                sequence.addStep( new SequenceEventDispatcher( view.addCommentBtn, new MouseEvent( 'click', true, false ) ) );
                sequence.addStep( new SequenceWaiter( view.addCommentBtn, MouseEvent.CLICK, 100 ) );
                sequence.run();

    The only way you could test for that type of circumstance... one where something may happen... is to do so with a timeout. In other words, you cannot let the test pass simply because the first event occurred.
    Two ways to handle this... with sequences:
    Instead, you write a test that expects 2 clicks. In the assertion handler (which would only be reached if both clicks occur) you would fail the test:
    fail('i shouldnt be here');
    In the Waiter for the 2nd click, you would specify a timeout handler. That timeout handler will get called in the 2nd click does not occur in the specified time... (finding that time is the hard part). The default timeout handler fails the test, however, in your case, your timeout handler would just happily do any assertions needed and move on. A timeout does not necessarily mean failure... in your case, it is correct
    Second choice:
    You could create a timer. Create an event handler for the button click which increments a counter. Start the timer, do your test. However, have your test pending on the timer's completion rather than something like the click.. In that case, you would then be able to just check the count:
    private var clickCount:int = 0;
    [Test]
    public function testButtonClick():void {
         var timer:Timer = new Timer( 100, 1 );
        Async.handleEvent( this, timer, TimerEvent.COMPLETE, checkClickCount );
         view.addCommentBtn.addEventListener( 'click', function( e:Event ):void { clickCount++ } );
         view.addCommentBtn.dispatchEvent( new MouseEvent( 'click;, true, false ) );
    private function checkClickCount( e:Event ):void {
    assertEquals( 1, clickCount );
    However, I can't imagine how the test you are describing could ever yield more than one click event... I am guessing the problem is elsewhere, but this will help you verify
    Mike

  • Time Stamp in Write LVM

    How can the date/time stamp be reset when writing an LVM file.  The new_input starts a new file, but the date/time stamp is not reset (the first sample time of the new file is offset from the previous file).
    The date/time stamp is reset when the the program is stopped and restarted, but I would like to do this programmatically.
    Mike

    Let me add some details to the problem.... My observation is that the Write LVM Express VI on its first call writes the header which includes the date/time stamp.  If waveforms are present at that first call, it will write them along with their date/time stamp.  If the waveform date/time stamp is equal to the LVM header date/time stamp, the first "X" value will be 0.  The X values are the offset by: 
    (the waveform date/time stamp + sample*dt)- LVM header date/time stamp 
    On the second thru n call of the Write LVM VI, the waveforms are written with the X value following the equation above.  The process of writing the LVM file works great if the VI is currently stopped, run VI, VI writes data, and then Stop VI.  The next running of this sequence will correctly write the new file.
    My issue is that I can not execute the Start/Stop VI sequence.  My Write LVM VI is in a loop with the Write LVM VI loop selected by a case structure.  What I need is to be able to emulate a first call to the Write LVM VI which will  assign the new filename and write the header properly (i.e. assigning a new date/time stamp based on the first call).  I've tried combinations of the new_filename and reset inputs to the VI, but these do not reset the date/time stamp in the header.   Any ideas to make the Write LVM work in this manner?  I would prefer to modify the existing Express VI or put some shell around it to perform this function. 
    Thanks,
    Mike.

  • Intermittent report file write error in process model

    Hello,
    We have recently seen a couple errors we have not seen before, that are intermittent.   This occurs in the single pass entry point sequence, the first "write UUT report" step (the non-on-the-fly one).  The error message is as follows:
    "An error occurred calling 'Save' in 'Report' of 'NI TestStand API 4.0'
    A file with the pathname 'T:\HTC' already exists.. Error writing to file 'T:\HTC\WING\3WWE\StressTest.seq\StressTest_Report[NO_UUT_SERIAL_NUM13][3 23 37 PM][4 28 2008] - TS2.html'."
    So when breaking here, and looking at Locals.ReportFilePath (which is the pointed to variable in the specifiy module of this step), it was indeed defined as:
    T:\HTC\WING\3WWE\StressTest.seq\StressTest_Report[NO_UUT_SERIAL_NUM13][3 23 37 PM][4 28 2008] - TS2.html
    So everything looks correct, but it thinks that "T:\HTC" is the entire path.  So the next thing I did, after much confused pondering, was go to the "variables" tab while in break, and add an extra backslash to the part following "T:\HTC" in Locals.ReportFilePath so that the path is now:
    T:\HTC\\WING\3WWE\StressTest.seq\StressTest_Report[NO_UUT_SERIAL_NUM13][3 23 37 PM][4 28 2008] - TS2.html
    I hit retry and it worked.  So my question is, if teststand is thinking the "\W" is an escape code, why does it work 99%+ of the time, and suddenly this weird problem? 
    Thanks

    "A file with the pathname 'T:\HTC' already exists."
    This error indicates that there was a file called "T:\HTC" so the report saving code was not able to create a directory with that name. I doubt this has anything to do with backslash escaping anything since there is no expression evaluation involved and \W is not a valid backslash escapable character anyway.
    Why you had a file called HTC I do not know, but I looked and that is what this error is for. The Report saving code attempts to create all of the intermediate directories if they do not already exist and if one happens to exist, but is a file and not a directory you will get this error (it is the error we get from the operating system). It is possible there is a issue with the OS where it incorrectly reports this error in some cases (perhaps with multithreaded access), but that I do not know for certain.
    In searching for known OS issues I found the following:
    http://support.microsoft.com/kb/q268897/
    "On the other hand, an attempt to create a new C:\Development\Bin folder through the use of CreateDirectory() will fail with "ERROR_ALREADY_EXISTS". In this case, the API fails when it should succeed."
    Although it does sound like it was fixed in a service pack. Are you by any chance using NTFS on Windows 2000 and are not up to date with the lastest service pack?
    Also it's possibly an unknown OS bug, what OS version are you using and can you reproduce the problem in a simple case?
    Also, just to be sure you might want to make sure nothing is creating a file called 'T:\HTC' in your code.
    Hope this helps.
    -Doug
    Message Edited by dug9000 on 04-30-2008 10:58 AM

  • Can't write to station globals in deployed system

    When I run Teststand distribution on the target system, I can’t write to the station globals from my custom application that uses the Teststand engine.  The following are the facts:
    When I run my custom application, my sequence can’t write to any of the station globals.  The function TS_PropertySetValString returns : -2147024890.
    I made sure that my distribution included the sequence editor.  When I run my sequence in the editor, I don’t get any errors AND the fields in the station globals are actually updated with the correct values.
    I have updated all of the users using the “User Viewer” in the sequence editor to make sure that the “Edit Station Globals” and “Grant All” are true.  I have added code to my custom application to query the engine for these flags and display them in a popup, the flags are TRUE.
    I also made sure that the “Check User Privileges” under the “User Manager” in the sequence editor is OFF.  It made no difference
    I am at a total loss.  Any ideas?
    Todd

    Inside my custom application EXE that launches the teststand engine, the following call works:
    tsErrChkMsgPopup(TS_PropertySetValString (m_oGlobals, &errorInfo, "TestConsoleInfo.Operator", 0, sText));
    The above call uses a globals object
    Inside the DLL, that is invoked by the sequence file being executed by my custom application, the following function fails with totally bogus info in the tsiErrorinfo structure.  And yes, the sequence handle is valid because this same sequence handle is used to read from the station globals, we just can't write to the station globals.
    iStatus = TS_PropertySetValBoolean(g_iTSseqHandle, &tsiErrorinfo,
             "StationGlobals.ErrorInfo.CurrentError.Occured",
             0, 1);
    The above call uses a sequence object
    Todd

  • Serialization of sequence

    I am trying to serialize a javafx class that contains a sequence and then write it but sequences are not serializable. Is there any way around this?

    Convert javafx sequence to java ArrayList. ArrayList implements Serializable interface.

  • Transmit Continuous Problem N200

    Hello,
    I have build a systems which should continously transmit packages containing only zeros and only at certain time interval (e.g. every 2 seconds) transmit a valid ofdm package. My problem is that the transmit vi "niUSRP Write Tx Data" is too fast. If I want to transmit 10000 samples with an IQ-Rate of 1 MS/sec my transmit-time should be 10 ms. But in Labview the VI only takes about 1 ms to transmit the data to the buffer of the usrp boards and then jumps back and already transmits the next package. Because of this I can't transmit my ofdm package at a certain time stamp as I have no idea on how much data is buffered at the usrp at the moment etc. If I use the "End of Data=true" property of the "niUSRP Write Tx Data"-VI the time is much greater than 10 ms.
    Anyone any idea?
    Thanks
    Solved!
    Go to Solution.

    Hello msind,
    I hope this screenshot is also sufficient.
    Before this part I am only initializing the USRP board with my IQ-Rate (1.62MS/sec) etc. (#2), generating the OFDM-Blocks/Zero-Blocks (#1) and providing my interval time (#3, e.g. 0.5 seconds). In the sequence structure (#4) I transmit my choosen block (normal Zero-Block), get the USRP-Board time and add the additional time since the last transmission to my total time value (#5) which is basically my counter. If this time becomes greater than my time intervall from #3 I want to switch from only transmitting blocks containing zeros to my OFDM Block. But from #6 I know that although my transmission of e.g. 10000 samples with a sample rate of 1 MS/sec should take about 10 ms the time difference in #6 is only about 1 ms. So basically the data is send to the board in 1 ms and then jumps back to the beginn of my while loop and transmits data again. Because of this I can never be sure when my OFDM-Block is transmitted (Don't know the state of the buffer).
    What I want is for the VI to only transmit data after the buffer is empty. If I try the same setup with "end of data=true" I get an addiotional 60 ms delay.
    I hope this clears up some things.

  • RT: How do I use two independen​t Ethernet ports?

    I have looked around at the forums and seems like no one has had a real solid answer or example on how to use 2 Ethernet ports with RT.
    Right now I have two connections configured on the RT:
    Primary Connection:
    IP:192.168.2.181
    Subnet mask: 255.255.255.0
    Gateway: 192.168.1.1
    DNS Server: 192.168.1.1
    Secondary Connection:
    IP:192.168.1.180
    Subnet mask: 255.255.255.0
    Gateway: 192.168.1.1
    DNS Server: 192.168.1.1
    After using this initial setup, I made a RT project where I used 'UDP Open' for both 192.168.2.181 and 192.168.1.180, and had them both read and write in a sequence (Read and Write for the 2.181 connection, then Read/Write for 1.180).
    The computer I'm using to send the data is connected to a switch, which in turn is connected to the RT. Both the RT and my host computer have 2 ports, one of them with ports configured to be 192.168.2.x and 192.168.1.x
    Using this configuration I get some weird results:
    If I send a packet to 192.168.2.181, I receive it from the UDP Receive vi that has an input connection from my UDP Open assigned to 1.180. I also receive the data the same way when sending packets to 1.180 (as expected). Basicly, no matter what IP I'm sending it to on the RT, the data from either packet will arrive from the same location/vi.
    Why is this? Is there anyway to fix this? Did I not configure something correctly?
    Does anyone have an example of dual Ethernet ports actually working with LabView RT?
    I tried checking out "KnowledgeBase 3VQ6278T: Can I Use Multiple Network Adapters in a PXI or Desktop Real-Time System?", but after following the link to the page, I get:
    "Error You are not authorized to view this document". Can any NI people look into this?
    Having to make two IPs with different subnet masks obviously just makes things unnecessarily complicated. Can anyone tell me why LabView/NI did this? I know for a fact this isn't a limitation in hardware.
    Any help would be greatly appreciated, thanks!

    Hey Weizbox.
    Sorry to hear you're having such a difficult time using multiple ethernet devices with RT. 
    Let me go ahead and get the easy stuff out of the way, the link you
    have is dead because it's archived (and thus removed forever) though
    unfortunately the link on ni.com wasn't corrected to point to the
    following resource, which the KB was a word-for-word duplication of
    (which is supposedly why it was removed):
        http://zone.ni.com/reference/en-XX/help/370622C-01​/lvrthelp/configuringdual/
    Unfortunately, though, it's much less useful than it sounds.
    Before you start feeling like a woodpecker in a petrified forest, lemme
    fill you in on why the requirement is there for the two ethernet NICs
    to be on seperate subnets.  Simple enough, it has to do with the
    network stack on both of the operating systems used for LabVIEW
    Real-Time - however, the same falls true for even Windows (without
    using fancy vendor-specific drivers), so let's not be too hasty. 
    Neither PharLap ETS nor VxWorks, the two OS's used under the hood,
    support redundant network ports.  Because of this, if you give two (or
    more in the case of PXI and RT Desktop) ethernet devices IP addresses
    on the same subnet the routing tables in the network stack get horribly
    confused and literally cannot resolve the proper adapter, which either
    brings down the ethernet on the entire system or makes it such that one
    or more network adapters becomes useless and one adapter takes over all
    network traffic (there's no way to predict which adapter that will be,
    nor can you control it based on what's plugged in and what's not).  On
    Windows this is handled by bridging the adapters, but RT does not yet
    support bridging (that opens a whole nother can of worms).  Long story
    short, you still wouldn't be able to give both NICs individual IP
    addresses on the same subnet. 
    Let's take that even one more step.  You cannot simply just assign both
    ethernet NICs different IP addresses on "virtual" subnets, you actually
    need to put both NICs on literally different subnets for the network
    routing to actually work.  Multiple ethernet devices for LabVIEW RT
    were designed with the following mantra in mind - "The FIRST ethernet
    device is designed for a TCP/IP network, the SECOND and SUBSEQUENT
    ethernet device is designed for OTHER protocol uses."  By "OTHER
    protocol uses" I mean the second NIC should be used for RT
    Deterministic Ethernet (PXI, RT Desktop, et. al.), direct connections
    with other targets, and 3rd party or custom ethernet protocols. 
    Now, realistically, we can't expect users to not use the second NIC for
    TCP/IP use, nor should we.  However, if you ARE going to use TCP/IP on
    the second NIC, you should only use the second NIC for connecting to an
    unroutable network in the eyes of the first NIC.  So, for instance, the
    FIRST NIC can have an IP address of 10.0.62.128, but the SECOND NIC
    would need to have an IP address on 192.168.100.23  - and the
    10.0.62.128 should not be able to route a TCP packet to the 192.168.x.x
    network, and vice versa.  In your example I noticed that both networks
    used the same Gateway - unless your Gateway is configured to identify
    and seperate the two networks, it's not going to end well, and you
    shouldn't expect to be able to send data from one NIC to the other NIC
    (at least with what you know now).  To reiterate, using multiple NICs
    using TCP/IP should only be done in cases where you've got (n-1)
    isolated subnets, where n is the number of NICs you have using TCP/IP. 
    A classic example of this is a command-based measurement environment;
    the RT system uses the FIRST NIC to talk to a TCP/IP network, in order
    to transfer data or provide status to a network, and the second NIC is
    connected to a TCP/IP network designed specifically for measurement or
    control, where one node sends commands to a single or multiple nodes on
    the network at once to perform tasks (like "Take a Measurement", "Stop
    a motor", "Bake me a Pie", etc...).  The isolated TCP/IP subnet is free
    from "random" TCP/IP traffic (especially system announcement
    broadcasts) and can have whatever topology/configuration it wants.  The
    dual networking allows the RT system to work/communicate/perform on
    both networks.
    I hope this helps shed some light on your situation.
    Cheers!
    -Danny

  • Photo gallery with buttons and php.

    I am relatively new to actions script, very new to as3, and brand new to php. I have tried very hard to figure all of this out via tutorials, studying the code, etc but now I'm running out of time to get this done so I need some help.
    I am trying to make a photo gallery that functions as follows:
    -the php gathers all of the filenames from a folder and returns it to flash
    -an array of buttons is loaded onto the stage (one for each photo)
    -flash then loads the first image into a movie clip.
    -when the user clicks on button[i], image[i] loads in the movie clip.
    -i also plan to incorporate what might happen if the number of photos exceeds the number of buttons that can fit nicely on the stage, like an arrow to go to another set of buttons. I haven't tried coding this yet since I was just trying to get the thing to work in general first. If anyone has ideas about this, let me know.
    Please don't make fun of me too much. I know it's probably a mess.
    Thank you so much in advance for your help.
    Here's the php:
    <!--
    Author:      Adam Ehrheart
    Site:      http://adamehrheart.com
    Blog:      http://flashcamp.net
    Date:      4.21.08
    -->
    <?php
    #   Use "." if the get_files.php file resides in the same directory as files being read
    #   Otherwise you can change the path to whatever you like
    #   eg:
    #   Same Directory:
    #   $path = ".";
    #   Other Directory
    #   $path = "products/images/"
    $path = "Photography/";
    #   Choosing what directory to read
    if ($handle = opendir($path)) {
       #   Temporary array to hold image files
       $imageFiles = array();
       #   Creating loop and assigning current file to $file temp variable
       while (false !== ($file = readdir($handle)))
          #   Checking wheter or not the file is invisible and starts with a "."
          $fileCheck = substr($file, 0, 1);
          #   Checking to make sure the files is either a (jpg, JPG, png, PNG)
          $fileType = substr($file, -3);
          #   Making sure file is not invisible
          if($fileCheck != ".")
             #   Making sure file is readable and dynamically loadable by Flash
             if($fileType == "jpg" || $fileType == "JPG" || $fileType == "png" || $fileType == "PNG")
                #   Adding File to the image array
                if($path != "."){
                array_push($imageFiles, $path . $file);
                }else{
                   array_push($imageFiles, $file);
          #   Sorting the files alphabetically
          sort($imageFiles);
       #    Creating XML File output to be read by Flash
       echo "<?xml version=\"1.0\"?>\n";
       #   Root Node
       echo "<image_list>";
       #   Creating child nodes for each image
       foreach($imageFiles as $value)
          #   Pulling the Width and Height values for each file and adding them as attributes for the image node
          list($width, $height) = getimagesize($value);
          #   Creating the image node
          echo "<image width=\"$width\"" . " height=\"$height\">" . $value . "</image>";  
       echo "</image_list>";
       #   Closing the readdir function
       closedir($handle);
    And here's the as3:
    //php photo section
    import flash.events.Event;
    import flash.net.*;
    //load the php file
    var myRequest:URLRequest = new URLRequest("Photography.php");
    var myLoader:URLLoader = new URLLoader();
    //define images variable as an xml file
    var images:XML = new XML();
    images.ignoreWhite = true;
    images.addEventListener ('load', myLoader);
    //define the images variable as an xml as the php file result
    myRequest.data = images;
    //outputting the filenames
    function onLoaded(evt:Event):void {
      trace("here we get the data back: "+myLoader.data);
    //when the data is loaded, begin myRequest
    myLoader.addEventListener(Event.COMPLETE, onLoaded);
    myLoader.load(myRequest);
    //array to call the images
    var imageArray:Array //= NewArray();
    var listLength:Number;
    var il:XMLList = images.data  //xml.images;
    listLength=il.length();
    var i:Number
    var photo_btn:Array = new Array();
    for (i = 0; i < listLength; i++); {
    imageArray[i] = il[i].pic //xml.images[i].pic;
    if (photo_btn[i].mouseDown == true) {
    img_loader.load(imageArray[i])
    if (i == 0)  {
    photo_btn[i].y = 422.7;
    photo_btn[i].x = 411.5
    else if (i > 0 && i < 24); {
    photo_btn[i].y = 422.7;
    photo_btn[i].x = (photo_btn[i-1].x + 18.6);
    if (i > 24 && i < listLength); {
    photo_btn[i].y = 442.7;
    photo_btn[i].x = (photo_btn[i-1].x + 18.6);
    img_loader.load(imageArray[0]);

    As for AS3 part of it, I am not sure your code really works. There are syntax and logical errors there.
    I think you need to take it step by step and accomplish several task in the following sequences:
    1. Write code that loads XML correctly;
    2. Write code that enables buttons;
    3. Write code that will load images on button clicks.
    The code below shows in principal what needs to be done in order to load XML and make the data in this XML available for further consumption. Also, by accomplishing this step you will iron out all the PHP vs Flash wrinkles including your XML.
    Please note, I don't know your XML structure so all the parsing issues you need to resolve yourself.
    Once you get handle on it - we, hopefully, will talk about steps 2 and 3.
    import flash.display.Loader;
    import flash.events.*;
    import flash.net.*;
    var images:XML;
    var myRequest:URLRequest;
    var myLoader:URLLoader;
    // list of image urls that will come from loaded XML
    var imageList:XMLList;
    myRequest = new URLRequest("Photography.php");
    myLoader = new URLLoader();
    myLoader.addEventListener(Event.COMPLETE, onFileLoaded);
    // suggested handler for unexpected errors - avoids some headaches
    myLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    myLoader.load(myRequest);
    // Note: all the listeners are removed
    // it is always wise to remove listeners that are needed any longer
    // to make objects eligible for arbage collection
    function onLoadError(e:IOErrorEvent):void
         trace(e.toString());
         myLoader.removeEventListener(Event.COMPLETE, onFileLoaded);
         myLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    function onFileLoaded(e:Event):void
         myLoader.removeEventListener(Event.COMPLETE, onFileLoaded);
         myLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
         images = new XML(myLoader.data);
         // only now xml is ready and you can start loading images
         imageList= images.pic;

  • Make 3D Flash wedding photo gallery with songs

    Last week, my dearest sister got married. There were about a gazillion things to love about her wedding day… so many moments all wrapped up into one very totally unforgotten event. I took lots of wedding photos on her wedding day and wanted to give her a surprise of making her a 3D flash wedding photo gallery with wedding songs.
    As I expected, my sister was moved, many thanks she said to me. Now I just want to give my many thanks to Aneesoft 3D Flash Gallery. It is a wedding gallery making software that helped me make so gorgeous flash gallery with my sister's wedding pictures. Knowing nothing about flash making, I never thought making a splendid 3D flash gallery would be so easy. My friend, do you eager to make your own cool, awesome flash gallery now? Do you eager to sharing your wedding photos in a stunning 3D photo gallery? Let me show you the way!
    What you'll need:
    1. Wedding photos and wedding songs for your 3D flash gallery
    2. Aneesoft 3D Flash Gallery
    Step 1: Download & install Aneesoft 3D Flash Gallery
    We'll be using a very nice 3D gallery making software 'Aneesoft 3D Flash Gallery' to making a romantic wedding flash gallery with wedding photos and wedding songs, head over here and download the free trial version. Next step is to install the program.
    Step 2: Import wedding photos and edit
    You can add up to 500 photos that you want to use in your wedding photo gallery, arrange the photos as you like. Aneesoft 3D Flash Gallery supports a wide range of file formats for images, such as .jpg, .bmp, .gif. Click "Add Caption" to add title and description for your wedding photos. And you can also crop and add special effects to them to make your wedding photos more perfect
    Step 3: Choose from a variety of wedding flash gallery templates
    Aneesoft 3D Flash Gallery offer you an easy way to make a stunning wedding photo gallery by choosing from variety of flash gallery templates. A flash gallery template automatically put preset decoration to wedding gallery. When you select a preset flash gallery template, you're able to enhance it by customizing some additional settings, such as background, thumbnail effects, playback options and scrolling actions. For the adventurous users, explore the powerful advanced features and tools that gives you total control over how you compose your wedding flash photo gallery.
    Step 4: Add some wedding songs for your wedding flash gallery
    Wedding songs are a very important factor to consider when making your wedding flash photo gallery. They set the general mood and tone for your gallery, while also allowing you to express your feelings through music. You may find the perfect wedding songs out of hundreds of popular wedding songs and music through Amazon.com or iTunes.
    In this step, you can add some wedding songs as background music to play along with your wedding flash gallery. Click Add Music button to browse and add your wedding songs. You can add, remove and edit the wedding music files. And you may check the option to control the background music looping or not.
    Step 5: Preview and publish your 3D wedding flash gallery
    It is advisable that you preview the wedding flash gallery at least once, before you publish it. Click and drag mouse for scrolling and tilting the 3D flash gallery. Click on the thumbnail to zoom in and out the photos. You have several options to share and publish your 3D wedding photo gallery, such as SWF, EXE and HTML. It depends on your needs.
    OK, now your wedding flash gallery is done. What do you think of the wedding flash gallery that I made for my sister? End with my sister's sentences "Fun is not ending, romantic is not ending, and love is just beginning!" Wish your wedding pictures can also be splendid as my sister's, and your love is just beginning, enjoy!
    know more:
    http://www.aneesoft.com/win-3d-flash-gallery.html
    http://www.aneesoft.com/tutorials/3d-flash-gallery/make-wedding-flash-gallery-with-songs.h tml

    As for AS3 part of it, I am not sure your code really works. There are syntax and logical errors there.
    I think you need to take it step by step and accomplish several task in the following sequences:
    1. Write code that loads XML correctly;
    2. Write code that enables buttons;
    3. Write code that will load images on button clicks.
    The code below shows in principal what needs to be done in order to load XML and make the data in this XML available for further consumption. Also, by accomplishing this step you will iron out all the PHP vs Flash wrinkles including your XML.
    Please note, I don't know your XML structure so all the parsing issues you need to resolve yourself.
    Once you get handle on it - we, hopefully, will talk about steps 2 and 3.
    import flash.display.Loader;
    import flash.events.*;
    import flash.net.*;
    var images:XML;
    var myRequest:URLRequest;
    var myLoader:URLLoader;
    // list of image urls that will come from loaded XML
    var imageList:XMLList;
    myRequest = new URLRequest("Photography.php");
    myLoader = new URLLoader();
    myLoader.addEventListener(Event.COMPLETE, onFileLoaded);
    // suggested handler for unexpected errors - avoids some headaches
    myLoader.addEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    myLoader.load(myRequest);
    // Note: all the listeners are removed
    // it is always wise to remove listeners that are needed any longer
    // to make objects eligible for arbage collection
    function onLoadError(e:IOErrorEvent):void
         trace(e.toString());
         myLoader.removeEventListener(Event.COMPLETE, onFileLoaded);
         myLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
    function onFileLoaded(e:Event):void
         myLoader.removeEventListener(Event.COMPLETE, onFileLoaded);
         myLoader.removeEventListener(IOErrorEvent.IO_ERROR, onLoadError);
         images = new XML(myLoader.data);
         // only now xml is ready and you can start loading images
         imageList= images.pic;

  • Is there any successful example of USRP RIO with PCIe adapter?

    Hi All,
           Can I ask who has ever had successful experience of achieving high IQ rate using USRP RIO with PCIe adapter? If so, what PC were you using?
           I am working on the USRP RIO. I tried to run the LabVIEW code for the USRP-2920 on the USRP 2950R but could not achieve a high IQ rate. The PC I am using has a mini-itx motherboard with H97 chipset, 16GB 1600MHz DDR3 memory, 256GB SSD, i7-4790K quad-core 4.0GHz CPU. Even if I connect the USRP-2920 to the PC, I could not achieve 20MS/s. When I was using a Macbook Pro with i7-3840QM, I could achieve 25MS/s IQ rate. But there is no way I installed a PCIe adapter to the laptop. 
           Thank you very much.

    I have a benchmarking utility that I will attach here that can run through a number of IQ Rates and the number of samples in each Write call.  Here are the results when I ran with an USRP-2940R over a x4 MXIe (PCIe) link.  I configured to run a 2-channel continuous generation for 10 s for each test.  
    Device connected over PCIe
    Conducting benchmarks for continuous writes (CDB, 16-bit).
    IQ Rate        363 726 1000 3000 6000 10000 100000
    1000000      0      0       0       0        0         0           0
    2500000      0      0       0       0        0         0           0
    5000000      0      0       0       0        0         0           0
    10000000    0      0       0       0        0         0           0
    20000000    39    0      0       0        0          0           0
    40000000    18    18    0       0        0          0           0
    60000000    9      36    15     2        0          0           0
    80000000    22    17    14     0        2          0           0
    90000000    15    22    15     9        9          9           9
    95000000    21    21     22    9        9          9           2
    97500000    16    14     31    9        9          9           9
    100000000  15    34     25    9        9          9          10
    The formatting may be hard to figure out, but the small numbers are the number of underflows.  So 0 is what you want.  As you can see, I can sustain rates up to 80 MS/s for at least 10 s IF my write size is big enough.  That is, if I write at least 10,000 samples with each call to niUSRP Write, I don't see underflows.  That's two channels, so we're talking 640 MB/s over the bus.
    Here are some tips to increase your Tx streaming throughput:
    0) Don't use a continuous generation at all.  For many applications you don't need to stream continuously- a finite transmission (and you can loop a finite transmission) will do and you will basically not underflow in that case if you provide all the data up front.
    1) As you can see from the chart, the bigger the data buffer you provide in each Write call, the faster you can stream.
    2) Write sizes in multiples of the maximum packet size seem to work well.  That number is 2044 for the USRP-294x/5x series (although that may change in future driver releases).  Try sending bursts of 10220 samples.
    3) If your application allows it, set a Start Trigger Time a little in the future.  Then start writing data before the device starts transmitting.  For example, set the Start Trigger Time to the (current device time + 1 second).  Then start writing data and you will have a second to pre-fill the on-device buffers.  This will substantially reduce the number of underflows.
    4) Be sure to do your data processing out of your write loop, to keep the write loop filling the pipleline as quickly as possible.

Maybe you are looking for

  • Scheduled discoverer report giving error

    Hi All, I am facing a problem where in I have scheduled a report. The table populated after scheduling is fetching data but when we try to open the scheduled report it gives an error ' Inconsistent datatype expected number got date '. We are using a

  • How can i see PDF files in Nokia 5230

    How can i see PDF files in Nokia 5230

  • Header and footer problem

    How do you get header and footer to show infront of coloured page on the pages app for mac book

  • Error in BSP applicaton

    hi guru's we copied standard BSP application(HRRCF_PERS_DATA) into Zapplication.it's a E-recruting page for condidate persnoal data.we added three fields to zapplication.this three fields data which we enterd in webpage to update in 5102 infotype.i d

  • Help with Flash Quiz

    Using Flash 8 quiz template generate a Quiz, Then I build a new flash document and insert an empty MC, copy all the frames from the file generate by quiz template, and drag this new MC to the timeline. But it can't work properly. My purpose is to ins