touble with a time calculation


Closed Thread
Results 1 to 40 of 59

Hybrid View

  1. #1
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    Code:
         if EL2_Enable = 1 THEN     ;  EL2 = EL1 current values - set overrun value  
    
           EL2_100th   = EL1_100TH   - Event1_OT_100th+100
            if EL2_100th<100 then 
              EL1_Seconds=EL1_Seconds-1
           Else
             EL2_100th=EL2_100th-100
          endif
    
        EL2_Seconds = EL1_Seconds - Event1_OT_sec+60
          if EL2_Seconds<60 then 
            EL1_Minutes=EL1_Minutes-1
         else
           EL2_Seconds =EL2_Seconds -60
         endif
    
           EL2_Minutes = EL1_Minutes - Event1_OT_Min +60
         if EL2_Minutes<60 then
           EL1_Hours=EL1_Hours-1
         else
           EL2_Minutes =EL2_Minutes -60
         endif
    
           EL2_Hours   = EL1_Hours   - Event1_OT_hour+24
         if EL2_Hours<24 then
            EL1_Days=EL1_Days-1
         else
           EL2_Hours   =EL2_Hours   -24
         endif
    
      EL2_Days    = EL1_Days    - Event1_OT_Day  
           
    endif
    Just something to try

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,715


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    steve has the right idea for the math but since el1/el2 vars can be updated via the isr at any time during the calcs the results will vary.

    statisticly it will fail about 4-5 times per hundred calcs based on :-
    I think chances of failure are 1/60+1/60+1/100+1/24 I might be wrong about the stats

  3. #3
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    If isr affects EL1 vars create Temp_EL1 vars at the start of the routine and use these for the calculation.

  4. #4
    Join Date
    May 2013
    Location
    australia
    Posts
    2,715


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    won't work . the isr can change the values as u copy them to the temp vars ,been there done that

  5. #5
    Join Date
    Jun 2009
    Location
    Sc*nthorpe, UK
    Posts
    333


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    Ok some problems do not have an answer.

    Bye

  6. #6
    Join Date
    May 2013
    Location
    australia
    Posts
    2,715


    Did you find this post helpful? Yes | No

    Default Re: touble with a time calculation

    only solution I know is to disable isr and copy vars to a buffer then enable isr and then perform calcs on the buffered data.
    it may mean the odd lost interrupt / whats worse incorrect calcs or missed ints
    only the designer can make that call .

Similar Threads

  1. Help with calculation
    By Megahertz in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 28th August 2012, 18:10
  2. CHECKSUM CALCULATION, Please Help!
    By wasilus in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 2nd August 2012, 08:55
  3. Calculation Problem - value goes to zero after 65
    By Tom Gonser in forum mel PIC BASIC Pro
    Replies: 14
    Last Post: - 12th March 2010, 06:10
  4. calculation
    By lerameur in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 20th May 2008, 17:28
  5. CRC Calculation - Need a little help
    By Steve43 in forum mel PIC BASIC Pro
    Replies: 8
    Last Post: - 13th March 2005, 02:23

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