/[H7]/branches/linux-serial/server/serialthread.cpp
ViewVC logotype

Diff of /branches/linux-serial/server/serialthread.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 71 by torben, Wed Feb 7 00:14:52 2007 UTC revision 72 by torben, Tue Mar 20 19:36:35 2007 UTC
# Line 25  void SerialThread::operator()() Line 25  void SerialThread::operator()()
25    
26          while (mContinue)          while (mContinue)
27          {          {
28                  msleep(80);                  msleep(50);
29                    
30                  store->led3 = serial.readTarget(0);                  store->led3 = serial.readTarget(0);
31                  msleep(delay);                  msleep(delay);
32    
33                  store->led4 = serial.readTarget(1);                  store->led4 = serial.readTarget(1);
34                  msleep(delay);                  msleep(delay);
35                    writeCommand();
36    
37                  store->led5 = serial.readTarget(2);                  store->led5 = serial.readTarget(2);
38                  msleep(delay);                  msleep(delay);
39    
40                  store->switch2 = serial.readTarget(3);                  store->switch2 = serial.readTarget(3);
41                  msleep(delay);                  msleep(delay);
42                    writeCommand();
43    
44                  store->switch3 = serial.readTarget(4);                  store->switch3 = serial.readTarget(4);
45                  msleep(delay);                  msleep(delay);
# Line 47  void SerialThread::operator()() Line 50  void SerialThread::operator()()
50                  store->temp = serial.readTarget(6);                  store->temp = serial.readTarget(6);
51                  std::cout << store->potmeter << std::endl;                  std::cout << store->potmeter << std::endl;
52    
53                  boost::mutex::scoped_lock lock(store->writeMutex);                  writeCommand();
           
                 if (! store->commands.empty() )  
                 {        
                         WriteCommand cmd = store->commands.front();  
                         store->commands.pop();  
                         std::cout << "Command:"<< (int) cmd.target<<","<< (int) cmd.data << std::endl;  
                         serial.writeTarget( cmd.target, cmd.data);  
                 }  
                                   
54          }          }
55          mStopped = true;          mStopped = true;
56  }  }
57    
58    void SerialThread::writeCommand()
59    {      
60            GlobalStorage* store = GlobalStorage::instance();
61            CH7Serial& serial = store->serialPort;
62            
63            boost::mutex::scoped_lock lock(store->writeMutex);
64            
65            if (! store->commands.empty() )
66            {      
67                    WriteCommand cmd = store->commands.front();
68                    store->commands.pop();
69                    std::cout << "Command:"<< (int) cmd.target<<","<< (int) cmd.data << std::endl;
70                    serial.writeTarget( cmd.target, cmd.data);
71                    msleep(5);
72            }
73    }

Legend:
Removed from v.71  
changed lines
  Added in v.72

  ViewVC Help
Powered by ViewVC 1.1.20