Array of integers with array of bool

I have an array of integers large read in a worksheet. All ones and zeros.

The table is 200 000 length and width 10-bit words. I need to convert to an array of Boolean in order to

create a chart of digital waveforms. I can convert it using loops, but it will take more than an hour.

Is there a quick way to convert an array of 200 000 x 10 of integers (ints) to an array of bool?

This should be much faster than the curls.  I was not looking for it with a great picture.

Lynn

Tags: NI Software

Similar Questions

  • Text string in array of integers - with law enforcement in the text string-

    Hello

    I have a text string containing the measurement frameworks.

    I want to place each image in a first time 0, 11 x 11 array (with the same order in the text file).

    In the figure below, I tried to convert it to a table, but the table only contains the first "column" in the text file.

    Any suggestions?

    Crows is right, your channel is very dirty, with a variable number of spaces, lines starting with spaces and space + newline delimiter.

    In such cases, I like "scan of the channels for tokens", because it can automatically enter into identical consecutive separators in a single. Here's a quick example.

    Your lines are of variable length, a 2D picture seems inappropriate, because all rows have the same number of elements. For example, consider a table 1 d of clusters containing the tables 1 d.

    (Of course, it would be cool "worksheet in table string" could deal directly with identical consecutive separators as found here, so thank you for supporting my idea.) He deserves more than 24 voice )

  • Center of gravity of a 2D array

    Hello!

    I want to do a sub - vi that calculates the center of gravity of the values in a table 2D (I32).

    Entry:

    2D-Array (I32)

    Output

    CentroidX (whole I32)

    CentroidY (whole I32)

    I found this code on the web:

    FUNCTION centroid, array

    Michèle = size (table /N_Dimensions)

    Michèle IF NOT 2 before you BEGIN

    Message, ' array must be two-dimensional. Back...', / information

    RETURN-1

    ENDIF

    s = size (table, Dimensions)

    totalMass = Total (array)

    XCM = Total (Total (table 2) * Indgen (s [0])) / totalMass

    YCM = Total (Total (table 1) * Indgen (s [1])) / totalMass

    RETURN [xcm, ycm]

    END

    But I can't figure out that to Indgen() and Total().

    You guys can give me some advice to help me on the way, it should be pretty easy.

    THX in advance a Kudo will be given you!

    First, in case you're wondering, the function's IDL.  INDGEN as it is used, it generates an array of integers with each value is equal to its index.  TOTAL (as you might guess) is the sum of a given table.  The syntax can be difficult, unless you specify a dimension (1 or 2) of a 2D array, you get a 1 d array where each element is the sum on the other dimension.  In this case, xcm has more columns than the sums of ycm on lines.

    Knowing enough IDL translation LV gives me this:

  • Random 2D array of Boolean

    I'm trying to chance an array of Boolean values, and for reason any I succumbed

    I managed to makine lines at random, but I want the whole range to be random

    added to this I put a number of array of bool.

    Thank you

    Table initialization function will give you the same value for all items. It is documented in help. For example, you cannot use this way. You can simply use two loops so you generate a random number for each element of your 2D array. I do not understand what you say about the number of table of Boolean, or why you using same. If you use the 2-loop approach, all you need to do is decide what you consider a "1". For example, you might say that something greater than 0.5 is a '1 '. This can be done with a single superior? function. Note that this should be done inside the loop.

    An alternative is to use the continuous random function to obtain an array of random numbers that you can remodel in a 2D array. You must decide if the distribution provided by this function is "random".

    You try to create a sort of random communication signal?

  • How can I switch changing values to a single channel with a matrix or a queue?

    Hello

    I need to move from an evolution of digital signals (e.g. acute-low-low-high... where a new signal would come to each clock cycle) to a single output port. I also need to enter the desired first wave (preferrebly in the form of 1001).

    There are several ways to do this - I tried to play with the spi and the queue functions, but could not get to work.

    Right now I use a one-dimensional array of bool to get entry. I then pop the first element of the array and write it in my DAQmx (it's essentially a queue). I put this in a loop such that it would go until the array is empty, but for some reason, it is just the first element. It is not moving to others...

    It's my first time with labview for explanations are greatly appreciated.

    I have attached a picture of what I have so far... It is important to note that I'm finally at the entrance of the 32-bit binary strings that is why my block diagram is a bit funny. In addition, tables 2 and 3 are not something special - they are indicators.

    Goozeman wrote:

    Right now I use a one-dimensional array of bool to get entry. I then pop the first element of the array and write it in my DAQmx (it's essentially a queue). I put this in a loop such that it would go until the array is empty, but for some reason, it is just the first element. It is not moving to others...

    Of course not.  You do not update the table.  Even in this case, I think that what you really want to do here is has to loop so you can autoindex on the table.

  • How to use HIL with quarter with crio car suspension system

    I built a model of labview for 2 car DOF suspension system and run the offline simulation.

    I want to build the hardware in the loop (HIL) for the same model but want to use AO and HAVE to send the signal to a real shock and measure it strength and velocity acquire it these two signals via I enter the model.

    Y at - it a tutorial to build the HIL model integerated with the crio and FPGA

    Hi wgkotb,

    You spend your FPGA 3AI signals up to your host RT? If so, you could do math on the RT controller and generate values AO send for the FPGA.

    On the other hand, are eager to have your FPGA VI calculate values of AO?

    Kind regards

  • How to get the index of element of constant of cluster

    Is it possible to programmatically determine the index (order) of a particular item in a constant of cluster (typedef)?  The cluster is a group of commands, using the control [] array is not an option.

    It seems that this would be an operation of property, but as there are a no "references" for control objects (is there?), there is no properties of control objects.  I use clusters of risk much.  I struggled with the same problem trying to retrieve cluster of clusters of control element names (all roads lead to OpenG :-) don't want to install VIPM :-().

    I use a digital video recorder with a bunch of berries to share data between an application and use in the structures of the element of the Place to read/write tables. Each table (all the bool or slna) represents an array of values to write to the output of the modules (digital and analog).  Usually I only update tables in a loop and read in several screws/loops.

    From the beginning, I stored the data in table form, but later in development, I created typedefs of cluster for clarity when using the data in a FP VI (especially when you read the data in the table and the display on the indicators).

    The exception to the rule of write-once/read many is when I just want to set or clear a single bit BOOL.

    Attached is a picture showing 2 ways to do the same.

    The structure of the DVR read/write on the RIGHT illustrates how I currently updating a single element of an array of BOOL.  In particular, I want to bit - 2 a table named "bOutputCmds".  [bOutputCmds] is an element of a group named "IoCluster" and the "IoCluster" shared across the application by a DVR named 'IoDataRef '.  Safe to update the value of the wick requires 3 operation in Place (in Place DVR R/W in Place unbundle and in square array Index).

    It works very well.  However, the operation requires specifying the index of the little interest, in this case, "2".  I could assign constants for all the special bits, but it would seem more appropriate to enjoy for typedefs that I created. Typedefs allow me to make changes to assignments of IO and describe the configuration in one place.  DVR R/W element on the LEFT illustrates a way to update a single bit (safely) a cluster element name.

    Retrieve the index of the "bLoadEna" item (2) of the typedef of cluster used on the LEFT would make the solution on the much cleaner RIGHT.

    My backup is to replace all the paintings that I originally put in the cluster shared with the individual clusters later I so carefully set or replace all command non - clusters with clusters of the indicator. Or the other works perfectly. For the most part, I'm technically curious because I tend to bang against the limitations of the control clusters quite often.  I seem to be a programmer of NON-INTERFACE in a world of the user interface.

    In fact, my last statement was rhetorical, but it is really quite real.  My request is a controller shipped without a head, so I don't no need or use many controls.  Maybe I should think about some before picking on clusters of risk...

    Fact.

    Thank you

    Peter

    Use the tools of my favorite library, VariantDataType library, found at vi.lib\utility\VariantDataType, as shown:

    The functions used here are "GetClusterInfo" and "GetTypeInfo."

  • Reset to the values in table

    I built a VI which I think must initialize an array of bool 8 element to all WRONG. Then at each iteration of the for loop, it is, should turn each element increasing to TRUE. But in each iteration of the loop, the item previous returns false instead of stay TRUE. Why is this, and what logic is necessary to avoid this problem?

    dourk wrote:

    I added the shift register, and if I run it without the DAQ help, it works perfectly, thank you!

    You must use "replace table subset", "do not insert in the table". You will also need to initialize the array with 8 elements.

    ("insert into array" will grow the array by one element each time you insert one, move everything higher up. After two iterations, the table will have 9 items. However, 'replace table subset' will keep the table the same size, by changing the value of an element by a new value)

  • Not not not in the Structure of the case

    You want to get suggestions on the best way to do it.  In theory, it will be the best if I can create a structure to deal with condition 'no '.  What I mean, it's the entrance to the structure of matter is 3, and I have a case which, with such condition does not (1, 2, 4, 5), the case would run.

    Another example

    If different x of 1, 2, 4, 5, then

    to do this

    Else If x is not equal to 6, 7, 8, 9, and then

    do this

    End

    Yik

    ^ You can also simply make a table with your constant inside and feed to the comparison table, and who publishes an array of bool.

    Another approach would be to wire the digital directly to the structure of the case and type the desired number of a case to represent.  Several case numbers are separated by commas.  A range of numbers can be represented by "..".  for example 6,7,8,9 = 6.9 in the same way... 0 is the range - inf by 0 and 5... is all values greater than or equal to 5.

  • How can I set the graph on the Panel like buttons?

    Hi all

    I'm trying to control a camera by sending control signals and receive signals from IT. After I take a picture and display it on the screen, I want to put it in the form of an array of bool 2D controls. While I can click on some pixels, to send the next control of the signals that are for addresses. I also want to perform a zoom in and zoom back functions, by which I can clearly see the pixels (buttons). I can only implemented in LabVIEW? If I build a table 2D buttons, I can't get rid of the spaces between the buttons. I'm using LabVIEW 8.5. Any suggestion will be appreciated.

    Best wishes

    Bo

    I'm not clear on what the 2D Boolean table has to do with a photo.

    If you have a photo and when you click on the image means something.  You can use an image control.  Use a mouse on this image event.  Use the mouse coordinates to determine where the image was clicked.

  • Recording of images issues

    Hi all

    I am new to Java, Blackberry and Eclipse so please forgive my lack of knowledge on what may be the simple understanding.  I have just a few little random basic questions.

    I use Eclipse with the JDE 4.7 plugin and development for the storm.  I use the Simulator for development.

    I was instructed to write an application that needs to record 2 different pieces of information.  The application must save an array of bool, so it can be accessed on the next time the application is loaded.   For this method, I use persitant store.

    First question:

    Persistent would consider a good method, or should I be save this data in another case?

    Now on the my main concern.  Our application has a bunch of files for a game. After that part of the game is finished, we want the user to then be able to take a picture of the game and store it on the phone so that the user can then select as wallpaper.

    For this method, I've been through a code and I promise you, I searched high and low and have not found a solution that I understand very well.

    I noticed people using a "connector" to open a path to the file system/or create it.  However, I am having a hard time understanding how the Simulator affects its filepath and how the real phone its filepath.

    If someone could help point me in the right direction on how to save a file of our application on the phone, so it can be used as wallpaper, I would be very happy.

    Here's a piece of how I'm saving my code.  I get an exc of IO.  But for an IO exc references claim that the firewall does not allow a connection.  I'm not connect through a firewall, then, how is this possible?

    m_filename = the path to a file in our application.

    The code in bold is were the exception is thrown.

    Thank you in advance for anyone of help.

    Bitmap _bitmap = Bitmap.getBitmapResource(m_filename);PNGEncodedImage _pngEncodedImage = PNGEncodedImage.encode(_bitmap);
    
    try{    String fileDir = System.getProperty("fileconn.dir.memorycard");    if (fileDir == null)    {  Dialog.alert("ERROR:  fileDir = null");    }    else    }        Dialog.alert("fileDir = " + fileDir);    }    FileConnection fc = (FileConnection)    Connector.open( fileDir + m_filename,Connector.READ_WRITE);
    
        if(!fc.exists())    fc.create();    OutputStream oStream = fc.openOutputStream();    oStream.write(_pngEncodedImage.getData());    oStream.flush();    oStream.close();     fc.close();     }    catch(Exception e){    Dialog.alert("EXC in saving image.  EXC = "+e);}
    

    The solution to the half of my problem was this:

    First, I created a directory with a separate connector.  Then I closed this connector and set up a second for the image.

    Then I saved my image in the new directory.

    The call of "connector.open" () looks like this for the two respective calls:

    // to create a directoryConnector.open("file:///SDCard/BlackBerry/pictures/myDirectory/",Connector.READ_WRITE);
    
    // to save myFile in the directoryConnector.open("file:///SDCard/BlackBerry/pictures/myDirectory/myFile.png", Connector.READ_WRITE);
    

    I will mark this as comprehensive and open a new thread to store petrol issues I've had.  That way I hope that someone will learn something.

    If anyone has questions, feel free to post it here or private message me and I hopefully will be able to explain what I did better.

  • Reading text file issues

    Hi all

    Long the time lurker, first time poster , like the forums here.

    I'm still new to BB development, so my approach may be the issue.

    I am applying for a deck of cards popular (utilities etc.).  I have a text file with the number of card games n, followed by n lines with 3 character code set and then the number of cards in the game.  I'm trying to use it to create a string array and an array of integers with the size of the number of reading games, then read the rest of the values in a loop to their respective indeces.

    I have read several articles on the forums here, and I can't seem to find a way to do it.  I am able to get the number of games using the:

                  InputStream is;                        String result;                        int numOfSets;
    
                            try {          FileConnection fconn = (FileConnection)Connector.open(fName, Connector.READ);         is = fconn.openInputStream();             byte[] data = IOUtilities.streamToBytes(is);          result = new String(data);            numOfSets = Integer.parseInt(result.substring(0, 1));
    
          }     catch(IOException io) {
    
          }
    

    Is there a better way to do it?  It seems it should be a little more easy/short.  I looked through the API for a class such as Scanner, StringTokenizer or even a SplitString option.

    Thank you

    -Nick

    Lurker welcome!

    I presume that your dataset is all text and not a combination of binary and text?

    There is no easy way to split a sequential string of data.  Most people, when you consider a dataset like this, would introduce formatting, such as XML, JSON or even CSV, to make the data easier to analyze.  Since you don't seem to have anything, then I think you're going to cross the characters at once...

    If you use only standard ASCII, then it would be more effective to go through the array of bytes.

    Otherwise put characters of separation in there and look for using some tokeniser.  It is not a standard, but there are whole number (including at least one on the forum of the memory).  In addition I see StringUtilities - you might be able to use one of its features for tokenized your channel.

  • How to work the the list binding setSelectedIndices

    In a method, I call setSelectedIndices on a list binding. I pass an array of integers with a value of [0, 4, 5]. The selectManyCheckbox associated with this link displays the 6 possible choices, but only the first is selected. I expect that articles 1, 5 and 6 to select.

    Am I missing something?

    JUCtrlListBinding = userPermissionBinding
    (JUCtrlListBinding) ADFUtils.getBindingContainer () .get ("UserPermissionForRHView1");
    RowIterator iterator = userPermissionBinding.getRowIterator ();
    int i = 0;
    List selectedIndices < integer > = new ArrayList < integer > ();
    Line = iterator.first ();
    While (line! = null) {}
    Boolean selected = "Y".equals (row.getAttribute ("Selected"));
    System.out.println (Row.GetAttribute ("Selected"));
    System.out.println (Row.GetAttribute ("code"));
    If {(selected)
    System.out.println (i);
    selectedIndices.add (i);
    }
    i ++ ;
    line = iterator.next ();
    }
    Iterator.First ();
    int [] TR = Ints.toArray (selectedIndices);
    userPermissionBinding.setSelectedIndices (si);

    JDev 11.1.2.4

    My list binding was bad. The base attribute should be different for all lines. Mine has been "selected" which can have only Y and N, he wasn't a good candidate for the basic attributes.

  • Problem using the pixel format indexed bytes in the PixelWriter setPixels method

    I'm trying to build a byte array and set it on a WritableImage using the PixelWriter setPixels method.

    If I use a RGB pixel format, it works. If I use a byte indexed pixel format, I get a NPE.
    Stride etc should be fine if I'm not mistaken.

    java.lang.NullPointerException
    to com.sun.javafx.image.impl.BaseByteToByteConverter. < init > (BaseByteToByteConverter.java:45)
    to com.sun.javafx.image.impl.General$ ByteToByteGeneralConverter. < init > (General.java:69)
    at com.sun.javafx.image.impl.General.create(General.java:44)
    at com.sun.javafx.image.PixelUtils.getB2BConverter(PixelUtils.java:223)
    to com.sun.prism.Image$ ByteAccess.setPixels (Image.java:770)
    at com.sun.prism.Image.setPixels(Image.java:606)
    to javafx.scene.image.WritableImage$ 2.setPixels(WritableImage.java:199)

    Independent, short example here:
    import java.nio.ByteBuffer;
    
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.image.ImageView;
    import javafx.scene.image.PixelFormat;
    import javafx.scene.image.WritableImage;
    import javafx.scene.layout.BorderPane;
    import javafx.stage.Stage;
    
    public class IndexedColorTestApp extends Application {
    
        public static void main(String[] args) {
            launch(args);
        }
    
        @Override
        public void start(Stage primaryStage) {
            BorderPane borderPane = new BorderPane();
            Scene scene = new Scene(borderPane, 600, 1100);
            primaryStage.setScene(scene);
    
            ImageView imageView = new ImageView();
            borderPane.setCenter(imageView);
            primaryStage.show();
    
            int imageWidth = 200;
            int imageHeight = 200;
            WritableImage writableImage = new WritableImage(imageWidth, imageHeight);
    
            // this works
            byte[] rgbBytePixels = new byte[imageWidth * imageHeight * 3];
            PixelFormat<ByteBuffer> byteRgbFormat = PixelFormat.getByteRgbInstance();
            writableImage.getPixelWriter().setPixels(0, 0, imageWidth, imageHeight,
                                                     byteRgbFormat, rgbBytePixels, 0, imageWidth * 3);
            imageView.setImage(writableImage);
    
            // this throws an NPE in setPixels()
            byte[] indexedBytePixels = new byte[imageWidth * imageHeight];
            int[] colorPalette = new int[256];
            PixelFormat<ByteBuffer> byteIndexedFormat = PixelFormat.createByteIndexedInstance(colorPalette);
            writableImage.getPixelWriter().setPixels(0, 0, imageWidth, imageHeight,
                                                     byteIndexedFormat, indexedBytePixels, 0, imageWidth);
            imageView.setImage(writableImage);
        }
    
    }
    If there is no solution, maybe someone knows a solution? We chose to use the format indexed due to the size of the data / performance reasons.

    Published by: Andipa on 01.03.2013 10:52

    You have found a bug in the platform, filed against the project to-online http://javafx-jira.kenai.com to your sample code and a link to this forum question.
    Byte indexed pixel formats seem like a feature never completely (or maybe even any) implemented for me.

    The PixelFormat type uses your unsuccessful case is (PixelFormat.Type.BYTE_INDEXED):

    PixelFormat byteIndexedFormat = PixelFormat.createByteIndexedInstance(colorPalette);
    System.out.println(byteIndexedFormat.getType());
    

    Here are the valid PixelFormat types =>
    http://docs.Oracle.com/JavaFX/2/API/JavaFX/scene/image/PixelFormat.type.html

    BYTE_BGRA
    The pixels are stored in adjacent bytes with the non-premultiplied components stored in order of increasing index: blue, green, red, alpha.
    BYTE_BGRA_PRE
    The pixels are stored in adjacent bytes with the premultiplied components stored in order of increasing index: blue, green, red, alpha.
    BYTE_INDEXED
    The pixel colors are referenced by byte indices stored in the pixel array, with the byte interpreted as an unsigned index into a list of colors provided by the PixelFormat object.
    BYTE_RGB
    The opaque pixels are stored in adjacent bytes with the color components stored in order of increasing index: red, green, blue.
    INT_ARGB
    The pixels are stored in 32-bit integers with the non-premultiplied components stored in order, from MSb to LSb: alpha, red, green, blue.
    INT_ARGB_PRE
    The pixels are stored in 32-bit integers with the premultiplied components stored in order, from MSb to LSb: alpha, red, green, blue.
    

    As for a WritableImage native pixel format is not the same that you use the pixel format, the JavaFX platform needs to do a conversion while reading pixels in a format and write it in another format. To do this, he must be able to determine a PixelGetter for your PixelFormat (the PixelGetter is an internal thing, API not public).

    And here's the source determines the PixelGetter for a given type of PixelFormat:
    http://Hg.OpenJDK.Java.NET/openjfx/8/master/RT/file/06afa65a1aa3/JavaFX-UI-common/src/com/Sun/JavaFX/image/PixelUtils.Java

    119     public static  PixelGetter getGetter(PixelFormat pf) {
    120         switch (pf.getType()) {
    121             case BYTE_BGRA:
    122                 return (PixelGetter) ByteBgra.getter;
    123             case BYTE_BGRA_PRE:
    124                 return (PixelGetter) ByteBgraPre.getter;
    125             case INT_ARGB:
    126                 return (PixelGetter) IntArgb.getter;
    127             case INT_ARGB_PRE:
    128                 return (PixelGetter) IntArgbPre.getter;
    129             case BYTE_RGB:
    130                 return (PixelGetter) ByteRgb.getter;
    131         }
    132         return null;
    133     }
    

    As you can see, the BYTE_INDEXED format is not supported, and null is returned instead... it is the source of your NullPointerException.

  • Precomposer new function AE CC via the script

    As we know new AE CC got awesome box called "Adjust duration of both extended the selected layer composition".

    The default setting in the script guide is:

    [object LayerCollection] .precompose (array, string, [bool]);


    But it does not work with a new checkbox.

    So how to operate with a new checkbox via the script?

    Thanks for reading.

    I found that precomp function does not work with app.project.activeItem.selectedLayers;

    So here's the finishing touch that works with selected layers.

    See you soon

    
    function precompLayer() {
    var myComp = app.project.activeItem;
    if(myComp == null){alert("Please, select your composition"); return false;}
    
       var selectLayers = app.project.activeItem.selectedLayers; // selected
       if(selectLayers.length <1 ){alert("Please, select layers"); return false;}
    
       myLayers = [];      // precomp function works only with layers indexes, so array should contain layers indexes
    
            for (var l = 0; l< selectLayers.length; l++){
                myLayers.push(selectLayers[l].index);            // new array with layers indexes
            }
    
     var precompIndices = myLayers;  //change this to customize
            var precompName = "new_comp";  //change this to customize
            var parentComp = app.project.activeItem;  //change this to customize
            clearOutput();
            writeLn("Creating precompose");
            app.beginUndoGroup("Precompose");
            var Inpoint = 0;
            var Outpoint = 0;
    
            var precomp = parentComp.layers.precompose(precompIndices, precompName, true);
            var adjustStartTime = precomp.duration, newCompDuration = 0;
            writeLn(precomp.layers.length+" layers in procompose");
    
            for(var i=1; i<=precomp.layers.length; i++) {
                var layer = precomp.layer(i);
    
                (Inpoint > layer.inPoint) ? Inpoint = layer.inPoint : Inpoint;                  // begin of precomp
                (Outpoint < layer.outPoint) ? Outpoint = layer.outPoint : Outpoint;       // end of precomp
    
                var duration = Outpoint - Inpoint;
                adjustStartTime = adjustStartTime > layer.inPoint ? layer.inPoint : adjustStartTime;
                newCompDuration = newCompDuration < duration? duration : newCompDuration;
            }
                writeLn("New duration = "+newCompDuration);
    
            for(var i=1; i<=precomp.layers.length; i++) {
                precomp.layer(i).startTime -= adjustStartTime;
            }
    
            precomp.duration = newCompDuration;
            parentComp.layer(precompName).startTime = adjustStartTime;
            app.endUndoGroup();
    
    writeLn("Done!");
    }
    precompLayer();
    

Maybe you are looking for

  • continuing a story

    How jump (continue) a history of information from one page to the other letter?

  • Is there a way to hide the button of hamburger?

    Is there a way to hide the button of hamburger?

  • average of the signal

    Hi guys,. Thank you all for the help so far, I'm getting closer to the solution, but need help more. I'm trying to get an average value of my signals (I named the signals and in the field) and watch them on graph XY. Here https://decibel.ni.com/conte

  • SQLite error after startup

    I get this error message every time I boot the laptop: This application has failed to start because sqlite3.dll is not found. Reinstalling the application may fix this problem. I get this message as soon as I start the computer. I still don't know wh

  • Drive not supported - Matshita UDJA750 DVD CD/RW

    My OS is Windows 7, I bought a so-called external drive compatible DVD-CD/RW, reading works but the write/burn does not work.  When I run troubleshooting, I get "status: unknown command" I'm on a Toshiba Satellite.  I called Panasonic, the creator of