whatever
authorOthmar Gsenger <otti@realraum.at>
Wed, 29 Jun 2011 23:57:25 +0000 (23:57 +0000)
committerOthmar Gsenger <otti@realraum.at>
Wed, 29 Jun 2011 23:57:25 +0000 (23:57 +0000)
dart/dart.pde
dart/lookuptable [new file with mode: 0644]
dart/perl_shit.pl [new file with mode: 0755]

index 1ed2a0f..2e5223e 100644 (file)
@@ -30,19 +30,14 @@ union union32 {
   uint32_t uint32;
 }; 
 
-
-//********************************************************************//
-
 typedef unsigned char byte;
 
-//********************************************************************//
-/*
 void start_timer()
 {
   // timer 1: 2 ms
   TCCR1A = 0;                    // prescaler 1:8, WGM = 4 (CTC)
-  TCCR1B = 1<<WGM12 | 1<<CS11;   // 
-  OCR1A = 159;        // (1+159)*8 = 1280 -> 0.08ms @ 16 MHz -> 1*alpha
+  TCCR1B = 1<<WGM12 | 1<<CS10  | 1<<CS11;    // 
+  OCR1A = 65000;        // (1+159)*8 = 1280 -> 0.08ms @ 16 MHz -> 1*alpha
 //  OCR1A = 207;        // (1+207)*8 = 1664 -> 0.104ms @ 16 MHz -> 1*alpha
   TCNT1 = 0;          // reseting timer
   TIMSK1 = 1<<OCIE1A; // enable Interrupt
@@ -54,7 +49,14 @@ void stop_timer() // stop the timer
   TCCR1B = 0; // no clock source
   TIMSK1 = 0; // disable timer interrupt
 }
-*/
+
+ISR(TIMER1_COMPA_vect)
+{
+  stop_timer();
+  PCICR|= B111;
+}
+
+
 byte last_input=0;
 byte last_output=0;
 static void PCint() {
@@ -66,14 +68,26 @@ static void PCint() {
  
   if (!input)
    return;
-  if (last_input==input && last_output==output)
-    return;
+  if (!output)
+   return;
+  //if (last_input==input && last_output==output)
+    //return;
   last_input=input;
   last_output=output;
-  Serial.print(output,HEX);
-  Serial.print('\t');
-  Serial.println(input,HEX);
-  return;
+//  Serial.print(output,HEX);
+//  Serial.print('\t');
+//  Serial.print(input,HEX);
+//  Serial.print('\t');
+
+  byte value=0;
+  while(input>>=1)
+    value++;
+  value<<=3;
+  while(output>>=1)
+    value++;
+  Serial.println(value,HEX);
+  PCICR&=  ~ B111; // Disable Interrupt
+  start_timer();
 }
 
 
@@ -106,7 +120,6 @@ void setup()
   PCMSK1=PINC_MASK & INPUT_SIG_PORTC;
   PCMSK2=PIND_MASK & INPUT_SIG_PORTD;
   PCICR|= B111;
-
 //  start_timer();
 }
 
@@ -118,6 +131,4 @@ void loop()
 {
 //  Serial.Serial.println("foo");
 //  return;
-
-
 }
diff --git a/dart/lookuptable b/dart/lookuptable
new file mode 100644 (file)
index 0000000..6ed1c8b
--- /dev/null
@@ -0,0 +1,62 @@
+2A\r
+2B\r
+29\r
+1C\r
+1D\r
+18\r
+C\r
+D\r
+8\r
+F\r
+7\r
+17\r
+1A\r
+1B\r
+19\r
+2E\r
+3E\r
+1E\r
+3C\r
+3D\r
+38\r
+32\r
+33\r
+31\r
+A\r
+B\r
+9\r
+2C\r
+2D\r
+28\r
+3A\r
+3B\r
+39\r
+12\r
+13\r
+11\r
+2F\r
+3F\r
+1F\r
+2\r
+3\r
+1\r
+24\r
+25\r
+20\r
+34\r
+35\r
+30\r
+14\r
+15\r
+10\r
+E\r
+6\r
+16\r
+4\r
+5\r
+0\r
+22\r
+23\r
+21\r
+26\r
+27\r
diff --git a/dart/perl_shit.pl b/dart/perl_shit.pl
new file mode 100755 (executable)
index 0000000..cb544ba
--- /dev/null
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+my $pos=0;
+my %shit;
+for (0..63)
+{
+  $shit{$_}=['nc','nc'];
+}
+print "Reading ".$ARGV[0]."\n";
+open(my $fh, '<', $ARGV[0]) ;
+
+while( my $line =<$fh>)
+{
+ chomp $line;
+ my $zahl = (int($pos / 3)) +1 ;
+ my $mult =( $pos % 3 )+1;
+ $shit{hex $line} = [ $mult, $zahl]; 
+ $pos++;
+}
+close ($fh);
+
+
+while(my $foobar = <STDIN>)
+{
+  chomp $foobar;
+  print join "\t",$foobar , $shit{hex $foobar}[0],$shit{hex $foobar}[1],"\n";
+
+
+}