#!/usr/bin/env perl

use warnings;
use strict;

use Data::Dumper;
use RPi::WiringPi;
use RPi::Const qw(:all);

if (! @ARGV){
    die "\npimetaerase requires a shared memory key argument supplied...\n\n";
}

my $shm_key = $ARGV[0];

if (! RPi::WiringPi->meta_key_check($shm_key)){
    die "shared memory segment with key '$shm_key' doesn't exist. Can't continue...\n";
}

my $pi = RPi::WiringPi->new(label => 'pimeta', shm_key => $shm_key);

my %meta = %{ $pi->meta_fetch };
delete $meta{objects}{$pi->uuid};
$meta{object_count}--;

print "\nBEFORE ERASE:\n\n";
print Dumper \%meta;

$pi->meta_erase;

print "\n\nAFTER ERASE:\n\n";
print Dumper $pi->meta_fetch;

$pi->cleanup;

