• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

stim_tracker_t.cpp

Go to the documentation of this file.
00001 #include "stim_tracker_t.h"
00002 #include "xid_con_t.h"
00003 
00004 cedrus::stim_tracker_t::stim_tracker_t(
00005             boost::shared_ptr<xid_con_t> xid_con,
00006             const std::wstring &devconfig_path)
00007     : base_device_t(xid_con, devconfig_path)
00008 {
00009     clear_lines(255);
00010 }
00011 
00012 
00013 cedrus::stim_tracker_t::~stim_tracker_t(void)
00014 {
00015 }
00016 
00017 void cedrus::stim_tracker_t::raise_lines(
00018     unsigned int lines_bitmask,
00019     bool leave_remaining_lines)
00020 {
00021     xid_con_->set_digital_output_lines(
00022         lines_bitmask, leave_remaining_lines);
00023 }
00024 
00025 void cedrus::stim_tracker_t::clear_lines(
00026     unsigned int lines_bitmask,
00027     bool leave_remaining_lines)
00028 {
00029     xid_con_->clear_digital_output_lines(
00030         lines_bitmask, leave_remaining_lines);
00031 }
00032 
00033 void cedrus::stim_tracker_t::set_pulse_duration(unsigned int duration)
00034 {
00035     union {
00036         unsigned int as_int;
00037         unsigned char as_char[8];
00038     } dur;
00039 
00040     dur.as_int = duration;
00041 
00042     unsigned char command[10];
00043     command[0] = 'm';
00044     command[1] = 'p';
00045     
00046     for(int i = 2; i < 10; ++i)
00047     {
00048         command[i] = dur.as_char[i-2];
00049     }
00050 
00051     int written = 0;
00052     xid_con_->write(
00053         command,
00054         10,
00055         written);
00056 }

Generated on Wed Dec 15 2010 13:17:12 for XID device library by  doxygen 1.7.2