FineLineIDE


Closed Thread
Results 1 to 40 of 188

Thread: FineLineIDE

Hybrid View

  1. #1
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by Normnet View Post
    NEW v1.0.0.4
    Norm, I encountered a problem with FL not being able to compile the ReEnterPBP-18.bas version 1.4 which was an INCLUDE in one of my application codes.

    Here is the code for version 1.4
    Code:
    '****************************************************************
    '*  Name    : ReEnterPBP-18.bas                                 *
    '*  Author  : Darrel Taylor / Timothy Box                       *
    '*  Date    : MAR 18, 2006                                      *
    '*  Version : 1.4  MAR 24, 2008                                 *
    '*  Notes   : Allows re-entry to PBP from a High Priority       *
    '*          :                               ASM interrupt       *
    '*          : Must have DT_INTS-18.bas loaded first             *
    '****************************************************************
    '*  Versions:                                                   *
    '*   1.4  MAR 24, 2008                                          *
    '*       Corrects an initialization problem affecting the first *
    '*         pass system var save. Found by dcorraliza            *
    '*       Fixed T7 "Warning" error. Found by Kamikaze47          *
    '*   1.3  Aug 26, 2007                                          *
    '*       Update for PBP 2.50 using LONG's with PBPL             *
    '*   1.2  JUL 18, 2006                                          *
    '*       Modified to handle smaller BANKA in the newer chips    *
    '****************************************************************
    DISABLE DEBUG
    DEFINE   ReEnterHPused  1
    VarsSaved_H   VAR BIT
    VarsSaved_H = 0
    goto OverReEnterH
       
    ' Save locations for PBP system Vars during High Priority Interrupts
    HP_Vars  VAR  WORD[34]        ; group vars together for less banking
        R0_SaveH      VAR HP_Vars[0]
        R1_SaveH      VAR HP_Vars[2]
        R2_SaveH      VAR HP_Vars[4]
        R3_SaveH      VAR HP_Vars[6]
        R4_SaveH      VAR HP_Vars[8]
        R5_SaveH      VAR HP_Vars[9]
        R6_SaveH      VAR HP_Vars[10]
        R7_SaveH      VAR HP_Vars[11]
        R8_SaveH      VAR HP_Vars[12]
        Flag_GOP_H    VAR HP_Vars[13]
          Flags_SaveH   VAR Flag_GOP_H.lowbyte
          GOP_SaveH     VAR Flag_GOP_H.highbyte
        RM_H          VAR HP_Vars[14]
          RM1_SaveH     VAR RM_H.lowbyte
          RM2_SaveH     VAR RM_H.highbyte
        RR_H          VAR HP_Vars[15]
          RR1_SaveH     VAR RR_H.lowbyte
          RR2_SaveH     VAR RR_H.highbyte
        RS_H          VAR HP_Vars[16]
          RS1_SaveH     VAR RS_H.lowbyte
          RS2_SaveH     VAR RS_H.highbyte
        T1_SaveH      VAR HP_Vars[17]
        T2_SaveH      VAR HP_Vars[19]
        T3_SaveH      VAR HP_Vars[21]
        T4_SaveH      VAR HP_Vars[23]
        T5_SaveH      VAR HP_Vars[25]
        T6_SaveH      VAR HP_Vars[27]
        T7_SaveH      VAR HP_Vars[29]
        TBLPTRU_H     VAR HP_Vars[31]
          TBLPTRU_SaveH VAR TBLPTRU_H.lowbyte
        TBLPTR_H      VAR HP_Vars[32]
          TBLPTRH_SaveH VAR TBLPTR_H.highbyte
          TBLPTRL_SaveH VAR TBLPTR_H.lowbyte
        Product_H     VAR HP_Vars[33]
        
    SavePBP_H:               ' Save all PBP system Vars High Priority
      if VarsSaved_H = 0 then
        R0_SaveH = R0
        R1_SaveH = R1
        R2_SaveH = R2
        R3_SaveH = R3
        asm
            if (PBPLongs_Used == 1)
                MOVE?WW  R0+2, _R0_SaveH+2
                MOVE?WW  R1+2, _R1_SaveH+2
                MOVE?WW  R2+2, _R2_SaveH+2
                MOVE?WW  R3+2, _R3_SaveH+2
            endif
        endasm
        R4_SaveH = R4
        R5_SaveH = R5
        R6_SaveH = R6
        R7_SaveH = R7
        R8_SaveH = R8
        Flags_SaveH = FLAGS
        GOP_SaveH = GOP
        RM1_SaveH = RM1
        RM2_SaveH = RM2
        RR1_SaveH = RR1
        RR2_SaveH = RR2
    @ if Save_TBLPTR == 1
        TBLPTRU_SaveH = TBLPTRU
        TBLPTRH_SaveH = TBLPTRH
        TBLPTRL_SaveH = TBLPTRL
    @ endif
        ASM
            ifdef RS1
                MOVE?BB    RS1, _RS1_SaveH
            endif
            ifdef RS2
                MOVE?BB    RS2, _RS2_SaveH
            endif
            ifdef MUL_USED
                MOVE?WW    PRODL, _Product_H
            endif
            ifdef T1
                MOVE?WW    T1, _T1_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T1+2, _T1_SaveH+2
                endif
            endif
            ifdef T2
                MOVE?WW    T2, _T2_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T2+2, _T2_SaveH+2
                endif
            endif
            ifdef T3
                MOVE?WW    T3, _T3_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T3+2, _T3_SaveH+2
                endif
            endif
            ifdef T4
                MOVE?WW    T4, _T4_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T4+2, _T4_SaveH+2
                endif
            endif
            ifdef T5
                MOVE?WW    T5, _T5_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T5+2, _T5_SaveH+2
                endif
            endif
            ifdef T6
                MOVE?WW    T6, _T6_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T6+2, _T6_SaveH+2
                endif
            endif
            ifdef T7
                MOVE?WW    T7, _T7_SaveH
                if (PBPLongs_Used == 1)
                    MOVE?WW  T7+2, _T7_SaveH+2
                endif
            endif
        ENDASM   
        VarsSaved_H = 1
      endif
    @ INT_RETURN
    RestorePBP_H:
      if VarsSaved_H = 1 then
        R0 = R0_SaveH
        R1 = R1_SaveH
        R2 = R2_SaveH
        R3 = R3_SaveH
        asm
            if (PBPLongs_Used == 1)
                MOVE?WW  _R0_SaveH+2, R0+2
                MOVE?WW  _R1_SaveH+2, R1+2 
                MOVE?WW  _R2_SaveH+2, R2+2 
                MOVE?WW  _R3_SaveH+2, R3+2 
            endif
        endasm
        R4 = R4_SaveH
        R5 = R5_SaveH
        R6 = R6_SaveH
        R7 = R7_SaveH
        R8 = R8_SaveH
        FLAGS = Flags_SaveH
        GOP = GOP_SaveH
        RM1 = RM1_SaveH
        RM2 = RM2_SaveH
        RR1 = RR1_SaveH
        RR2 = RR2_SaveH
    @ if Save_TBLPTR == 1
        TBLPTRU = TBLPTRU_SaveH
        TBLPTRH = TBLPTRH_SaveH
        TBLPTRL = TBLPTRL_SaveH
    @ endif
        ASM
            ifdef RS1
                MOVE?BB    _RS1_SaveH, RS1
            endif
            ifdef RS2
                MOVE?BB    _RS2_SaveH, RS2
            endif
            ifdef MUL
                MOVE?WW    _Product_H, PRODL
            endif
            ifdef T1
                MOVE?WW    _T1_SaveH, T1
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T1_SaveH+2, T1+2 
                endif
            endif
            ifdef T2
                MOVE?WW    _T2_SaveH, T2
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T2_SaveH+2, T2+2 
                endif
            endif
            ifdef T3
                MOVE?WW    _T3_SaveH, T3
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T3_SaveH+2, T3+2 
                endif
            endif
            ifdef T4
                MOVE?WW    _T4_SaveH, T4
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T4_SaveH+2, T4+2 
                endif
            endif
            ifdef T5
                MOVE?WW    _T5_SaveH, T5
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T5_SaveH+2, T5+2 
                endif
            endif
            ifdef T6
                MOVE?WW    _T6_SaveH, T6
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T6_SaveH+2, T6+2 
                endif
            endif
            ifdef T7
                MOVE?WW    _T7_SaveH, T7
                if (PBPLongs_Used == 1)
                    MOVE?WW  _T7_SaveH+2, T7+2 
                endif
            endif
            ifdef T8
                ifndef NO_T7_WARNING
                    messg "Temp variables exceeding T7"
                endif
            endif
        ENDASM   
        VarsSaved_H = 0
      ENDIF
    @ INT_RETURN
    OverReEnterH:
    ENABLE DEBUG
    And here are the errors:

    Name:  FL_compile_errors.jpg
