Quiz slide waits for Audio to finish before proceeding to next question

Hi guys, hope you can help. I have 5 questions with audio inside narrating the question and the answer in selection. Once you you have chosend your answer then click submit button..it waits until the audio finishes then proceeds to the next question.
hope you can help
Thank you

Having this action on Slide Exit of the Quiz Results slide may not work if the user clicks a button there to Review Quiz because that will mean that the last frame of the Quiz Results slide doesn't get played.
There is an internal Captivate system variable that gets set on each question slide when it's in Review Mode, but I don't think you can read this variable via Advanced Actions.  If you could read it, you could check it and then trigger the mute action on Slide Enter of each question slide.
UPDATE: Just thought of another possible workaround.  There's a system variable called cpInfoPrevSlide that records the last slide you visited before the current one.  You could use this in a conditional action to trigger cpCmndMute.  When the user clicks Review Quiz on the Quiz Results slide it will take them back to the first scoring object in the Quiz Scope. OnSlideEnter of this slide you need to check whether or not cpInfoPrevSlide is the Quiz Results slide, and if it is, set cpCmndMute to 1.  That should turn off the audio on the slides from then on.
For instruction audio on the Quiz Results slide I prefer to have the audio attached to a rollover caption.  That way, the user only gets the audio if they explicitly roll over the HELP button (or whatever you call it).

