Serial ports detection on Win32
This commit is contained in:
parent
9af43bee52
commit
9507fb91f0
3
Build.PL
3
Build.PL
@ -46,6 +46,9 @@ if ($gui) {
|
||||
Wx::GLCanvas 0
|
||||
OpenGL 0
|
||||
);
|
||||
if ($^O eq 'MSWin32') {
|
||||
$recommends{Win32::TieRegistry} = 0;
|
||||
}
|
||||
} elsif ($xs_only) {
|
||||
%prereqs = %recommends = ();
|
||||
}
|
||||
|
@ -300,10 +300,16 @@ sub scan_serial_ports {
|
||||
|
||||
my @ports = ();
|
||||
|
||||
# TODO: Windows ports
|
||||
|
||||
# UNIX and OS X
|
||||
push @ports, glob '/dev/{ttyUSB,ttyACM,tty.,cu.,rfcomm}*';
|
||||
if ($^O eq 'MSWin32') {
|
||||
# Windows
|
||||
my %reg;
|
||||
if (eval "use Win32::TieRegistry (TiedHash => \\%reg); 1") {
|
||||
push @ports, sort values %{$reg{"HKEY_CURRENT_USER\\HARDWARE\\DEVICEMAP\\SERIALCOMM"}};
|
||||
}
|
||||
} else {
|
||||
# UNIX and OS X
|
||||
push @ports, glob '/dev/{ttyUSB,ttyACM,tty.,cu.,rfcomm}*';
|
||||
}
|
||||
|
||||
return @ports;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user