Announcement

Collapse
No announcement yet.

How can I copy Media Files from a Project to SD Card without IDE

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How can I copy Media Files from a Project to SD Card without IDE

    Hi all,

    I've a project, which is ready comiled and the compiled code is copied per Delphi to the SD card.

    I've the idea to copy the media files via command shell with one of the external tools to the external SD card. May be with a format of the SD card, cause it must be raw.
    Which tool is the best and is able to use via params from command shell.
    A short excamle will be helpful. Thanks a lot.

    Greetings
    Kai
    Animated Scale Cockpit Displays at https://plastes.de

  • #2
    Hi Kai,

    Are you referring like the tool shown in this App Note?

    Designer Displaying Images from the uSD Card - RAW
    http://www.4dsystems.com.au/appnote/4D-AN-00045/

    Hope this helps,

    Comment


    • #3
      Hi Joseph,

      sorry, no it doesn't help. I need an example to transfer all media data
      of an existing compiled project via commnd shell script with a tool from
      the IDE (SCRIPTC.EXE or something like this).

      Greetings
      Kai
      Animated Scale Cockpit Displays at https://plastes.de

      Comment


      • #4
        You can use scriptc to transfer from your PC to a uSD inserted into the PC, see C:\Users\Public\Documents\4D Labs\SCRIPTS\PC\WRITEUSD.4DSCRIPT (edit it with a text editor)

        You 'simply' transfer the .gci file to start at sector 0.

        There is no utility to transfer from a PC to a uSD card inserted in a display, partially because of the many possible ways the devices could be attached which would alter the way the program would need to work, but you could always write this yourself.
        Mark

        Comment


        • #5
          Dear Mark,

          Thanks for this link. I think the script may be helpful, if I understand the doing.

          Using my ShellScript Test96.cmd
          Code:
          SCRIPTC.EXE Test96.4DSCRIPT
          with the 4D Systems Script Test96.4DSCRIPT
          Code:
          #Run(Goldelox,COM4,256000,5,Wrap)
          $timeon
          $writePCuSD('Sectors.hex','E:',preserve,0)   // overwrite start of uSD card with file 'sectors.hex'
          I got the following result.
          Code:
          c:\plastes.de\Softwareentwicklung\4D Systems\Eigener Code\Zur_Sammlung\TestVideo>SCRIPTC.EXE Test96.4DSCRIPT
          No Errors, code size = 23 bytes
          Starting Script Test96.4DSCRIPT
          Log Command Times
          Error reading boot Sector
          Ending Script Test96.4DSCRIPT
          I think the problem is the file Sectors.hex, cause I've no one found. May be my added project will help.

          Please help me understand the doing of Test96.4DSCRIPT. Thanks!

          Greetings
          Kai
          Attached Files
          Animated Scale Cockpit Displays at https://plastes.de

          Comment


          • #6
            You need to edit the script.

            Replace 'sectors.hex' with the name of the GCI file you need to copy
            replace 'E:' with the drive the uSD is inserted into
            Probably replace preserve with overwrite (as your uSD will probably be formatted)
            You will need to run the scriptC utility from an 'admin mode' command prompt
            Mark

            Comment


            • #7
              Thanks a lot - it works!
              Animated Scale Cockpit Displays at https://plastes.de

              Comment


              • #8
                Hello.
                I also use Goldelox and I want to transfer data to uSD card using scriptC.
                My program generate not only .gci file but also .txf, .g01, .g02, .d01, .d02, because I use custom fonts.

                $writePCuSD('FDV22_~1.gci','G:',overwrite,0)

                If I transfer only .gci file to uSD card, as above to sector 0, software don't work properly.

                Which files else I have to transfer to uSD card?

                How I can determine on which sector the file should write?

                Best regards,
                David

                Comment


                • #9
                  Hi David.

                  There is also a .dat file which go's with the main .gci file. Is the .dat also being transferred to the SD card ?

                  Best regards

                  Paul

                  Comment


                  • #10
                    Hi David,

                    Could you try just sending the graphics files eg .gci, .g01, .g02, and then the .txf in that order

                    Best regards

                    Paul

                    Comment


                    • #11
                      Hello
                      Yes, I have .dat file in project, but I didn't transfer this file to uSD card. Normally when I update card via Workshop I get a massage as in attached file.

                      Yes, I can transfer files gci, .g01, .g02, .txf in that order but I don't know what I have to put I sector value.

                      $writePCuSD('FDV22_~1.gci','G:',overwrite,XXXX)
                      $writePCuSD('FDV22_~1.g01','G:',overwrite,XXXX)
                      $writePCuSD('FDV22_~1.g02','G:',overwrite,XXXX)
                      $writePCuSD('FDV22_~1.txf','G:',overwrite,XXXX)

                      What have I put instead of XXXX?
                      How I can calculate sector value?

                      Best regards,
                      David
                      Attached Files

                      Comment


                      • #12
                        Hi,

                        The sector offsets can be found in programnameConst.inc file. It will have the sector start addresses of each font, eg #constant Strings1FontStartL 0x0
                        #constant Strings2FontStartL 0x5

                        Paul

                        Comment


                        • #13
                          Thank you for the answer but it is not clear for me.

                          Ok, I know that that .gci file should start from 0 sector,
                          But in programnameConst.inc file I have that first font also start from 0x00 sector:
                          #constant Tahoma20BoldFontStartL 0x0

                          Is this not a problem that .gci and .g01 files have the same sector star?

                          $writePCuSD('FDV22_~1.gci','G:',overwrite,0x00)
                          $writePCuSD('FDV22_~1.g01','G:',overwrite,0x00)
                          $writePCuSD('FDV22_~1.g02','G:',overwrite,0x1C)
                          $writePCuSD('FDV22_~1.txf','G:',overwrite,XXXX)


                          Also I don't know what I have to put as a sector start for .txf file ?

                          Best regards,
                          David

                          Comment


                          • #14
                            Hi,

                            Can you send me your progamNameConst.inc and also the files sizes as they are saved on disk so we can work this out. It might be a liitle clearer if I can see them in the .inc file.

                            Best regards

                            Paul

                            Comment


                            • #15
                              Hello
                              Please see private message.
                              Best regards,
                              David

                              Comment

                              Working...
                              X