element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) ULP (convert the contents of file to uppercase?)
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 2 replies
  • Subscribers 188 subscribers
  • Views 387 views
  • Users 0 members are here
Related

ULP (convert the contents of file to uppercase?)

e14 Contributor
e14 Contributor over 14 years ago

I have an ULP that generates output in the text file (G-code +

comments) and would like to have an option to (at the end), if desired,

covert the contents of the file to uppercase.

 

Is it possible to exit an ULP with the call to the another ULP (passing

the filename as parameter) which would open the file, convert

everything to uppercase, and save it under the same name?

 

I would appreciate any tip or a piece of a code.

--

Chupo

 

  • Sign in to reply
  • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to e14 Contributor

    In article <jv1t77$qb3$1@cheetah.cadsoft.de>, Warren Brayshaw

    <warrenbrayshaw@paradise.net.nz> says...

    Sure,

    I imagine you have built the target file within your first ULP and are

    exiting that ULP with a simple

    exit(0)

    You could call your second ULP, say  ToTextFileUpperCase.ulp, at the exit

    with  something like

    exit (Run ToTextFileUpperCase.ulp your-Path/FileName)

     

    The second ulp will run after the first exits.

     

    Write that second ULP to open the file specified by your Arg1 (i.e.

    your-Path/FileName)

    and  use strupr() within the ULP to convert chars to upper case saving each

    converted line to a new  file.

     

     

    Thank you very mugh for your help!

     

    I was thinking of declaring a new function called my_printf() and

    afterwards replacing all printf() calls with my_printf() calls. Then I

    would be able to process the output before passing it to the printf().

    That way I could do uppercase, or maybe insert the leading Nxxxx, or

    dispose redundant commands (*) on the fly.

     

    However, the problem is, the new function would have to be able to

    accept variable number of parameters and ULP seems not to have stdarg.h

    definitions from C language:

     

    http://en.wikipedia.org/wiki/Stdarg.h

     

    required to be able to handle the functions with variable number of

    parameters:

     

    http://www.cprogramming.com/tutorial/c/lesson17.html

     

    (*)

    For an example, if there is a function call:

     

    printf("G01 Z-%f F%.1f\n",mill_down, mill_speed);

     

    inside my_printf() I might decide to dispose the Fxxxx (mill_speed)

    parameter (if speed in the meanwhile hasn't changed).

     

    Something similar to:

     

    if (mill_speed != mill_speed_old) // if the value has changed

            {printf("G01 Z-%f F%.1f\n",mill_down, mill_speed);

            mill_speed_old = mill_speed;}

            else

            printf("G01 Z-%f\n",mill_down); // if mill_speed hasn't

    changed, no need to generate Fxxxx command

    --

    Chupo

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago

    Chupo wrote:

    I have an ULP that generates output in the text file (G-code +

    comments) and would like to have an option to (at the end), if

    desired, covert the contents of the file to uppercase.

     

    Is it possible to exit an ULP with the call to the another ULP

    (passing the filename as parameter) which would open the file, convert

    everything to uppercase, and save it under the same name?

     

     

    Sure,

    I imagine you have built the target file within your first ULP and are

    exiting that ULP with a simple

    exit(0)

    You could call your second ULP, say  ToTextFileUpperCase.ulp, at the exit

    with  something like

    exit (Run ToTextFileUpperCase.ulp your-Path/FileName)

     

    The second ulp will run after the first exits.

     

    Write that second ULP to open the file specified by your Arg1 (i.e.

    your-Path/FileName)

    and  use strupr() within the ULP to convert chars to upper case saving each

    converted line to a new  file.

     

    HTH

    Warren

     

     

     

    --

    Viewed / responded via the newsgroup at

    news.cadsoft.de

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube