Create a subVI with fgv

Hi,
I Would like created a subVI with FGV of  my code in labview but  I cant see how to make the local variables to put them in subVI.
Someone could show me an example with local variables in fgv pls?
Best regards
 

That VI really is something. How are you doing on LV Skills yourself? If you're new to LabVIEW I would highly suggest investing at least some time into the free courses and maybe even some money into a LabVIEW course.
Here's a short list of the stuff available:
3 Hour Introduction
6 Hour Introduction
LabVEW Basics
Self Paced training for students
Self Paced training beginner to advanced, SSP Required
LabVIEW Wiki on Training
Learning NI
Getting Started with NI Products
There you will learn many concepts of which I believe, FGVs, State Machine and Queue Driven State Machine (QDSM) should be particularly useful for you.

Similar Messages

  • How can I create a subVI that has state?

    I'm trying to simplify a VI that I inherited and I noticed a recurring pattern that IMHO should be a subVI.  The pattern is that we have a digital output line that is controlled by a timer.  Each output has a start time for it to activate and a duration after which it is turned off.  When the state changes, a single line entry is added to a common log file and an indicator shared variable is set so that the remote host VI updates.  We have a big while loop that checks the current time against each of the activation conditions.  To detect when the state has changed, we're using a shift register (for each actuator).  It's one thing to see the same pattern 3 times, but it's worse -- we want to sometimes use a different number of actuators.  If I was writing this in C++ (with which I'm far more comfortable than LabView), I'd write a class for the actuator and instantiate it N times.  The class would have member data to keep track of its state.  I can create a subVI that does the meat of the design pattern, but I can't figure out how to store the previous state in the subVI without requiring it to be passed in.  How do I keep the state and behavior of a VI together?  Surely there's a way to do this because otherwise I can't see how you could implement state-ful algorithms like, say, a PID controller.  But I'm at a loss to figure it out ...
    Thanks.
    Keith.

    To save state in a subVI and not use that state in other subVI calls, make the subVI reentrant.  When a subVI that is reentrant is called it creates a unique memory space for that subVI.  This is called a clone.  That memory space is where state is held for that subVI.  Keep in mind that it also means that the memory footprint is going to be larger.
    To set a subVI to be reentrant, open it and go to File -> VI Properties and select execution.  It will be a choice on the bottom left.
    Hope that this helps,
    Bob Young
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • How To Create a SubVi and Limit Required Inputs

    Hello,
    Description:
    I have created a VI that reads in voltage values from the NI USB-6008 device. After putting that value into a formula, I compare the new value with an array of data and output a corresponding value (this is not too important for the problem).
    Problem:
    The VI currently works great. My goal is to make it into a SubVi that can read in various channels and output their values. However, when I attempt to make a subVi thourgh Edit>>Create SubVi, the subVi created requires many inputs because of the many controls I utilize in the VI.
    What I want to do:
    Is there any way to use the default values of the controls in the SubVi and not require the user to input each control's value into the SubVi? Or, do I have to change my controls to be constants?
    Any assitance would be greatly appreciated.
    Attachments:
    YSI_R_to_T.vi ‏379 KB

    You don't have to create a subvi by using the Edit - Create Subvi button. Any vi can be a subvi. Go to the front panel, right click on the icon in the top right corner, select show connector. Figure out how many inputs and outputs you want to connect to the main vi. Right click on the connector pane and select Patterns, then the pattern that fits your needs. If you want to have the main send a channel and have the subvi send an output, choose the 4 connector pane pattern. Put Error In and Error Out clusters on your front panel. Wire the channel input control to the top left terminal of the connector pane, the output indicator to the top right connector, the Error In to the bottom left, and Error Out to the bottom right. It is good to use the Error In and Out to indicate errors and to help control execution order through data flow. Save the vi. In your main block diagram, go to functions - Select a VI, and select the vi you just saved, which now becomes a subvi to the main. You can wire a control to the new subvi top left, and so on...
    - tbob
    Inventor of the WORM Global

  • SubVI with "Subroutine"-priority

    It's known that it is impossible to call a non-"Subroutine"-SubVI from a
    SubVI with "Subroutine"-priority. Actually subroutines are much faster,
    because they do not create their own thread, as SubVIs with other
    priority-levels do.
    Is it possibly to force Labview not executing an own thread for every SubVI
    that has a higher priority than "Subroutine" ?!?
    Philipp

    > It's known that it is impossible to call a non-"Subroutine"-SubVI from a
    > SubVI with "Subroutine"-priority. Actually subroutines are much faster,
    > because they do not create their own thread, as SubVIs with other
    > priority-levels do.
    > Is it possibly to force Labview not executing an own thread for every SubVI
    > that has a higher priority than "Subroutine" ?!?
    >
    Actually things are a bit different than what you describe. SubVIs are set
    to run in an execution system. All execution systems that are being used
    will have threads created for them before the VI even begins to run. It
    is the execution systems that define how many threads, not the VIs. Any and
    all VIs that use an execution system share the threads. By default, each
    execution system has one thread per priority per processor.
    If each subVI uses a different execution system, and provided threading is
    enabled, each subVI will be run by a different thread. This does cause
    overhead due to the thread switches that the operating system must perform.
    For that reason, it is usually best to leave the VIs in their default
    setting -- running in the same thread as the caller. This avoids the thread
    switch, and it allows for lots of freedom in later configurations. Here is
    how. If you now have several tasks that you want to separate, you make them
    subVIs and set them to different execution systems/priorities. Then any
    subVI they call will inherit the execution system, the priority, and the
    thread automatically without lots of reconfiguring or duplication of VIs.
    Lastly, the subroutine is sort of an odd feature. It really isn't a
    priority at all. A subroutine is a special way of compiling a VI that
    turns off everything possible to make the VI run as efficiently as
    currently possible. They always run in the thread of the caller, they
    do not co-routine with other VIs of the same priority.
    Subroutines turn off
    debugging -- you cannot probe, set a breakpoint, or use highlighting
    panel interaction -- the panel is not read or written to while the VI
    runs ...
    scheduling -- the VI cannot call VIs that aren't also subroutines, it cannot
    have any asynchronous functions, sleeps, etc.
    So, the best way to think of a subroutine is as a function call with as
    little overhead as possible. Not all code can be turned into a subroutine,
    and you should wait until the code is debugged before making subroutines.
    It is also a good idea to use the profiler to point out the most commonly
    called subVIs. If a subVI is only called two times, it is hardly worth
    the effort of making it a subroutine. If a subVI is called 2,000,000 times,
    then trimming off even a small amount per call can do wonders to speed up
    your app.
    Greg McKaskle

  • LV crashes when I Create a subVI

    I am a newbe with LabView, and I am working through some courses using the Student Edition.
    Every time I mark everything on this simple vi (written to try to isolate what conditions are causing this problem) LabView does a complete crash and burn. This only happens when I am using a local variable, although I am not sure I have implemented it correctly.
    Attached is the VI and the LabView error report.
    Regards,
    DerekS
    Attachments:
    Crasher.vi ‏19 KB
    lvlog07-26-04-21-36-17.txt ‏3 KB

    Hi,
    In your program there is no need of the sequence structure or even the local variable. I have attched a modified version of the vi that gives the same results as before but this one does not crash LabVIEW 7.0 when you try to create a subvi by highlighting. On another note, it is best if you create a subvi using the connector pane. Read on help for "creating Subvis from selection" on LabVIEW help to know what are the pitfalls when you create a subvi by highlighting.
    Attachments:
    Crasher_modified_lv_7.0.vi ‏14 KB

  • How do I create a subVI without controls?

    Greetings,
    I am going through some exercises to learn LabView and I have a question.
    One of the exercises in my book is to create a subVI that generates a random number within a min/max range.  (OK--re-invent the wheel)  I have the block diagram and I have the icon designed, but I am having difficulty in getting the connections wired.
    Right now it's a hard-coded static value for the min and max.  I'd like to have a connector in for each of the min and max (so that the parent can specify that however it wants be it with a static integer, an input, etc) and then a connector for the output--again, without a specified control so that the parent can take the value and run with it.
    How do I do the wiring?  I can obviously drop in controls into the front panel, but my parent project doesn't need the clutter of 3 extra controls coming up on it.
    Thank you,
    newbo
    Solved!
    Go to Solution.

    From the connector pane, you can right-click on a connector and select a setting.  You can set "This Connection is->" to Recommended or Optional.  This will allow the VI to be called without those terminals wired from the parent VI.  If left unwired, the default values you put in the controls will be used.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Create a subvi

    hello,
    I would like to create a subvi in labview 7.(I have a vi that I would like to reproduce 2 times in another Vi)

    Hi Rémi,
    in the upper right corner of your front panel you can see an icon depicted. It represents the code of VI as a subVI in anothor VI when it is loaded via "select a VI". Click rigth with the mouse on this icon and you get an context menu. There should be a menu point named "Show connector". The icon should change in a pattern of white sqaures. If you have in- and output structures on your front panel, the white should represent them in numbers. The rectancles on the left represents the input structures and the ones on the right the output structures. Take the "connect wire" tool and click the rectangle which should represent the data structure on the front panel und then click on the mentioned front panel structure. The colour of the recta
    ngle changes from white to the colour of the used data type. E.g., if you have a simple Digital Indicator it should become orange for real values or blue for integer values.
    If you load this VI now as a subVI with "select a VI" you should be able to see this connection on the icon.
    Please keep telling me wheather my description has helped you.
    Stephan

  • Is there a way to create a project with custom audio settings that are NOT only "Stereo" or "Surround"?

    Is there a way to create a project with custom audio settings that are NOT only "Stereo" or "Surround"?
    Thanks!
    -Adrian

    the old apps are on my computer but they have had upgrades since they were put on the ipod originally.  you think you would get a warning about this when you restored. I was not worried about losing the progress of the apps but i would have been worried about the app it self!!!!!

  • Error while creating  a PO with Account assignment

    HI MM Gurus
    In our case, we need to create the STO for account assignment cat `Unknown`.
    In SPRO I maintained combination of account assign cat and item cat.
    Now, while creating  a PO with Account assign U we get Error message -  ME069 :Unknown account assignment not defined for use here.
    Please advise how to resolve this issue.

    Hi
    When you are posting actuals, you need to give true account assignment object. With U (unknown), system cannot identify which account to be posted. Change account assignment in PO to another.
    In standard SAP Unknown account assignment is not allowed in PO's. Only exception is Blanket PO.
    Unknown is allowed only in PR and Blanket PO.
    The reason is logically you are releasing the PO to the external vendor or Plant in this case you must know the account assignment.
    Regards,
    Ninad Kshirsagar

  • How to create a node with attributes at runtime in webdynpro for ABAP?

    Hi Experts,
             How to create a node with attributes at runtime in webdynpro for ABAP? What classes or interfaces I should use? Please provide some sample code.
    I have checked IF_WD_CONTEXT_NODE_INFO and there is ADD_NEW_CHILD_NODE method. But this is not creating any node. I this this creates only a "node info" object.
    I even check IF_WD_CONTEXT_NODE but i could not find any method that creates a node with attribute.
    Please help!
    Thanks
    Gopal

    Hi
       I am getting the following error while creating a dynamic context node with 2 attributes. Please help me resolve this problem.
    Note
    The following error text was processed in the system PET : Line types of an internal table and a work area not compatible.
    The error occurred on the application server FMSAP995_PET_02 and in the work process 0 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
    Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
    Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
    Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
    Method: IF_SALV_WD_COMPONENT~VIEW_MODIFY of program CL_SALV_WD_A_COMPONENT========CP
    My code is like the following:
    TYPES: BEGIN OF t_type,
                CARRID TYPE sflight-carrid,
                CONNID TYPE sflight-connid,
             END OF t_type.
      Data:  i_struc type table of t_type,
      dyn_node   type ref to if_wd_context_node,
      rootnode_info   type ref to if_wd_context_node_info,
      i_node_att type wdr_context_attr_info_map,
      wa_node_att type line of wdr_context_attr_info_map.
          wa_node_att-name = 'CARRID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CARRID'.
          insert wa_node_att into table i_node_att.
          wa_node_att-name = 'CONNID'.
          wa_node_att-TYPE_NAME = 'SFLIGHT-CONNID'.
          insert wa_node_att into table i_node_att.
    clear i_struc. refresh i_struc.
      select carrid connid into corresponding fields of table i_struc from sflight where carrid = 'AA'.
    rootnode_info = wd_context->get_node_info( ).
    rootnode_info->add_new_child_node( name = 'DYNFLIGHT'
                                       attributes = i_node_att
                                       is_multiple = abap_true ).
    dyn_node = wd_context->get_child_node( 'DYNFLIGHT' ).
    dyn_node->bind_table( i_struc ).
    l_ref_interfacecontroller->set_data( dyn_node ).
    I am trying to create a new node. That is
    CONTEXT
    - DYNFLIGHT
    CARRID
    CONNID
    As you see above I am trying to create 'DYNFLIGHT' along with the 2 attributes which are inside this node. The structure of the node that is, no.of attributes may vary based on some condition. Thats why I am trying to create a node dynamically.
    Also I cannot define the structure in the ABAP dictionary because it changes based on condition
    Message was edited by: gopalkrishna baliga

  • I can't print a PDF created in MAC with window 8.1?

    En pdf-fil skapad i MAC går inte att skriva ut med Wondows 8.1

    Hi.
    The problem is now fixed by help of HP.
    Best regards
    Lars Hansson
    Bergsgatan 24 A
    83241 Frösön
    Tfn: 070-3853088
    Från: Ajlan huda 
    Skickat: den 7 november 2014 08:28
    Till: Lars Hansson
    Ämne:  I can't print a PDF created in MAC with window 8.1?
    I can't print a PDF created in MAC with window 8.1?
    created by Ajlan huda <https://forums.adobe.com/people/Ajlan+huda>  in Adobe Reader - View the full discussion <https://forums.adobe.com/message/6908045#6908045>

  • I am new to IPAD and I want o use facetime, how can I use it to communicate with my mac at home, do I need to create another account with a different email account

    I am new to IPAD and I want o use facetime, how can I use it to communicate with my mac at home, do I need to create another account with a different email account

    do I need to create another account with a different email account
    Yes, the email addresses need to be unique to each device. You may use the same Apple ID on each device, but the email address used by each device needs to be different.

  • How to create a report with survey data

    Hi All,
    I need to create a report with survey data in below format. Can anyone help me how to display the summary in this format.
    Swapna

    Hi Swapna,
    According to your description, you want to create a report with survey data and display the summary.
    Reporting Services is used for rendering the report with data retrieved from datasource. In Reporting Services, we can retrieve data from the datasource then design a report, after the report processed, data is fixed on the report. So it’s not supported
    to have the end users selection and do summary. For your requirement, it’s can’t be achieved currently.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • How to create a report with data using the Crystal Reports for Java SDK

    Hi,
    How do I create a report with data that can be displayed via the Crystal Report for Java SDK and the Viewers API?
    I am writing my own report designer, and would like to use the Crystal Runtime Engine to display my report in DHTML, PDF, and Excel formats.  I can create my own report through the following code snippet:
    ReportClientDocument boReportClientDocument = new ReportClientDocument();
    boReportClientDocument.newDocument();
    However, I cannot find a way to add data elements to the report without specifying an RPT file.  Is this possible?  I seems like it is since the Eclipse Plug In allows you to specify your database parameters when creating an RPT file.
    is there a way to do this through these packages?
    com.crystaldecisions.sdk.occa.report.data
    com.crystaldecisions.sdk.occa.report.definition
    Am I forced to create a RPT file for the different table and column structures I have? 
    Thank you in advance for any insights.
    Ted Jenney

    Hi Rameez,
    After working through the example code some more, and doing some more research, I remain unable to populate a report with my own data and view the report in a browser.  I realize this is a long post, but there are multiple errors I am receiving, and these are the seemingly essential ones that I am hitting.
    Modeling the Sample code from Create_Report_From_Scratch.zip to add a database table, using the following code:
    <%@ page import="com.crystaldecisions.sdk.occa.report.application.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.data.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.document.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.definition.*"%>
    <%@ page import="com.crystaldecisions.sdk.occa.report.lib.*" %>
    <%@ page import = "com.crystaldecisions.report.web.viewer.*"%>
    <%
    try { 
                ReportClientDocument rcd = new ReportClientDocument();
                rcd.newDocument();
    // Setup the DB connection
                String database_dll = "Sqlsrv32.dll";
                String db = "qa_start_2012";
                String dsn = "SQL Server";
                String userName = "sa";
                String pwd = "sa";
                // Create the DB connection
                ConnectionInfo oConnectionInfo = new ConnectionInfo();
                PropertyBag oPropertyBag1 = oConnectionInfo.getAttributes();
                // Set new table logon properties
                PropertyBag oPropertyBag2 = new PropertyBag();
                oPropertyBag2.put("DSN", dsn);
                oPropertyBag2.put("Data Source", db);
                // Set the connection info objects members
                // 1. Pass the Logon Properties to the main PropertyBag
                // 2. Set the Server Description to the new **System DSN**
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_LOGONPROPERTIES, oPropertyBag2);
                oPropertyBag1.put(PropertyBagHelper.CONNINFO_CRQE_SERVERDESCRIPTION, dsn);
                oPropertyBag1.put("Database DLL", database_dll);
                oConnectionInfo.setAttributes(oPropertyBag1);
                oConnectionInfo.setUserName(userName);
                oConnectionInfo.setPassword(pwd);
                // The Kind of connectionInfos is CRQE (Crystal Reports Query Engine).
                oConnectionInfo.setKind(ConnectionInfoKind.CRQE);
    // Add a Database table
              String tableName = "Building";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
        catch(ReportSDKException RsdkEx) {
                out.println(RsdkEx);  
        catch (Exception ex) {
              out.println(ex);  
    %>
    Throws the exception
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKException: java.lang.NullPointerException---- Error code:-2147467259 Error code name:failed
    There was other sample code on SDN which suggested the following - adding the table after calling table.setDataFields() as in:
              String tableName = "Building";
                String fieldname = "Building_Name";
                Table oTable = new Table();
                oTable.setName(tableName);
                oTable.setAlias(tableName);
                oTable.setQualifiedName(tableName);
                oTable.setDescription(tableName) ;
                Fields fields = new Fields();
                DBField field = new DBField();
                field.setDescription(fieldname);
                field.setHeadingText(fieldname);
                field.setName(fieldname);
                field.setType(FieldValueType.stringField);
                field.setLength(40);
                fields.add(field);
                oTable.setDataFields(fields);
                oTable.setConnectionInfo(oConnectionInfo);
                rcd.getDatabaseController().addTable(oTable, null);
    This code succeeds, but it is not clear how to add that database field to a section.  If I attempt to call the following:
    FieldObject oFieldObject = new FieldObject();
                oFieldObject.setDataSourceName(field.getFormulaForm());
                oFieldObject.setFieldValueType(field.getType());
                // Now add it to the section
                oFieldObject.setLeft(3120);
                oFieldObject.setTop(120);
                oFieldObject.setWidth(1911);
                oFieldObject.setHeight(226);
                rcd.getReportDefController().getReportObjectController().add(oFieldObject, rcd.getReportDefController().getReportDefinition().getDetailArea().getSections().getSection(0), -1);
    Then I get an error (which is not unexpected)
    com.crystaldecisions.sdk.occa.report.lib.ReportDefControllerException: The field was not found.---- Error code:-2147213283 Error code name:invalidFieldObject
    How do I add one of the table.SetDataFields()  to my report to be displayed?
    Are there any other pointers or suggestions you may have?
    Thank you

  • How to create a report with different page sizes

    Hi,
    I would like to create a report with different page sizes, it's possible to do it with diadem?
    When I change the layout parameters, changes afect to all sheets...
    Is there a way to change page size individually for each sheet?
    Thanks in advance.
    Marc

    Hi Marc,
    You can use the DocStart and DocEnd commands along with the PicPrint command to spool multiple print commands to the same output PDF file using the direct printer approach.  This should enable you to programmatically specify the page size differently for each sheet that you add to the print job.
    ' Print PDF Page by Page.VBS
    OPTION EXPLICIT
    Dim i, Path, OldPrintName
    Path = AutoActPath & "2D Stacked"
    Call DataDelAll
    Call DataFileLoad(Path & ".TDM")
    PDFFileName = Path & " Page by Page.pdf"
    IF FileExist(PDFFileName) THEN Call FileDelete(PDFFileName)
    OldPrintName = PrintName
    PrintName = "winspool,DIAdem PDF Export,LPT1:" ' Set to PDF printer
    PDFResolution = "72 DPI" ' "2400 DPI" , "default"
    PDFOptimization = TRUE
    PDFFontsEmbedded = FALSE
    PDFJPGCompressed = "high"
    PrintOrient = "landscape" ' orient paper
    Call PrintMaxScale("GRAPH") ' auto-max, see alternative margin setting variables below
    PrintLeftMarg = 0.181
    PrintTopMarg = 0.181
    PrintWidth = 10.67
    'PrintHeigth = 7 (read-only)
    Call WndShow("REPORT")
    Call DocStart ' Begin multi-page document/print job
    FOR i = 1 TO 4
    Call PicLoad(Path & ".TDR")
    Call GraphSheetNGet(1)
    Call GraphSheetRename(GraphSheetName, "Page " & i)
    Call PicUpdate
    Call PicPrint("WinPrint") ' Add a page to be printed
    NEXT ' i
    Call DocEnd ' End multi-page document/print job
    PrintName = OldPrintName
    Call ExtProgram(PDFFileName)
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

Maybe you are looking for

  • IPhone isn't transferring purchases to my itunes account since I've updated to OS 4.3.5

    I updated my OS on Tuesday, and now I can't transfer purchases (be it music or apps) from my iPhone to iTunes on my PC.  Now iTunes/ my PC sees my phone, and when I hit "transfer purchases" it even goes through the "sync in process" motions, but no m

  • Unable to import Quicktime video into iMovie

    I've been uploading some music videos to YouTube that were taken from various self-recorded DVD's. I've been using DVDxDV software to convert the DVD's to a QuickTime file, then importing the QT files into iMovie for editing and compressing. With the

  • Using DB Adapter with XMLDB and CLOB

    Hi, with oracle xmldb i can store XMLs in lob or structured storage (s. Oracle® XML DB Developer's Guide 10g Release 2 (10.2) B14259-02). Now my question: If want to use a database adapter in the ESB to wake up several BPELs. Is there a functionality

  • How to convert no of days in below format

    i have two dates fields. startdate and enddate i am getting no of days from enddate - startdate for example startdate = 01-jan-11 enddate = 31-mar-11 select to_date('15-APR-12') - to_date('01-JAN-11') from dual; 470i want to display above query resul

  • I can't transfer raw files by using sd card

    hi i can't transfer raw files or large jpg files by using sd card to my ipad retina