Factory Monitor
Dependencies: mbed
factory sense HQ
main.cpp
- Committer:
- melmon
- Date:
- 2015-10-06
- Revision:
- 11:bcac43b76579
- Parent:
- 10:0333f8137979
File content as of revision 11:bcac43b76579:
#include "mbed.h" #define no_pins 2 #define Inputs 0 #define Outputs 1 #define Rejects Values[2] DigitalIn sensorPin1( p5, PullDown); DigitalIn sensorPin2( p6, PullDown); //variables // initialize serial communication: Serial pc(USBTX, USBRX); class PinCheck { public: PinCheck(PinName pin) : _pin(pin) { } int Go_and_check(int a) { //sensorState = _pin; // read the sensor input pin: //if (sensorState == 0){sensorState = 1; } //if (sensorState == 1){sensorState = 0; } sensorState = 1; lastSensorState[a] = 0; int zero = 0; pc.printf("Here = %d\r\n", sensorState); if (sensorState != lastSensorState[a]) // compare the sensorState to its previous state { // if the state has changed, check to see if it is a change from high to low or low to high if (sensorState == 1){ // if the current state is HIGH then increment the counter lastSensorState[a] = sensorState; pc.printf("sensor state = %d\r\n", sensorState); pc.printf("last sensor state= %d\r\n", lastSensorState[a]); return sensorState; } else { // if the current state is LOW then ignore pc.printf("zero = %d \r\n", zero); lastSensorState[a] = sensorState; return zero; } } return zero; } private: DigitalIn _pin; int sensorState; int lastSensorState[no_pins]; }; PinCheck inputs(p6); PinCheck outputs(p5); int main() { int Values[3] = {0,0,0}; while(1) { for(int i = 0; i < no_pins; i ++){ if (i == Inputs){ Values[i] += inputs.Go_and_check(i); } if (i == Outputs){ Values[i] += outputs.Go_and_check(i); } pc.printf("sensor state = %d \r\n", i); }; Rejects = (Inputs - Outputs); pc.printf("not here = %d \r\n", Values[1]); wait(0.2); } }