
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
//-------------------------------------------------------//
// Project Code : CodeLibrary
// File Name : TimeSharing.cpp
// Created on : 2019. 06. 07
// Description :
// Author : KimJeongWoo
// Last modified Date :
//-------------------------------------------------------//
#include "TimeSharing.h"
float Tsamp = 0;
float T250us = 0;
float T500us = 0;
float T1ms = 0;
float T2ms = 0;
float T10ms = 0;
float T100ms = 0;
float T500ms = 0;
float T1s = 0;
float INV_Tsamp = 0;
float INV_T250us = 0;
float INV_T500us = 0;
float INV_T1ms = 0;
float INV_T2ms = 0;
float INV_T10ms = 0;
float INV_T100ms = 0;
float INV_T500ms = 0;
float INV_T1s = 0;
float INV_RMS_T100ms = 0;
float INV_RMS_T500ms = 0;
struct sTiME_SHARING OS_Time;
void InitTimeSharing(float BaseFreq)
{
OS_Time.Init(BaseFreq);
Tsamp = OS_Time.Tsamp.Prd;
T250us = OS_Time.T250us.Prd;
T500us = OS_Time.T500us.Prd;
T1ms = OS_Time.T1ms.Prd;
T2ms = OS_Time.T2ms.Prd;
T10ms = OS_Time.T10ms.Prd;
T100ms = OS_Time.T100ms.Prd;
T500ms = OS_Time.T500ms.Prd;
INV_Tsamp = OS_Time.Tsamp.Inverse;
INV_T250us = OS_Time.T250us.Inverse;
INV_T500us = OS_Time.T500us.Inverse;
INV_T1ms = OS_Time.T1ms.Inverse;
INV_T2ms = OS_Time.T2ms.Inverse;
INV_T10ms = OS_Time.T10ms.Inverse;
INV_T100ms = OS_Time.T100ms.Inverse;
INV_T500ms = OS_Time.T500ms.Inverse;
INV_RMS_T500ms = 1 / (T500ms / Tsamp);
INV_RMS_T100ms = 1 / (T100ms / Tsamp);
}
void sTiME_SHARING :: Init(float BaseFreq)
{
BaseTime = (1 / BaseFreq);
Tsamp.Prd = BaseTime;
T250us.Prd = 250e-6;
T500us.Prd = 500e-6;
T1ms.Prd = 1e-3;
T2ms.Prd = 2e-3;
T10ms.Prd = 10e-3;
T100ms.Prd = 100e-3;
T500ms.Prd = 500e-3;
T1s.Prd = 1.;
Tsamp.Inverse = 1. / Tsamp.Prd;
T250us.Inverse = 1. / T250us.Prd;
T500us.Inverse = 1. / T500us.Prd;
T1ms.Inverse = 1. / T1ms.Prd;
T2ms.Inverse = 1. / T2ms.Prd;
T10ms.Inverse = 1. / T10ms.Prd;
T100ms.Inverse = 1. / T100ms.Prd;
T500ms.Inverse = 1. / T500ms.Prd;
T1s.Inverse = 1. / T1s.Prd;
T250us.Flag = 0;
T500us.Flag = 0;
T1ms.Flag = 0;
T2ms.Flag = 0;
T10ms.Flag = 0;
T100ms.Flag = 0;
T500ms.Flag = 0;
T1s.Flag = 0;
T250us.Tick = T250us.SetTick = (int) (T250us.Prd * Tsamp.Inverse + 0.5 );
T500us.Tick = T500us.SetTick = (int) (T500us.Prd * Tsamp.Inverse + 0.5 );
T1ms.Tick = T1ms.SetTick = (int) (T1ms.Prd * Tsamp.Inverse + 0.5 );
T2ms.Tick = T2ms.SetTick = (int) (T2ms.Prd * Tsamp.Inverse + 0.5 );
T10ms.Tick = T10ms.SetTick = (int) (T10ms.Prd * Tsamp.Inverse + 0.5 );
T100ms.Tick = T100ms.SetTick = (int) (T100ms.Prd * Tsamp.Inverse + 0.5 );
T500ms.Tick = T500ms.SetTick = (int) (T500ms.Prd * Tsamp.Inverse + 0.5 );
T1s.Tick = T1s.SetTick = (int) (T1s.Prd * Tsamp.Inverse + 0.5 );
}
void sTiME_SHARING::Sharing(void)
{
if ((T250us.Tick--) <= 0)
{
T250us.Flag = 1;
T250us.Tick = T250us.SetTick - 1;
}
if ((T500us.Tick--) <= 0)
{
T500us.Flag = 1;
T500us.Tick = T500us.SetTick - 1;
}
if ((T1ms.Tick--) <= 0)
{
T1ms.Flag = 1;
T1ms.Tick = T1ms.SetTick - 1;
}
if ((T2ms.Tick--) <= 0)
{
T2ms.Flag = 1;
T2ms.Tick = T2ms.SetTick - 1;
}
if ((T10ms.Tick--) <= 0)
{
T10ms.Flag = 1;
T10ms.Tick = T10ms.SetTick - 1;
}
if ((T100ms.Tick--) <= 0)
{
T100ms.Flag = 1;
T100ms.Tick = T100ms.SetTick - 1;
}
if ((T500ms.Tick--) <= 0)
{
T500ms.Flag = 1;
T500ms.Tick = T500ms.SetTick - 1;
}
if ((T1s.Tick--) <= 0)
{
T1s.Flag = 1;
T1s.Tick = T1s.SetTick - 1;
}
}