Menu

verbose mode

2020-08-31
2020-09-02
  • stan cartwright

    stan cartwright - 2020-08-31

    How do I do this please? where is pptool? there's the pps tool but not that.
    Compiler Option - Verbose Mode
    Verbose mode has been a compiler option for a long time. It has been a hidden parameter that only a few have been using.

    Verbose mode shows you a lot more information about your program, source files, the include files, methods called and a host of other information including the programmer that has selected to be used.

    The option can be found in the PPTool. Select the Compiler tab and select or deselect the Verbose Mode check box. Compile something to see the different information provided.

    Verbose mode can be very useful to understand what the compile is doing and what errors are happening.

    Enjoy

     
  • stan cartwright

    stan cartwright - 2020-08-31

    Because I have not tried it I don't know what I am missing...like if I make program changes is the asm size different other than look at the file sizes.

     
  • mkstevo

    mkstevo - 2020-09-01

    I thought it showed more detail in the compile window as the compilation and assembling of the program took place.

    With it on the command line I use to start compilation, I get this:

    /Users/mkstevo/GreatCowBasic/_makehex.sh "WS2812_Clock_26_05_2020.gcb" "/Users/mkstevo/_Pic_Programs/WS2812_60_Clock" (in directory: /Users/mkstevo/_Pic_Programs/WS2812_60_Clock)
    Installation directory assumed to be: /Users/mkstevo/GreatCowBasic
    Great Cow BASIC (0.98.07 RC09 2020-04-20 (Darwin 64 bit))
    Compiling WS2812_Clock_26_05_2020.gcb ...
    Finding source files:
    WS2812_Clock_26_05_2020.gcb: found
    /Users/mkstevo/GreatCowBasic/include//DS3231.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/a-d.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/pwm.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/rs232.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/eeprom.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/sound.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/stdbasic.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/7segment.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/lcd.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/ps2.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/timer.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/system.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/hwspi.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/keypad.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/random.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/string.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/usart.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/i2c.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/hwi2c.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/hwi2c2.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/pwm16.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/saf.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/hef.h: found
    /Users/mkstevo/GreatCowBasic/include/lowlevel/spisram.h: found
    Loading source files ... 4% 8% 12% 16% 20% 24% 28% 32% 36% 40% 44% 48% 52% 56% 60% 64% 68% 72% 76% 80% 84% 88% 92% 96% 100%
    Reading compiler directives ...
    Reading chip data ...
    /Users/mkstevo/GreatCowBasic/chipdata/16f1829.dat
    Calculating CONFIG ...
    Chip Settings:
    Chip Model: 16F1829
    Chip Family: PIC (15)
    Clock MHz: 32
    RAM: 1024
    Oscillator: INTOSC
    Running compiler scripts ...
    Building memory map ...
    Finding and compiling #IFDEF directives ...
    Replacing defines with values ... 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99% 100%
    Compiling subroutines/functions:
    Main
    MAIN_LOOP
    PRINTTIME
    PRINTDATE
    CHANGESETTING
    SAVETIMEDATE
    INITIALISE_I2C
    SHOWSPLASHSCREEN
    START_DS3231
    CHECK_DS3231_STATUS
    CHECKSWITCHES
    ADJUST
    PRINTADJUST
    SHOW_WS2812TIME
    WS2812_INIT
    WS2812BITBANGSENDDATA
    ISR0
    EEPROM_INIT
    SET_MARKSPACING
    SET_COLOURS
    SHOW_ADJUSTMENTS
    DS3231_ENABLEOSCILLATOR
    DS3231_SETCLOCK
    DS3231_READTIME
    DS3231_READDATE
    DS3231_SETHOURMODE
    DS3231_SETSQW
    DS3231_ENABLESQW
    DS3231_DISABLESQW
    DS3231_SET32KHZ
    DS3231_DISABLEALARM1
    DS3231_CLEAROSCILLATORSTOPFLAG
    DS3231_OSCILLATORSTOPFLAGSTATUS
    DS3231_HANDLECENTURY
    DS3231_DISABLEALARM2
    DS3231_WRITEREGISTER
    EPWRITE
    SYSEPREAD
    LOCATE
    CLS
    INITLCD
    PRINT
    PRINT
    LCDNORMALWRITEBYTE
    STARTTIMER
    SETTIMER
    INITTIMER0
    INITSYS
    SYSMULTSUB
    SYSDIVSUB
    SYSCOMPLESSTHAN
    SYSCOMPLESSTHAN16
    INITI2C
    I2CSTART
    I2CSTOP
    I2CSEND
    I2CRECEIVE
    Delay_10US
    Delay_MS
    Delay_S
    DECTOBCD
    BCDTODEC
    Adding string lookup tables ...
    Adding data lookup tables ...
    MONTHDAYS
    Allocating RAM to variables ...
    Tidying Code ...
    Locating subroutines in program memory ...
    Writing output to WS2812_Clock_26_05_2020.asm ...
    Done (Compile time: 0 seconds)
    Summary:
    Read by GCBASIC:
    Input lines: 3078
    Subroutines: 444
    Chip resource usage:
    Program Memory: 5735/8192 words (70.01%)
    RAM: 129/1024 bytes (12.6%)
    Assembling program ...
    Building symbol table ...
    Generating machine code ... 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20% 21% 22% 23% 24% 25% 26% 27% 28% 29% 30% 31% 32% 33% 34% 35% 36% 37% 38% 39% 40% 41% 42% 43% 44% 45% 46% 47% 48% 49% 50% 51% 52% 53% 54% 55% 56% 57% 58% 59% 60% 61% 62% 63% 64% 65% 66% 67% 68% 69% 70% 71% 72% 73% 74% 75% 76% 77% 78% 79% 80% 81% 82% 83% 84% 85% 86% 87% 88% 89% 90% 91% 92% 93% 94% 95% 96% 97% 98% 99% 100%
    Program assembled successfully!
     (Assembly time: 0 seconds)
     (Total time: 0 seconds)
    No compilation errors found.
    Compilation and programming time: 2.891s
    Compilation finished successfully.
    

    Yours may look different unless using a Mac with Geany.

     

    Last edit: mkstevo 2020-09-01
  • mkstevo

    mkstevo - 2020-09-01

    To invoke verbose mode on the command line (which is in my script "Makehex.sh") I have the line:

    ${installdir}/gcbasic /NP /K:A /v /A:GCASM "${1}"
    

    The "/v" is the argument that invokes verbose mode at the command line.

    The sections in curly braces ${installdir} and ${1} are replaced in the script with the directory names and paths to the source file being compiled. Thanks to @trev for the help getting that to work.

     
  • stan cartwright

    stan cartwright - 2020-09-01

    Oh! I just like the summary. I thought verbose was a check box or summat. I won't use verbose.
    Thanks.

     
  • mkstevo

    mkstevo - 2020-09-02

    It may be possible to choose verbose mode on Windows with a check box, but I'm not using Windows. The output I showed should be similar. You should be able to invoke verbose mode in a similar way if you call the compiler from the Windows (DOS) command line.

     
    • Anobium

      Anobium - 2020-09-02

      In Windows use the IDE/Edit Program Preferences. When you select Verbose mode the IDE passes the correct parameters.

      Windows not longer requires batch file editing for a few years now (thankfully!)

       
      • stan cartwright

        stan cartwright - 2020-09-02

        "Windows not longer requires batch file editing for a few years now (thankfully!)"

        With you on that one!

        A misconception that windows users are familiar with batch files and scripts...
        er..no. That's why we use windows....and a mouse thingy :)

         
  • mkstevo

    mkstevo - 2020-09-02

    You see, I had to be difficult and not use Windows...

    Mind you, I'm seriously thinking of changing my OS. Less than happy with macOS forcing apps to be 64bit. I have many apps that are 32bit only, and not likely to change. I might be forced to regress to Windows XP.

     
    • stan cartwright

      stan cartwright - 2020-09-02

      Steve. I tried various linux on pc and rpi and it's ui is easy to use but you really need to use the terminal to do "stuff" and it is specific text that every character means something.
      Too hard for me...so I use windows. Most people don't use the windows command prompt...imho.
      Win vs Mac ... not a clue as I won't pay the money for a mac

      When I first used gcb I had to un-rem a line for uno and it worked but the new interface is more "normal".

      I "had" to change to win 64bit cos some software like 3d printer was only 64bit.
      only to find i did not have the opengl graphic card to run it..yawn.
      I now have graphics cards....been playing some old 3d games I had like halo and quake. Run much better...but I digress.

      my point is that a gui is easy to get to understand but typeing text is not.
      and if I may rant... what's with apple phones and tablets that cost lots.
      What's wrong with an android phone or tablet that costs 80% less.
      aren't they "cool" enough? I don't like android os though,got lots of android tv boxes.

      ps I remember XP...it was before win7 ... happy days

       

      Last edit: stan cartwright 2020-09-02

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.