Device-Chip-nRF24L01P
view release on metacpan or search on metacpan
examples/nRF24L01+_PRX.pl view on Meta::CPAN
GetOptions(
'adapter|A=s' => my $ADAPTER,
'a|address=s' => \my $ADDRESS,
'C|channel=i' => \(my $CHANNEL = 30),
'r|rate=s' => \(my $RATE = "2M"),
'D|dpl' => \(my $DPL = 0),
'W|width=i' => \(my $PW = 1),
) or exit 1;
my $AW = scalar( split m/:/, $ADDRESS );
$AW >= 3 and $AW <= 5 or die "Invalid address - must be 3 to 5 octets\n";
$RATE =~ s/M$/000000/i;
$RATE =~ s/k$/000/i;
my $nrf = Device::Chip::nRF24L01P->new;
await $nrf->mount(
Device::Chip::Adapter->new_from_description( $ADAPTER )
);
examples/nRF24L01+_PTX.pl view on Meta::CPAN
'adapter|A=s' => \my $ADAPTER,
'a|address=s' => \my $ADDRESS,
'C|channel=i' => \(my $CHANNEL = 30),
'r|rate=s' => \(my $RATE = "2M"),
'D|dpl' => \(my $DPL = 0),
'c|count=i' => \(my $COUNT = 1),
) or exit 1;
my $AW = scalar( split m/:/, $ADDRESS );
$AW >= 3 and $AW <= 5 or die "Invalid address - must be 3 to 5 octets\n";
$RATE =~ s/M$/000000/i;
$RATE =~ s/k$/000/i;
my $nrf = Device::Chip::nRF24L01P->new;
await $nrf->mount(
Device::Chip::Adapter->new_from_description( $ADAPTER )
);
lib/Device/Chip/nRF24L01P.pm view on Meta::CPAN
=cut
sub _unpack_addr ( $addr )
{
return join ":", map { sprintf "%02X", ord } split //, $addr;
}
sub _pack_addr ( $addr )
{
return join "", map { chr hex } split m/:/, $addr;
}
sub _unpack_config ( %regs )
{
my %config = (
unpack_CONFIG ( $regs{config} ),
unpack_SETUP_AW ( $regs{setup_aw} ),
unpack_SETUP_RETR( $regs{setup_retr} ),
RF_CH => $regs{rf_ch},
unpack_RF_SETUP ( $regs{rf_setup} ),
( run in 1.079 second using v1.01-cache-2.11-cpan-71847e10f99 )