Similar Messages

  • VI waiting for another VI finishing before completing

    Howdy
    i have a goniometer.vi which should move the detectorarm 1°, then starts a spectrometer.vi and measures the spectrum. after completing measurements the goniospectrometer.vi should move another 1° and again...
    i have made the spectrometer.vi a sub.vi and wanted to include it into goniometer.vi, but i have no idea how to tell the goniometer.vi that spectrometer.vi is ready for moving on.
    thanks
    Robert

    Use a while loop. Make sure that both subvi's (goniometer and spectrometer) have error in and error out. Call the goniometer vi first and spectrometer second, wire error out from the first to error in of the second. Put some kind of exit condition to stop the loop. The first vi will execute, then when it is done the second will execute. The process will repeat until the stop condition is met.
    - tbob
    Inventor of the WORM Global

  • Wait for a few minutes before starting a backgroung step in workflow

    Dear All,
    I have a requirement where in I have to make sure the user has completed a particular workitem. The workitem is to open the transaction PP02. I cannot make it asynchronous and use a terminating event as I could not see any logical place where I could trigger the terminating event on SAVE.
    Now, I am trying to check if the database is updated on save of the transaction and before I do that I would want the workflow to wait for a few mintues.Is this approach correct?
    Is there any way I can make the workflow to wait for a few mintues before it starts the next backgound step?
    Please suggest.
    Best Regards
    Vikram

    I think it is better option to use the WAIT Step 
    as you said that until you save the data in the trabsaction you don't want to proceed further then, try like this
    Create a wait step and use the option wait for condition.
    define a element in the workflow of type char01( assume TEST) .
    Pass X to this element from the transaction when ever you save the data.
    and define the condition for the wait step in such a way that until the value of TEST = X do not proceed further.

  • 10g: Cube  build performance:Waiting for tasks to finish

    I had a question related to cube build performance. We see the following in the OLAPSYS.XML_LOAD_LOG prior to completion of parallel processing. So basically the loading of records etc. happens in 2-3 mins but then the part for "running jobs and started 6 finished 5 out of 6 tasks takes almost 30-40 minutes to complete". At this point in background it invokes the xmlloader and xml_parallel_loader. Any insights as to what specifically this steps do (solving of measures etc.) ? Also what we need to modify in terms of xml tag or anything else to improve these timings?
    14:10:56 Started 6 Finished 5 out of 6 Tasks.
    14:10:56 Running Jobs: AWXML$_4361_77872. Waiting for Tasks to Finish...
    14:01:04 Started Auto Solve for Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition.
    14:01:04 Finished Load of Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition. Processed 189616 Records. Rejected 0 Records.
    Thanks,
    Sudip

    When we checked the scheduler jobs we saw xmlparallel_loader. in terms of v$session_wait we saw a db file sequential read. Following is a snapshot from the stage of finished updating partitions to starting of parallel load. Please advise.
    XML_MESSAGE
    14:49:12 Completed Build(Refresh) of AWM_CR2.CRICUBE Analytic Workspace.
    14:49:12 Finished Parallel Processing.
    14:49:10 Finished Auto Solve for Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition.
    14:40:59 Started 6 Finished 5 out of 6 Tasks.
    14:40:59 Running Jobs: AWXML$_4361_77872. Waiting for Tasks to Finish...
    14:30:58 Started 6 Finished 5 out of 6 Tasks.
    14:30:58 Running Jobs: AWXML$_4361_77872. Waiting for Tasks to Finish...
    14:20:57 Running Jobs: AWXML$_4361_77872. Waiting for Tasks to Finish...
    14:20:57 Started 6 Finished 5 out of 6 Tasks.
    14:10:56 Running Jobs: AWXML$_4361_77872. Waiting for Tasks to Finish...
    14:10:56 Started 6 Finished 5 out of 6 Tasks.
    14:01:04 Started Auto Solve for Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition.
    14:01:04 Finished Load of Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition. Processed 189616 Records. Rejected 0 Records.
    14:01:02 Finished Auto Solve for Measures: TOT_AMT from Cube CR_BASE_FIN.CUBE. 2008 Partition.
    14:01:00 Finished Load of Measures: TOT_AMT from Cube CR_BASE_FIN.CUBE. 2008 Partition. Processed 1494 Records. Rejected 0 Records.
    14:01:00 Finished Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_OSUC.CUBE. 200901 Partition.
    14:01:00 Started Auto Solve for Measures: TOT_AMT from Cube CR_BASE_FIN.CUBE. 2008 Partition.
    14:01:00 Finished Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_ENR.CUBE. 200901 Partition.
    14:01:00 Finished Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_FIN.CUBE. 200901 Partition.
    14:01:00 Finished Auto Solve for Measures: TOT_AMT from Cube CR_BASE_ENR.CUBE. 2008 Partition.
    14:00:58 Finished Load of Measures: TOT_AMT from Cube CR_CURR1_FIN.CUBE. 200901 Partition. Processed 1494 Records. Rejected 0 Records.
    14:00:58 Started Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_FIN.CUBE. 200901 Partition.
    14:00:58 Finished Load of Measures: TOT_AMT from Cube CR_BASE_ENR.CUBE. 2008 Partition. Processed 1577 Records. Rejected 0 Records.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_CURR1_OSUC.CUBE. 200901 Partition.
    14:00:58 Finished Load of Measures: TOT_AMT from Cube CR_CURR1_OSUC.CUBE. 200901 Partition. Processed 4521 Records. Rejected 0 Records.
    14:00:58 Started Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_OSUC.CUBE. 200901 Partition.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_CURR1_FIN.CUBE. 200901 Partition.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_BASE_ENR.CUBE. 2008 Partition.
    14:00:58 Started Auto Solve for Measures: TOT_AMT from Cube CR_CURR1_ENR.CUBE. 200901 Partition.
    14:00:58 Finished Load of Measures: TOT_AMT from Cube CR_CURR1_ENR.CUBE. 200901 Partition. Processed 1577 Records. Rejected 0 Records.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_CURR1_ENR.CUBE. 200901 Partition.
    14:00:58 Started Auto Solve for Measures: TOT_AMT from Cube CR_BASE_ENR.CUBE. 2008 Partition.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_BASE_FIN.CUBE. 2008 Partition.
    14:00:58 Started Load of Measures: TOT_AMT from Cube CR_BASE_OSUC.CUBE. 2008 Partition.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:57 Attached AW AWM_CR2.CRICUBE in MULTI Mode.
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871, AWXML$_4361_77872, AWXML$_4361_77873.
    14:00:55 Started 4 Finished 0 out of 6 Tasks.
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871, AWXML$_4361_77872, AWXML$_4361_77873, AWXML$_4361_77874.
    14:00:55 Started 6 Finished 0 out of 6 Tasks.
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871, AWXML$_4361_77872, AWXML$_4361_77873, AWXML$_4361_77874, AWXML$_4361_77875.
    14:00:55 Started 6 Finished 0 out of 6 Tasks.
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871, AWXML$_4361_77872, AWXML$_4361_77873, AWXML$_4361_77874, AWXML$_4361_77875. Waiting for Tasks to Finish...
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871, AWXML$_4361_77872.
    14:00:55 Started 3 Finished 0 out of 6 Tasks.
    14:00:55 Running Jobs: AWXML$_4361_77870, AWXML$_4361_77871.
    14:00:55 Started 2 Finished 0 out of 6 Tasks.
    14:00:55 Running Jobs: AWXML$_4361_77870.
    14:00:55 Started 1 Finished 0 out of 6 Tasks.
    14:00:55 Starting Parallel Processing.
    14:00:55 Detached AW AWM_CR2.CRICUBE.
    14:00:55 Started 5 Finished 0 out of 6 Tasks.
    14:00:22 Finished Updating Partitions.

  • NI Scope Wait for Acquisition to Finish Obselete in 2014

    Quick Question,
    In LabVIEW 2014, the NI scope Wait for Acquisition to Finish subVI is no longer used and is obsolete apparently, can some one tell me why this is and what I can use instead with the new 2014 NI scope blocks? 
    Thanks for your help!

    Query Acquisition Status until Status is "Complete"  To avoid infiate loops (missing trigger event) you should set a Timeout for the loop
    Alternately use hardwae and rout the End of Acquisition event to something
    Jeff

  • Every time I start my Apple TV it shuts down. I have to unplug it and wait for it to reconnect before I can use it.  Any suggestions?

    Every time I start my Apple TV it shuts down. I have to unplug it and wait for it to reboot before I can use it.  This makes turning on Apple TV a very long process.  Any suggestions?

    That would be very hard to do, as I would have to do a lot of things--including moving furniture to get at the back of a receiver--and I'm not at all sure that the receive could accommodate it.
    The process is like this:  I dial the receiver to the Apple TV input.  The light comes on, like it's connecting, but then the Apple TV goes dark before any connection happens.  Then I unplug the power cord, wait a few moments, and plug it back in.  Then the Apple TV actually connects, but only after a full reboot (setting time, etc).

  • Update of jlabel does not happen when i wait for thread to finish (join())

    gurus please help.
    I have a main application which in actionevent calls a thread, that thread calls parent method to update ths status in jlabel, but when i use thread.join() to wait for process to complete, the jlabel does not get updated, please tell me how can i update the jlabel, i have to wait for thread to finish and during run i need to update the jlabel.
    thanks

    hi camickr and gurus:
    here is the code:
    notice after pressing the Process button, the label is being updated but its not working. I called the processnow() method directly and also by thread, but in thread I have to wait until it finishes using join() but still does not work, please help. Thanks
    package label;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import java.text.*;
    import javax.swing.border.*;
    import javax.swing.*;
    import javax.swing.table.*;
    import javax.swing.event.*;
    public class thePanel extends JDialog {
      private DefaultTableModel tableModel = null;
      private JTable theTable = new JTable();
      private JScrollPane scrollPane = new JScrollPane();
    JPanel tPanel = new JPanel();
      private Border mainBorder;
      private BorderLayout borderLayout1 = new BorderLayout();
      private BorderLayout borderLayout2 = new BorderLayout();
      private BorderLayout borderLayout3 = new BorderLayout();
      private BorderLayout borderLayout4 = new BorderLayout();
      private JPanel statusPanel = new JPanel();
      private JPanel buttonPanel = new JPanel();
      private JPanel lowerPanel = new JPanel();
      private JLabel statusBar = new JLabel();
      private JButton processButton = new JButton("Process");
      public JButton closeButton = new JButton("Close");
      boolean image = true;
      theProcess processThread;
      Vector tableData = new Vector();
      ImageIcon Image = new ImageIcon("image.gif");
      ImageIcon oImage= new ImageIcon("oimage.gif");
      boolean errorOcurred=false;
      String statusMessage;
      public thePanel() {
        try {
         jbInit();
        } catch(Exception e) {
          e.printStackTrace();
      private void jbInit() throws Exception {
        tPanel.setPreferredSize(new Dimension(800,424));
        mainBorder = new TitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED)," ");
        statusPanel.setBorder(BorderFactory.createEtchedBorder());
        tPanel.setBorder(mainBorder);
        tPanel.setLayout(borderLayout1);
        scrollPane.getViewport().add(theTable, null);
        tPanel.add(scrollPane,  BorderLayout.CENTER);
        // status
        statusPanel.setLayout(borderLayout2);
        statusPanel.setBorder(BorderFactory.createEmptyBorder());
        statusBar.setAlignmentX((float) 0.5);
        statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
        statusBar.setMaximumSize(new Dimension(600, 21));
        statusBar.setMinimumSize(new Dimension(600, 21));
        statusBar.setPreferredSize(new Dimension(600, 21));
        statusPanel.add(statusBar, BorderLayout.SOUTH);
        // buttons
        processButton.setPreferredSize(new Dimension(70,25));
        processButton.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            process_actionPerformed(e);
        closeButton.setPreferredSize(new Dimension(70,25));
        buttonPanel.setLayout(borderLayout3);
        buttonPanel.setBorder(BorderFactory.createRaisedBevelBorder());
        buttonPanel.add(processButton,BorderLayout.WEST);
        buttonPanel.add(new JPanel());
        buttonPanel.add(closeButton,BorderLayout.EAST);
        // lower panel
        lowerPanel.setLayout(borderLayout4);
        lowerPanel.setBorder(BorderFactory.createEmptyBorder());
        lowerPanel.add(statusPanel, BorderLayout.WEST);
        lowerPanel.add(buttonPanel, BorderLayout.EAST);
        tPanel.add(lowerPanel, BorderLayout.SOUTH);
        theTable.setAutoCreateColumnsFromModel(true);
        theTable.setColumnSelectionAllowed(false);
        theTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        theTable.getTableHeader().setReorderingAllowed(false);
    getContentPane().add(tPanel);pack();
        getinfo();
    show();
      private void prepairTable(){
        tableModel = new DefaultTableModel(){
                          public boolean isCellEditable(int row, int col)
                            { return false; }};
        tableModel.addColumn("text 1");
        tableModel.addColumn("text 2");
        tableModel.addColumn("text 3");
        tableModel.addColumn("text 4");
        tableModel.addColumn("text 5");
        theTable.setModel(tableModel);
      } // end method (prepairTable)
      public void refreshTable() {
        prepairTable();
      public void getinfo() {
        try {
            refreshTable();
            tableModel.addRow(new Object[]{"3465465555","0123456789",new Date(1135022905196L),"0100000","errror message","sssssss"});
            tableModel.addRow(new Object[]{"8949344562","0324354549",new Date(1134511763683L),"0166600","errror mes666e","ddddddd"});
    setStatusMessage("ready to process, select record and click Process button to process record");
          errorOcurred = false;
        } catch (Exception ex) {
          errorOcurred = true;
          ex.printStackTrace();
        } // End try
      private void process_actionPerformed(ActionEvent e) {
        try {
          if(theTable.getSelectedRows().length > 0) {
    //        processThread = null;
    //        processThread = new theProcess(this);
    //        processThread.start();
    processnow();
            System.out.println("........finished now.........");
          } else {
        } catch (Exception ex) {
          ex.printStackTrace();
      public void processnow() {
        try {
          int[] selectedRows = null;
          int totalSelected = 0;
          setStatusMessage("processing " + totalSelected + " selected records...");Thread.sleep(1500);
          selectedRows = theTable.getSelectedRows();
          totalSelected = selectedRows.length;
          for(int i = 0; i < totalSelected ; i++){
            setStatusMessage("processing " + (i+1) + " of " + totalSelected + " selected records...");
            System.out.println(".......................row: "+selectedRows);
    Thread.sleep(2500);
    System.out.println("........fins...........");
    errorOcurred = false;
    } catch (Exception ex) {
    errorOcurred = true;
    ex.printStackTrace();
    } // End try
    public void setStatusMessage(String message) {
    statusMessage=message;
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    if(image)
    statusBar.setIcon(Image);
    else
    statusBar.setIcon(oImage);
    statusBar.setText(statusMessage);
    statusBar.update(statusBar.getGraphics());
    public static void main(String[] args){
    new thePanel();
    } // class
    package label;
    import java.lang.Runnable;
    public class theProcess implements Runnable {
    private thePanel parent;
    public theProcess(thePanel xparent){
    parent = xparent;
    } // end constructor
    public void start() {
    try {
    Thread thisThread = new Thread(this);
    thisThread.start();
    thisThread.join();
    } catch(Exception ex) {
    ex.printStackTrace();
    } // end method (start)
    public void run(){
    try {
    parent.processnow();
    } catch (Exception ex){
    ex.printStackTrace();
    } // end try
    } // end method (run)
    } // end class

  • Measure time of an measurement and if measurement time is less than 90 second wait until 90 second and then proceed to next steps or stop.

    Hi
    I am trying to make a program
          During execute a measurement count the time.
          If  measurement time is more than 90 second proceed to the next steps (or stop the measurement)
          If measurement time is less than 90 second, wait until 90 second and then proceed to next steps or stop
    I appreciate deeply if some help me.

    What sort of measurement are you talking about? What affects the time of your measurement? The very basic description you have is of a state machine and there are numerous examples of that
    1. Actually I would like measure the time of "Alignment" function done by wafer test equipment name Prober ( the model is "UF3000" made by TOKYO SEIMITSU CO., LTD.
    2.. Right now  the "Alignment" function is started when a  GPIB command is written as "N" and wait for resposne 70 in polling.
    Please refer to the attachment for Alignement function if it help you.
    In the attahement
    For Alignment error delay we are using =600
    Alignment counter =30000
    align loop cnt = 30000
    This is a program wriiten by another person and he is not availabe any more. What I am trying to do is
    1.  During execute a "Alignment " function count the time.
    2. If  "Alignment " function time is more than 90 second proceed to the next steps
    3.  If "Alignment " function is less than 90 second, wait until 90 second and then proceed to next steps
    Attachments:
    Alignment function.xlsx ‏153 KB

  • Second tween does not wait for first to finish

    Having a little problem here and as far as I can tell it is
    just that the second tween starts before waiting for the first to
    finish. Basically on a click event it should slide out a scroll
    pane to the bottom of the screen, change the contentpath of the
    scroll pane, then slide it back up.
    with the code below it just slides up the new movie clip but
    does not slide out the old one, if i remove the code for the new
    clip to slide up the old one does do the slide out how I want it to
    look.
    how can I make a pause in between the two to wait.
    on (press) {
    import mx.transitions.Tween;
    import mx.transitions.easing.*;
    _root.mask._x = 54;
    _root.mask._y = 109.3;
    _root.scroll_pane.setMask(_root.mask);
    switch (_root.loaded_clip)
    case 2: var Slide_out:Tween = new Tween(_root.scroll_pane,
    "_y", Bounce.easeOut, _root.scroll_pane._y, 900, 3, true); break;
    _root.scroll_pane.contentPath = "Search_mc";
    var Slide_up:Tween = new Tween(_root.scroll_pane, "_y",
    Bounce.easeOut, 900, 109, 3, true);
    _root.loaded_clip = 1;
    }

    Its still not working with that code but I think I can muck
    around with it and figure it out, the slide out works on the old
    clip now but then the new one never shows up.
    The onMotionFinished was basically what I was looking for,
    think I can eventually figure it out from here, thanks for the
    info.

  • Cap5: Slide Pauses for audio

    Hello,
    I have a 25-second slide with 25 seconds of audio on it. On exit, the slide is to jump to the previous slide.
    Also on this slide, I have several buttons, all of which last for 3 seconds. The idea is that the audio should play, the buttons disappear after 3 seconds, and at the end of the audio (and hence the slide), the project continues by going back to the previous slide.
    But that's not what is happening. Instead, the whole slide pauses while the audio plays. So, although the full audio plays, the buttons do not disappear and the slide doesn't follow the assigned exit behavior. It just sits there when the audio is done. I have double-checked to make sure all the buttons disappear so nothing is causing the pause. Could the audio itself be causing the pause?
    Just a bit more info. Here is a picture of my timeline. If I select  "Preview this slide," it plays properly, but not if I preview the whole  project. Advice is appreciated!
    JR

    It's hard to tell from the screenshot, but it looks like your buttons are set to "pause after ___ seconds."  You can tell because a line appears in the button on the timeline when this is the case.  When the button will continue, there is no line.
    Example:
    It seems like the slide is waiting for some sort of action on the button in order to continue (or in your case, to "end" and therefore return to the slide you have set to "exit.")
    It makes sense that it would work properly when you preview the slide because the buttons never pause during playback on the workspace.  If you select "preview 5 slides" it will probably pause.   So just make sure that "Pause after ____" is deselected and the buttons should continue.
    Hope that helps!

  • Make jFrame wait for jDialog to finish

    I am making a project in Netbeans i have a main Frame and some Dialog windows that open up if you press some buttons.
    when one window opens i want the main Frame script to pause and wait for it to complete.
    i have tried 3 different ways:
    questionDialog.setVisible(true);
    while (questionDialog.isVisible()) {
        try {
            Thread.sleep(200);
        } catch (Exception e) {
    } but that shows the frame of the dialog box but never loads the inside and the whole application freezes.
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            questionDialog.setVisible(true);
    while (questionDialog.isVisible()) {
        try {
            Thread.sleep(200);
        } catch (Exception e) {
    }that loaded my Dialog box but the script never waits for it to close i assume it is because it waits until "later" to show the dialog box and in that time it skips the while loop.
    Thread t = new Thread(new Runnable() {
        public void run() {
            questionDialog.setVisible(true);
            while (questionDialog.isVisible()) {
                try {
                    Thread.sleep(200);
                } catch (Exception e) {
    t.start();
    System.out.println("Dialog started");
    System.out.println(questionDialog.isVisible());
    try {
        t.join();
    } catch (Exception e) {
    }but that had the same result as the first code it waited but never showed the dialog.
    where am i going wrong how should i go about this?
    Scott.
    EDIT:
    by finish i mean become not Visible. so isVisible() will return false
    Edited by: ratcateme on Nov 20, 2008 3:02 PM

    You don't have to do anything to do that
    questionDialog.setVisible(true), this method will block the thread, it would't keep going until the questionDialog is unvisible, this is the mistake of the way 1 and way 3.
    and the way 2: the while block will be execute before the questionDialog.setVisible(true) is execute, so questionDialog.isVisible() will return false
    my en is very poor, good luck!

  • [Solved] Wait for external usb disk before mounting partition

    Hello,
    I have a fresh setup where 3 btrfs subvolumes are supposed to be mounted on /var /home and /opt. Those subvolumes are on an external usb drive (root fs is on a sd card).
    During boot, systemd tries to mount /var first but encounter "var not empty, mounting anyway" (probably due to several boot attempts) and then "special device uUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 does not exist" where 12f15a3e-cf5c-4bc2-9475-6b4686a30f90 is the correct id of the drive.
    From journactl extract it seems that usb drive is not ready yet when /var is being mounted.
    Is there a way to make systemd wait for "the disk is ready" before trying to mount /var ?
    Information:
    - mounting /var in rescue mode works perfectly (mount -o subvol=var /dev/sda /var)
    - device is a raspberry but I think it has no link to the issue (except maybe being slow to send power to usb)
    - the usb drive is behind a 4 port usb hub (externally powered)
    - the usb drive indeed take some time to be powered up
    - /home and /opt are mounted in rescue mode automatically a few seconds later
    journatctl wrote:Jan 01 01:00:07 capodimonte systemd[1]: Starting Local File Systems (Pre).
    Jan 01 01:00:07 capodimonte systemd[1]: Reached target Local File Systems (Pre).
    Jan 01 01:00:07 capodimonte systemd[1]: Mounting /var...
    Jan 01 01:00:07 capodimonte systemd[1]: var.mount: Directory /var to mount over is not empty, mounting anyway.
    Jan 01 01:00:07 capodimonte systemd-udevd[138]: starting version 218
    Jan 01 01:00:07 capodimonte mount[139]: mount: special device uUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 does not exist
    Jan 01 01:00:07 capodimonte kernel: scsi 0:0:0:0: Direct-Access     Inateck                   0001 PQ: 0 ANSI: 6
    Jan 01 01:00:07 capodimonte kernel: sd 0:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
    Jan 01 01:00:07 capodimonte kernel: sd 0:0:0:0: [sda] Write Protect is off
    Jan 01 01:00:07 capodimonte systemd[1]: var.mount mount process exited, code=exited status=32
    Jan 01 01:00:07 capodimonte kernel: sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
    Jan 01 01:00:07 capodimonte kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    Jan 01 01:00:07 capodimonte systemd[1]: Failed to mount /var.
    Jan 01 01:00:09 capodimonte kernel:  sda: unknown partition table
    Jan 01 01:00:09 capodimonte kernel: sd 0:0:0:0: [sda] Attached SCSI disk
    Jan 01 01:00:09 capodimonte kernel: random: nonblocking pool is initialized
    Jan 01 01:00:09 capodimonte kernel: BTRFS: device label external_hdd devid 1 transid 24 /dev/sda
    Jan 01 01:00:09 capodimonte systemd[1]: Found device NS1066 external_hdd.
    Jan 01 01:00:09 capodimonte systemd[1]: Mounting /home...
    Jan 01 01:00:09 capodimonte systemd[1]: Mounting /opt...
    Jan 01 01:00:09 capodimonte kernel: BTRFS info (device sda): enabling auto defrag
    Jan 01 01:00:09 capodimonte kernel: BTRFS info (device sda): disk space caching is enabled
    Jan 01 01:00:09 capodimonte kernel: BTRFS: has skinny extents
    Jan 01 01:00:09 capodimonte systemd[1]: Mounted /home.
    Jan 01 01:00:09 capodimonte systemd[1]: Mounted /opt.
    Jan 01 01:00:09 capodimonte systemd[1]: Startup finished in 5.088s (kernel) + 4.607s (userspace) = 9.696s.
    My fstab:
    # /dev/mmcblk0p3
    UUID=4660fa0a-bcf6-4d83-b956-d7bf9df222b9 / ext4 rw,relatime,data=ordered 0 1
    # /dev/sda LABEL=external_hdd
    UUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 /home btrfs rw,relatime,space_cache,noatime,compress=lzo,autodefrag,subvol=home 0 0
    # /dev/sda LABEL=external_hdd
    uUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 /var btrfs rw,relatime,space_cache,noatime,compress=lzo,autodefrag,x-systemd.device-timeout=30s,subvol=var 0 0
    # /dev/sda LABEL=external_hdd
    UUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 /opt btrfs rw,relatime,space_cache,noatime,compress=lzo,autodefrag,subvol=opt 0 0
    # /dev/mmcblk0p1
    UUID=95DB-C13B /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro 0 2
    Last edited by kamaradclimber (2015-03-12 19:25:40)

    Thanks for your reply.
    I don't see any btrfs subvolume information in /dev.
    Here is the var.mount config:
    systemctl show var.mount wrote:Where=/var
    What=/dev/sda
    Options=rw,relatime,compress=lzo,space_cache,autodefrag
    Type=btrfs
    TimeoutUSec=1min 30s
    ControlPID=0
    DirectoryMode=0755
    SloppyOptions=no
    Result=exit-code
    ExecMount={ path=/bin/mount ; argv[]=/bin/mount -n uUID=12f15a3e-cf5c-4bc2-9475-6b4686a30f90 /var -t btrfs -o rw,relatime,space_cache,noatime,compress=lzo,autodefrag,subvol=var ; ignore_errors=no ; start_time=[Thu 1970-01-01 01:00:07 CET] ; stop_time=[Thu 1970-01-01 01:00:07 CET] ; pid=141 ; code=exited ; status=32 }
    Slice=system.slice
    ControlGroup=/system.slice/var.mount
    Delegate=no
    CPUAccounting=no
    CPUShares=18446744073709551615
    StartupCPUShares=18446744073709551615
    CPUQuotaPerSecUSec=infinity
    BlockIOAccounting=no
    BlockIOWeight=18446744073709551615
    StartupBlockIOWeight=18446744073709551615
    MemoryAccounting=no
    MemoryLimit=18446744073709551615
    DevicePolicy=auto
    UMask=0022
    LimitCPU=18446744073709551615
    LimitFSIZE=18446744073709551615
    LimitDATA=18446744073709551615
    LimitSTACK=18446744073709551615
    LimitCORE=18446744073709551615
    LimitRSS=18446744073709551615
    LimitNOFILE=4096
    LimitAS=18446744073709551615
    LimitNPROC=7329
    LimitMEMLOCK=65536
    LimitLOCKS=18446744073709551615
    LimitSIGPENDING=7329
    LimitMSGQUEUE=819200
    LimitNICE=0
    LimitRTPRIO=0
    LimitRTTIME=18446744073709551615
    OOMScoreAdjust=0
    Nice=0
    IOScheduling=0
    CPUSchedulingPolicy=0
    CPUSchedulingPriority=0
    TimerSlackNSec=50000
    CPUSchedulingResetOnFork=no
    NonBlocking=no
    StandardInput=null
    StandardOutput=journal
    StandardError=inherit
    TTYReset=no
    TTYVHangup=no
    TTYVTDisallocate=no
    SyslogPriority=30
    SyslogLevelPrefix=yes
    SecureBits=0
    CapabilityBoundingSet=18446744073709551615
    MountFlags=0
    PrivateTmp=no
    PrivateNetwork=no
    PrivateDevices=no
    ProtectHome=no
    ProtectSystem=no
    SameProcessGroup=yes
    IgnoreSIGPIPE=yes
    NoNewPrivileges=no
    SystemCallErrorNumber=0
    RuntimeDirectoryMode=0755
    KillMode=control-group
    KillSignal=15
    SendSIGKILL=yes
    SendSIGHUP=no
    Id=var.mount
    Names=var.mount
    Requires=-.mount
    Wants=system.slice
    RequiredBy=systemd-journal-flush.service man-db.service shadow.timer man-db.timer local-fs.target systemd-random-seed.service logrotate.timer systemd-update-utmp.service
    Conflicts=umount.target
    Before=systemd-journal-flush.service man-db.service shadow.timer man-db.timer local-fs.target systemd-random-seed.service logrotate.timer systemd-update-utmp.service umount.target
    After=local-fs-pre.target -.mount systemd-journald.socket system.slice
    RequiresMountsFor=/
    Documentation=man:fstab(5) man:systemd-fstab-generator(8)
    Description=/var
    LoadState=loaded
    ActiveState=active
    SubState=mounted
    FragmentPath=/run/systemd/generator/var.mount
    SourcePath=/etc/fstab
    UnitFilePreset=disabled
    InactiveExitTimestamp=Thu 1970-01-01 01:01:11 CET
    InactiveExitTimestampMonotonic=71204114
    ActiveEnterTimestamp=Thu 1970-01-01 01:01:11 CET
    ActiveEnterTimestampMonotonic=71204114
    ActiveExitTimestampMonotonic=0
    InactiveEnterTimestamp=Thu 1970-01-01 01:00:07 CET
    InactiveEnterTimestampMonotonic=7409499
    CanStart=yes
    CanStop=yes
    CanReload=yes
    CanIsolate=no
    StopWhenUnneeded=no
    RefuseManualStart=no
    RefuseManualStop=no
    AllowIsolate=no
    DefaultDependencies=yes
    OnFailureJobMode=replace
    IgnoreOnIsolate=yes
    IgnoreOnSnapshot=no
    NeedDaemonReload=no
    JobTimeoutUSec=0
    JobTimeoutAction=none
    ConditionResult=yes
    AssertResult=yes
    ConditionTimestamp=Thu 1970-01-01 01:00:07 CET
    ConditionTimestampMonotonic=7365732
    AssertTimestamp=Thu 1970-01-01 01:00:07 CET
    AssertTimestampMonotonic=7365738
    Transient=no

  • Hp34970a read vi doesnot wait for scan to finish

    hi all.... i am facing problem ..im tryin to read DC current values from two channels.. i modified the advanced scan vi example..
    the read
    vi is not waiting for the scan to finish.... i used trigger vi outside
    a for loop and i want the readings to be taken for a number of times
    which is equal to the trigger count.... i even placed a time delay
    between the standard event vi and the read vi....the standard event
    register vi has been set for operation complete bit. Yet the read vi is
    not waiting.
    so can anyone let me knw if the delay helps in waiting the read vi to finish the scan??
    will the read vi give out the readings for each scan or will it just display random values??
    im
    posting the vi here... i kept the scan count to be 15 and scan-scan
    interval as 1sec. ( so it implies that im using a timer source for
    triggering) I used a time delay of 0.9secs in between standard event
    register vi and the read vi. 
    i used a for loop insted of
    a while loop coz i need the number of readings = scan count. i placed
    the trigger vi outside the for loop.
    can anyone have a look over this vi and help me out?
    Attachments:
    final2.vi ‏59 KB

    Now I placed a while loop around the standard event register vi and i am running it till i get a true in the bits set output. this time i checked the parameter'operation complete bit' instead of setting it. Only then i can see true value on the bit set output or else false.
    The bit 1 is true after some time (after scanning is done), but the instrument is showing -410 error. This error actually says ' a command was received which sends data to the output buffer, but the ouput buffer contained data from previous command(previous data is not overwritten).The output buffer is cleared when power has been off or after a bus Device Clear.'
    What should i do? Can you tell whether what i did is right? I atached the vi which has while loop around the standard event register vi.
    Attachments:
    final3.vi ‏49 KB

  • Wait for commit to finish

    Hello,
    I am calling a standard function that update some tables and at the end execute a commit work without the wait clause, but right after the execution of the standard function I need to perform some operations that needs all the tables to be updated, so unfortunatelly I needed commit work and wait inside the standard function.
    As I cannot change the standard function I tried to use table VBHDR to check when the update process finish but I noticed in my system this table is not trustfull as there are lots of garbage there with field VBRC = 1.
    So my question is how can I wait for the commit work to finish in this situation?
    Regards,
    Mauricio

    well this a random approach but u can try this.
    use WAIT UP TO n seconds give the vales as some 120 or 180 seconds.
    but u cant be sure if its stable all the time.
    Or u can try and call the function with the addition IN UPDATE TASK
    кu03B1ятu03B9к
    Edited by: kartik tarla on Jan 5, 2009 6:41 PM

  • Multitasking - Have to wait for card to stop before selecting

    I have noticed that when multitasking, I have to wait for the cards to completely stop moving before I can interact and touch them. I am unable to select a card while they are animating.  Is this normal?

    The app cards. I call them cards, I could be using an incorrect term, but the currently running app windows/screenshots/previews that you interact with by swiping up to close the app or touch to select to go into the app.

Maybe you are looking for