Guest User

Untitled

a guest
Apr 21st, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use Data::Dumper;
  5. my $PROC_CPUINFO = "/proc/cpuinfo";
  6.  
  7. my %data;
  8. $data{Beta} =["Q1 2012","B (Beta)","?","256 MB","Beta Board"];
  9. $data{"0002"} =["Q1 2012","B","1.0","256 MB"];
  10. $data{"0003"} =["Q3 2012","B (ECN0001)","1.0","256 MB","Fuses mod and D14 removed"];
  11. $data{"0004"} =["Q3 2012","B","2.0","256 MB","(Mfg by Sony)"];
  12. $data{"0005"} =["Q4 2012","B","2.0","256 MB","(Mfg by Qisda)"];
  13. $data{"0006"} =["Q4 2012","B","2.0","256 MB","(Mfg by Egoman)"];
  14. $data{"0007"} =["Q1 2013","A","2.0","256 MB","(Mfg by Egoman)"];
  15. $data{"0008"} =["Q1 2013","A","2.0","256 MB","(Mfg by Sony)"];
  16. $data{"0009"} =["Q1 2013","A","2.0","256 MB","(Mfg by Qisda)"];
  17. $data{"000d"} =["Q4 2012","B","2.0","512 MB","(Mfg by Egoman)"];
  18. $data{"000e"} =["Q4 2012","B","2.0","512 MB","(Mfg by Sony)"];
  19. $data{"000f"} =["Q4 2012","B","2.0","512 MB","(Mfg by Qisda)"];
  20. $data{"0010"} =["Q3 2014","B+","1.0","512 MB","(Mfg by Sony)"];
  21. $data{"0011"} =["Q2 2014","Compute Module 1","1.0","512 MB","(Mfg by Sony)"];
  22. $data{"0012"} =["Q4 2014","A+","1.1","256 MB","(Mfg by Sony)"];
  23. $data{"0013"} =["Q1 2015","B+","1.2","512 MB","?"];
  24. $data{"0014"} =["Q2 2014","Compute Module 1","1.0","512 MB","(Mfg by Embest)"];
  25. $data{"0015"} =["?","A+","1.1","256 MB / 512 MB","(Mfg by Embest)"];
  26. $data{"a01040"} =["Unknown","2 Model B","1.0","1 GB","(Mfg by Sony)"];
  27. $data{"a01041"} =["Q1 2015","2 Model B","1.1","1 GB","(Mfg by Sony)"];
  28. $data{"a21041"} =["Q1 2015","2 Model B","1.1","1 GB","(Mfg by Embest)"];
  29. $data{"a22042"} =["Q3 2016","2 Model B (with BCM2837)","1.2","1 GB","(Mfg by Embest)"];
  30. $data{"900021"} =["Q3 2016","A+","1.1","512 MB","(Mfg by Sony)"];
  31. $data{"900032"} =["Q2 2016","B+","1.2","512 MB","(Mfg by Sony)"];
  32. $data{"900092"} =["Q4 2015","Zero","1.2","512 MB","(Mfg by Sony)"];
  33. $data{"900093"} =["Q2 2016","Zero","1.3","512 MB","(Mfg by Sony)"];
  34. $data{"920093"} =["Q4 2016","Zero","1.3","512 MB","(Mfg by Embest)"];
  35. $data{"9000c1"} =["Q1 2017","Zero W","1.1","512 MB","(Mfg by Sony)"];
  36. $data{"a02082"} =["Q1 2016","3 Model B","1.2","1 GB","(Mfg by Sony)"];
  37. $data{"a020a0"} =["Q1 2017","Compute Module 3 (and CM3 Lite)","1.0","1 GB","(Mfg by Sony)"];
  38. $data{"a22082"} =["Q1 2016","3 Model B","1.2","1 GB","(Mfg by Embest)"];
  39. $data{"a32082"} =["Q4 2016","3 Model B","1.2","1 GB","(Mfg by Sony Japan)"];
  40.  
  41. sub slurp {
  42. my $file = shift;
  43. open my $fh, '<', $file or die "Failed to open file: \"$file\"";
  44. local $/ = undef;
  45. my $cont = <$fh>;
  46. close $fh;
  47. return $cont;
  48. }
  49.  
  50.  
  51. sub get_pi_revision(){
  52. my $cpuinfo = slurp($PROC_CPUINFO);
  53. my ($revision) = ($cpuinfo =~ /Revision\s*:\s(.*?)\n/);
  54. return $revision;
  55. }
  56.  
  57.  
  58. my $rev = get_pi_revision();
  59. print $data{$rev}[1]."\n";
Add Comment
Please, Sign In to add comment