/*****************************************&**********/
/*Programmable Delay                                */
/*PR5 = (delay in uS - 5) / 0.0125 @ PBCLK = 80MHz  */
/*Delay time @ 96MHz == max delay (65,535) = 572uS  */
/*Delay time @ 80MHz == max delay (65,535) = 688uS  */
/*~8.73nS per tic @ 96MHz                           */
/*PIC32MX795F512L-80I/PF                            */
/****************************************************/

#include <xc.h>

#include "MainBrain.h"

//uS Delay
void Delay(int delay_us)
{
    if(delay_us < 1)
    {
        return;
    }
    
    if(delay_us > 0xffff)
    {
        delay_us = 0xffff;
    }
    
    PR5 = delay_us;
    
    TMR5 = 0;
    IFS0bits.T5IF = 0;
    
    //Start Timer5
    T5CONbits.ON = 1;   
    
    while(IFS0bits.T5IF == 0);
    
    //Stop Timer5
    T5CONbits.ON = 0;   
}

//Seconds delay
void LongDelay(int delay_s)
{
    RTC_delay_counter = 0;
    
    while(RTC_delay_counter < delay_s)
    {
        
    }
}
