Commit 387f2d29 authored by mfioren's avatar mfioren
Browse files

UpdatingThread updated according to the comments

parent 1a1f9f4b
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
#include "WeatherStationImpl.h"
#include <deque>
#include <numeric>
using namespace std;

deque<float> deq;
float wind_avg;
float deq_sum;
@@ -26,20 +26,19 @@ void CUpdatingThread::runLoop()
    Weather::parameters w_pars = m_weatherstation_p->getData();

    deq.push_back(w_pars.windspeed);
    ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_INFO,"Deque size=%zu ", deq.size()));
    ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_DEBUG,"Deque size=%zu ", deq.size()));
    deq_sum  = accumulate(deq.begin(), deq.end(), 0.0);
    ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_INFO,"Deque sum=%f ", deq_sum));
    ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_DEBUG,"Deque sum=%f ", deq_sum));
    
    if(deq.size() == 10)    
    	{
    if(deq.size() == 10){
    		wind_avg = deq_sum / deq.size();
    		ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_INFO,"wind avg=%f ", wind_avg));
    		if(wind_avg > m_threshold) 
    			{
    		ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_DEBUG,"wind avg=%f ", wind_avg));
    		if(wind_avg > m_threshold){
       	 		m_weatherstation_p->parkAntenna();
       	 		ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_WARNING,"WINDSPEED_AVG=%f ", wind_avg));
    			}
    		deq.erase(deq.begin());
         
    		deq.pop_front();
   	 }
     
 /*   if(w_pars.windspeed > m_threshold) 
@@ -48,6 +47,7 @@ void CUpdatingThread::runLoop()
        ACS_LOG(LM_FULL_INFO,"UpdatingThread::runLoop()",(LM_WARNING,"WINDSPEED=%f ", w_pars.windspeed));
        std::cout<<"parking the Antenna"<<std::endl;
    }    */
 
}
    
void CUpdatingThread::onStart()