]> www.fi.muni.cz Git - tinyboard.git/blobdiff - projects/step-up/morse.pl
morse.pl: morse code to binary char arrays generator
[tinyboard.git] / projects / step-up / morse.pl
diff --git a/projects/step-up/morse.pl b/projects/step-up/morse.pl
new file mode 100755 (executable)
index 0000000..085f313
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/perl -w
+
+my $code = shift @ARGV;
+
+$code =~ s/\./10000/g;
+$code =~ s/-/1110000/g;
+$code =~ s/\//000000/g;
+
+my $ones = ($code =~ y/1/1/);
+my $len = length $code;
+
+if ($len % 8 != 0) {
+       $code .= '0' x (8 - ($len % 8));
+}
+
+$code =~ s/(.{8})/\t0b$1,\n/g;
+
+my $ratio = sprintf('%.1f', 100*$ones/$len);
+print "\t/* $len bits, $ratio\% on */\n", $code;