diff --git a/PillTracker/PillTracker/ViewController.swift b/PillTracker/PillTracker/ViewController.swift index 9733b51..8d226e0 100644 --- a/PillTracker/PillTracker/ViewController.swift +++ b/PillTracker/PillTracker/ViewController.swift @@ -23,7 +23,7 @@ class ViewController: UIViewController { let totalPills: Int = 16 var usedPills: Int = 0 var remainingPills: Int = 0 - let updateFreq: Float = 2.0 + let updateFreq: Float = 0.5 weak var timer: Timer? override func viewDidLoad() { diff --git a/embedded/MUX_debug/pp_debug.ino b/embedded/MUX_debug/pp_debug.ino new file mode 100644 index 0000000..a03d8ea --- /dev/null +++ b/embedded/MUX_debug/pp_debug.ino @@ -0,0 +1,51 @@ +#define MUX_BIT_0 13 +#define MUX_BIT_1 12 +#define MUX_BIT_2 27 +#define MUX_BIT_3 33 +#define MUX_COM 32 + +#define RAIL_0 14 +#define RAIL_1 15 + +#define PILL_SENSE 21 + +#define BATTERY_PIN 35 + +void setup() { + Serial.begin(115200); + + pinMode(MUX_BIT_0, OUTPUT); + pinMode(MUX_BIT_1, OUTPUT); + pinMode(MUX_BIT_2, OUTPUT); + pinMode(MUX_BIT_3, OUTPUT); +// pinMode(MUX_COM, INPUT); + pinMode(MUX_COM, INPUT_PULLDOWN); +// pinMode(MUX_COM, INPUT_PULLUP); + + pinMode(RAIL_0, OUTPUT); + pinMode(RAIL_1, OUTPUT); + + digitalWrite(RAIL_0, LOW); + digitalWrite(RAIL_1, LOW); + + digitalWrite(MUX_BIT_0, LOW); + digitalWrite(MUX_BIT_1, LOW); + digitalWrite(MUX_BIT_2, LOW); + digitalWrite(MUX_BIT_3, LOW); +} + + + +void loop() { + + digitalWrite(RAIL_0, HIGH); + digitalWrite(RAIL_1, LOW); + + digitalWrite(MUX_BIT_0, LOW); + digitalWrite(MUX_BIT_1, LOW); + digitalWrite(MUX_BIT_2, LOW); + digitalWrite(MUX_BIT_3, LOW); + delay(200); +// Serial.println(analogRead(MUX_COM)); + Serial.println(digitalRead(MUX_COM)); +} diff --git a/embedded/main/main.ino b/embedded/main/main.ino index a796f6e..2ec24e8 100644 --- a/embedded/main/main.ino +++ b/embedded/main/main.ino @@ -26,10 +26,10 @@ #define MUX_BIT_3 33 #define MUX_COM 32 -#define RAIL_EVEN 15 -#define RAIL_ODD 14 +#define RAIL_0 14 +#define RAIL_1 15 -#define PILL_SENSE 21 +#define CASSETTE_SENSE 21 #define BATTERY_PIN 35 @@ -86,18 +86,18 @@ void setup() { pinMode(MUX_BIT_1, OUTPUT); pinMode(MUX_BIT_2, OUTPUT); pinMode(MUX_BIT_3, OUTPUT); - pinMode(MUX_COM, INPUT_PULLUP); + pinMode(MUX_COM, INPUT_PULLDOWN); - pinMode(RAIL_EVEN, OUTPUT); - pinMode(RAIL_ODD, OUTPUT); + pinMode(RAIL_0, OUTPUT); + pinMode(RAIL_1, OUTPUT); - pinMode(PILL_SENSE, INPUT_PULLUP); + pinMode(CASSETTE_SENSE, INPUT_PULLUP); pinMode(BATTERY_PIN, INPUT); digitalWrite(LED_PIN, LOW); - digitalWrite(RAIL_EVEN, HIGH); - digitalWrite(RAIL_ODD, HIGH); + digitalWrite(RAIL_0, LOW); + digitalWrite(RAIL_1, LOW); digitalWrite(MUX_BIT_0, LOW); digitalWrite(MUX_BIT_1, LOW); @@ -126,8 +126,8 @@ bool seekValueFromMatrix(int column_id, int row_id) { Serial.println("@@@@@@@@@@@@@@@@@@@@ BINARY ERROR!!! @@@@@@@@@@@@@@@@@@@@"); } - int rail_to_GND = 0; - int rail_to_INPUT = 0; + int rail_to_HIGH = 0; + int rail_to_LOW = 0; // int mux_bit_0 = 0; // int mux_bit_1 = 0; // int mux_bit_2 = 0; @@ -135,11 +135,11 @@ bool seekValueFromMatrix(int column_id, int row_id) { bool is_pill_present = false; if (column_id == 0) { - rail_to_GND = RAIL_EVEN; - rail_to_INPUT = RAIL_ODD; + rail_to_HIGH = RAIL_0; + rail_to_LOW = RAIL_1; } else if (column_id == 1) { - rail_to_GND = RAIL_ODD; - rail_to_INPUT = RAIL_EVEN; + rail_to_HIGH = RAIL_1; + rail_to_LOW = RAIL_0; } else { return -1;} // mux_bit_0 = row_id & 0b0001; @@ -147,8 +147,8 @@ bool seekValueFromMatrix(int column_id, int row_id) { // mux_bit_2 = row_id & 0b0100; // mux_bit_3 = row_id & 0b1000; - pinMode(rail_to_INPUT, INPUT_PULLUP); - digitalWrite(rail_to_GND, LOW); + digitalWrite(rail_to_HIGH, HIGH); + digitalWrite(rail_to_LOW, LOW); digitalWrite(MUX_BIT_0, row_id & 0b0001); digitalWrite(MUX_BIT_1, row_id & 0b0010); @@ -180,7 +180,7 @@ bool seekValueFromMatrix(int column_id, int row_id) { // } delay(10); - if (digitalRead(PILL_SENSE) == LOW){ + if (digitalRead(MUX_COM) == HIGH){ is_pill_present = true; } @@ -199,9 +199,8 @@ bool seekValueFromMatrix(int column_id, int row_id) { Serial.println(is_pill_present); Serial.println("########## END COMPUTED BINARY ##########"); - pinMode(rail_to_INPUT, OUTPUT); - digitalWrite(RAIL_EVEN, HIGH); - digitalWrite(RAIL_ODD, HIGH); + digitalWrite(RAIL_0, LOW); + digitalWrite(RAIL_1, LOW); digitalWrite(MUX_BIT_0, LOW); digitalWrite(MUX_BIT_1, LOW); @@ -214,7 +213,7 @@ bool seekValueFromMatrix(int column_id, int row_id) { int getPillCount() { int total_pill_count = 0; - if (digitalRead(PILL_SENSE) == LOW) { + if (digitalRead(CASSETTE_SENSE) == LOW) { Serial.println("PROBE_ATTACHED"); for (int col = 0; col < 2; col++){