Views: 8333
Size:  262.2 KB

    Has anyone else had this problem with ReEnterPBP-18.bas ??

    John Ellis

  2. #2
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by jellis00 View Post
    Norm, I encountered a problem with FL not being able to compile the ReEnterPBP-18.bas version 1.4 which was an INCLUDE in one of my application codes.

    Has anyone else had this problem with ReEnterPBP-18.bas ??

    John Ellis
    It looks like the compiler is indicating an error which is PBP not FL IDE.
    Is the result the same with MicrocodeStudio IDE?


    Norm

  3. #3
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,170


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Are you compiling the ReEnter.bas routine itself?

    Ioannis

  4. #4
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    It looks like you haven't selected a device yet.

    Select an 18F and try again.
    DT

  5. #5
    Join Date
    Apr 2011
    Location
    Kent, UK
    Posts
    52


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Is it possible to add compatability with Asix UP Presto programmer http://tools.asix.net/prg_presto.htm

    Tim.
    Last edited by timmers; - 26th July 2011 at 09:52.

  6. #6
    Join Date
    Oct 2004
    Posts
    440


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by timmers View Post
    Is it possible to add compatability with Asix UP Presto programmer http://tools.asix.net/prg_presto.htm

    Tim.
    From "Using UP from the command line" under "Tips and tricks" in the help section of the UP software program.
    Using UP from the command line
    The program itself ensures to be run in a single instance. If there is another instance being run, the command line parameters are handed over to the already running instance to be executed.

    Parameter overview
    up.exe [{/ask | /q}] [{/e eeprom_file.hex | [/noe]}] [{/p | [/pdiff] | [/o]} file.hex | file.ppr] [/eeonly] [/part part_name] [/erase] [/w[nd] up_window_class] [/cfg ] [/devid ] [/blank ] [/verify file] [/s programmer_SN]

    Legend:
    The text in bold is to be put on the command line as is.
    The text in italic is to be replaced by real parameter, e.g. file_name is to be replaced by real name of the file to be opened.

    Text in curly brackets separated by | (pipes) represents a single choice from the listed items. e.g. { A | B } means "choose just one of A or B".
    Text in [braces] represents optional parameter which can be used, but can also be omitted.

    /ask Ask. To be used with /p. If the parameter is used, the program always prompts the user whether to program the part, even if this was disabled in the Settings of the program. The confirmation dialog also shows selected part type.
    /q /quiet Quiet mode. In this mode the program does not require any user intervention, but rather silently returns to an error code instead of displaying a dialog. See return error codes.
    /e file EEPROM file. Name of a file containing EEPROM data. If the name contains spaces, it is necessary to enclose it by quotes. This parameter can be used together with /o or /p parameter only.
    /noe No EEPROM. Causes the program to skip EEPROM programming. If used with the MSP430 devices, the program skip all operations with the information memory.
    /p file Program. Programs given file to code memory. If the name contains spaces, it is necessary to enclose it by quotes.
    /pdiff file Program differentially. Programs given file. If the name contains spaces, it is necessary to enclose it by quotes.
    /o file Open. File with given name will be opened. Optional parameter. If the name contains spaces, it is necessary to enclose it by quotes.
    /eeonly The programmer will do the selected operation for EEPROM memory only, with MSP430 for Information memory only.
    /part name Selects the specified part in the UP.
    /erase The part will be erased.
    /wnd class name Select another window class name. Using this parameter you can open more than one instance of program UP. Each instance must have unique window class name.
    /cfg If this parameter is used together with /p parameter, only configuration memory is programmed. It's useful for example for AVR devices programming, because the user can configure the chip for faster oscillator first and then to program it much faster.
    /devid If this parameter is used together with /p parameter, only the Device ID of the chip is checked.
    /blank The program will do Blank Check of the chip.
    /verify file Does the part verification.
    /s programmer_SN This parameter allows to select the programmer in accordance with its serial number. The serial number can be entered as it is displayed in the UP or printed on the programmer, e.g.016709 or A6016709.
    When working on several different projects it is likely that the program is set to use a part or programmer other than the one the user assumed. In such case using project files (.PPR), which contain all necessary settings including the file path, is strongly recommended.

    Opening a file
    up.exe file name

    up.exe file.hex
    up.exe "C:\My Documents\Recent Projects\PIC\My latest project\flasher.hex"

    Programming the part
    up.exe /p file name
    up.exe /p file.hex
    up.exe /p "C:\My Documents\Recent Projects\PIC\My latest project\flasher.hex"

    Return error codes
    0 - No errors.
    1 - File error, e.g. file not found, unrecognized file format.
    2 - Device error. Communication test failed, error in communication.
    3 - Programming preparation error, e.g. failed to erase part.
    4 - Programming error.
    5 - Verification failed.
    6 - User interaction needed.
    7 - Device ID error.
    This is a start point, others may be helpful.

    Norm

  7. #7
    Join Date
    Mar 2009
    Location
    Colorado
    Posts
    378


    Did you find this post helpful? Yes | No

    Default Re: FineLineIDE

    Quote Originally Posted by Darrel Taylor View Post
    It looks like you haven't selected a device yet.

    Select an 18F and try again.
    Another stupid mistake on my part. Thanks Darrel!

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts