+sub new {
+ my $class = shift;
+ my $self = {@_};
+ bless $self, $class;
+
+ $self->port;
+
+ $self->init;
+
+ return $self;
+}
+
+sub port {
+ my $self = shift;
+
+ return $self->{port} if defined $self->{port};
+
+ my $settings = $self->serial_settings;
+ $settings->{device} ||= $ENV{RFID_DEVICE};
+ warn "# settings ",dump $settings;
+
+ $self->{port} = Device::SerialPort->new( $settings->{device} )
+ || die "can't open serial port: $!\n";
+
+ $self->{port}->$_( $settings->{$_} )
+ foreach ( qw/handshake baudrate databits parity stopbits/ );
+