From 2a77c9e1f8381694b81ee300ec6e54a2bb31307a Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Mon, 30 Jul 2012 09:53:38 +0000 Subject: [PATCH] ZWave moved to mainline git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@1775 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- CHANGED | 1 + {contrib => FHEM}/00_ZWDongle.pm | 0 {contrib => FHEM}/10_ZWave.pm | 0 FHEM/DevIo.pm | 17 +++++++++++++---- 4 files changed, 14 insertions(+), 4 deletions(-) rename {contrib => FHEM}/00_ZWDongle.pm (100%) rename {contrib => FHEM}/10_ZWave.pm (100%) diff --git a/CHANGED b/CHANGED index df9b3f34b..381541270 100644 --- a/CHANGED +++ b/CHANGED @@ -56,6 +56,7 @@ - feature: telnet module added, attr global port moved. allowfrom changed. - feature: FhemUtils/release.pm for the new update process added. (M. Fischer) - bugfix: correct one-time relative at commands after reboot + - feature: ZWave added - 2011-12-31 (5.2) - bugfix: applying smallscreen attributes to firefox/opera diff --git a/contrib/00_ZWDongle.pm b/FHEM/00_ZWDongle.pm similarity index 100% rename from contrib/00_ZWDongle.pm rename to FHEM/00_ZWDongle.pm diff --git a/contrib/10_ZWave.pm b/FHEM/10_ZWave.pm similarity index 100% rename from contrib/10_ZWave.pm rename to FHEM/10_ZWave.pm diff --git a/FHEM/DevIo.pm b/FHEM/DevIo.pm index d3596db36..95f756b51 100644 --- a/FHEM/DevIo.pm +++ b/FHEM/DevIo.pm @@ -8,6 +8,7 @@ sub DevIo_SimpleWrite($$$); sub DevIo_OpenDev($$$); sub DevIo_CloseDev($); sub DevIo_Disconnected($); +sub DevIo_SetHwHandshake($); ######################## sub @@ -134,7 +135,7 @@ DevIo_OpenDev($$$) delete($readyfnlist{"$name.$dev"}); $selectlist{"$name.$dev"} = $hash; - } elsif($baudrate && lc($baudrate) eq "directio") { # Without Device::SerialPort + } elsif($baudrate && lc($baudrate) eq "directio") { # w/o Device::SerialPort if(!open($po, "+<$dev")) { return undef if($reopen); @@ -157,7 +158,6 @@ DevIo_OpenDev($$$) } else { # USB/Serial device - if ($^O=~/Win/) { eval { require Win32::SerialPort; @@ -200,8 +200,9 @@ DevIo_OpenDev($$$) $po->handshake('none'); # This part is for some Linux kernel versions whih has strange default - # settings. Device::SerialPort is nice: if the flag is not defined for your - # OS then it will be ignored. + # settings. Device::SerialPort is nice: if the flag is not defined for + # your OS then it will be ignored. + $po->stty_icanon(0); #$po->stty_parmrk(0); # The debian standard install does not have it $po->stty_icrnl(0); @@ -243,6 +244,14 @@ DevIo_OpenDev($$$) return $ret; } +sub +DevIo_SetHwHandshake($) +{ + my ($hash) = @_; + $hash->{USBDev}->can_dtrdsr(); + $hash->{USBDev}->can_rtscts(); +} + ######################## sub DevIo_CloseDev($)