Added default constructor for comedi::subdevice, and added missing wrapper
authorFrank Mori Hess <fmhess@speakeasy.net>
Fri, 12 Oct 2007 21:22:05 +0000 (21:22 +0000)
committerFrank Mori Hess <fmhess@speakeasy.net>
Fri, 12 Oct 2007 21:22:05 +0000 (21:22 +0000)
for comedi_cancel().

c++/include/comedilib.hpp

index 4bce82724963e2d3c834640622c135f04e57c632..0df1f950a581b278c3340f22eb4a75d10ab67fbb 100644 (file)
@@ -167,6 +167,8 @@ namespace comedi
        class subdevice
        {
        public:
+               subdevice(): _index(-1)
+               {}
                subdevice(const device &dev, unsigned subdevice_index):
                        _device(dev), _index(subdevice_index)
                {
@@ -191,6 +193,18 @@ namespace comedi
                        }
                        return retval;
                }
+               void cancel()
+               {
+                       int retval = comedi_cancel(comedi_handle(), index());
+                       if(retval < 0)
+                       {
+                               std::ostringstream message;
+                               message << __PRETTY_FUNCTION__ << ": comedi_cancel() failed, return value=" << retval << " .";
+                               std::cerr << message.str() << std::endl;
+                               comedi_perror("comedi_cancel");
+                               throw std::runtime_error(message.str());
+                       }
+               }
                lsampl_t data_read(unsigned channel, unsigned range, unsigned aref) const
                {
                        lsampl_t value;