App-Device-Chip-UI
view release on metacpan or search on metacpan
lib/App/Device/Chip/UI/SPIBox.pm view on Meta::CPAN
$writeentry->set_on_enter( sub {
$writebutton->click;
});
$writebutton->set_on_click( sub {
my $text = $writeentry->text;
$writeentry->set_text( "" );
try {
$self->write( $text );
}
catch ( $e ) {
print STDERR "TODO: Error $e";
}
});
$self->append_row(
[
Tickit::Widget::Static->new(
text => "Read",
valign => "middle",
),
my $readsizeentry = Tickit::Widget::Entry->new,
my $readbutton = Tickit::Widget::Button->new(
label => "Read",
),
]
);
$readsizeentry->set_on_enter( sub {
$readbutton->click;
});
$readbutton->set_on_click( sub {
$self->read( $readsizeentry->text );
$readsizeentry->set_text( "" );
});
$self->add( $self->rowcount, 1,
$_readresultlabel = Tickit::Widget::Static->new(
text => "",
class => "readout",
),
col_expand => 1,
row_expand => 1,
);
# TODO: selection of SS GPIO line
}
method read ( $len )
{
$self->_do_write( "\x00" x $len );
}
method _do_write ( $words_out )
{
my $words_in = $_protocol->readwrite( $words_out )->get;
$_readresultlabel->set_text(
join " ", map { sprintf "0x%02X", ord } split m//, $words_in,
);
}
0x55AA;
( run in 2.313 seconds using v1.01-cache-2.11-cpan-2398b32b56e )