Updated to remove binary code
authorGraham <dev@netlinux.org.uk>
Mon, 4 Sep 2017 17:07:29 +0000 (18:07 +0100)
committerGraham <dev@netlinux.org.uk>
Mon, 4 Sep 2017 17:07:29 +0000 (18:07 +0100)
UnoBLDC.cpp

index 8e844f8..6e3dd0d 100644 (file)
@@ -1,6 +1,5 @@
 #include "arduino.h"
 
-#define TRINARY
 #define STEP 12
 
 static const int MARKCONTROL = A0;
@@ -11,15 +10,6 @@ static unsigned char StepCount = 0;
 
 #if STEP == 6
 
-static const unsigned char Step[] = {
-    0b010010,
-    0b011000,
-    0b001001,
-    0b100001,
-    0b100100,
-    0b000110
-};
-
 static const unsigned char Polarity[] = {
     0b001,
     0b010,
@@ -40,21 +30,6 @@ static const unsigned char On[] = {
 
 #elif STEP == 12
 
-static const unsigned char Step[] = {
-    0b101001,
-    0b100001,
-    0b100101,
-    0b100100,
-    0b100110,
-    0b000110,
-    0b010110,
-    0b010010,
-    0b011010,
-    0b011000,
-    0b011001,
-    0b001001
-};
-
 static const unsigned char Polarity[] = {
     0b110,
     0b100,
@@ -88,20 +63,17 @@ static const unsigned char On[] = {
 #endif
 void UARTReceive (char Character)
 {
+    putchar (Character);
 }
 
-static const unsigned char StepNumber = sizeof (Step);
+static const unsigned char StepNumber = sizeof (Polarity);
 
 void setup ()
 {
-    puts ("Grahams Simple Motor Test, " __DATE__ " (" __TIME__ ")");
+    puts ("Grahams Simple Trinary Test, " __DATE__ " (" __TIME__ ")");
 
-#ifdef TRINARY
     DDRB = 0b00000000;         // set 8-13 off (input)
     PORTB = 0b00000000;        // set 8-13 low (no pullup)
-#else
-    DDRB = 0b00111111;         // set 8-13 output
-#endif
 }
 
 static const unsigned long DELAY = 100;
@@ -115,16 +87,12 @@ void Gap (const int CONTROL, int &Input)
 
 void loop ()
 {
-#if 1
     if (StepCount >= StepNumber)
         StepCount = 0;
 
-# ifdef TRINARY
     DDRB = (On[StepCount] << 3);    // set the direction
     PORTB = (~Polarity[StepCount] << 3);    // set the bits
-# else
-    PORTB = Step[StepCount];    // set the bits
-# endif
+
     Gap (MARKCONTROL, MarkInput);
 
     fputs ("Step = ", stdout);
@@ -139,14 +107,10 @@ void loop ()
 
     printf ("\tMarkInput = %d\tSpaceInput = %d\n", MarkInput, SpaceInput);
 
-# if 1
-#  ifdef TRINARY
-    DDRB = 0b00000000;         // set the direction
-#  endif
-    PORTB = 0b00000000;        // set the LED off
+    DDRB = 0b00000000;     // set the direction
+    PORTB = 0b00000000;    // set the bits
+
     Gap (SPACECONTROL, SpaceInput);
-# endif
 
     StepCount++;
-#endif
 }