2021-07-01 01:29:27 +00:00
|
|
|
/*
|
|
|
|
*/
|
2021-06-30 21:40:29 +00:00
|
|
|
|
|
|
|
// Load Wi-Fi library
|
2021-07-01 20:46:08 +00:00
|
|
|
//#include <WiFi.h>
|
2021-07-01 01:29:27 +00:00
|
|
|
|
2021-06-30 21:40:29 +00:00
|
|
|
// Replace with your network credentials
|
2021-07-01 20:46:08 +00:00
|
|
|
//const char* ssid = "GSO";
|
|
|
|
//const char* password = "xerxes27";
|
|
|
|
//WiFiServer server(80);
|
|
|
|
//String http_header;
|
2021-06-30 21:40:29 +00:00
|
|
|
|
|
|
|
/* OUTPUTS (numbers mean GPIO port) */
|
2021-07-03 19:20:36 +00:00
|
|
|
#define DATA_0_PIN 12
|
2021-07-01 01:29:27 +00:00
|
|
|
|
|
|
|
#define DEVSEL_PIN 35
|
2021-06-30 21:40:29 +00:00
|
|
|
|
2021-07-03 19:20:36 +00:00
|
|
|
unsigned int data_byte = 0;
|
2021-06-30 21:40:29 +00:00
|
|
|
|
2021-07-03 19:20:36 +00:00
|
|
|
/* Variables shared between ISR and main code need to be volatile */
|
|
|
|
volatile bool isr_handled = false;
|
|
|
|
volatile uint32_t raw_register_read;
|
|
|
|
volatile uint16_t raw_register1_read;
|
2021-07-01 20:46:08 +00:00
|
|
|
|
|
|
|
/*################################################
|
|
|
|
# ISR #
|
|
|
|
################################################*/
|
|
|
|
|
|
|
|
void IRAM_ATTR isrDEVSEL(void) {
|
2021-07-03 19:20:36 +00:00
|
|
|
raw_register_read = REG_READ(GPIO_IN_REG);
|
|
|
|
raw_register1_read = REG_READ(GPIO_IN1_REG);
|
2021-07-01 20:46:08 +00:00
|
|
|
isr_handled = true;
|
|
|
|
}
|
2021-07-01 01:29:27 +00:00
|
|
|
|
2021-07-01 20:46:08 +00:00
|
|
|
/*################################################
|
|
|
|
# Setup #
|
|
|
|
################################################*/
|
2021-06-30 21:40:29 +00:00
|
|
|
|
|
|
|
void setup() {
|
2021-07-01 20:46:08 +00:00
|
|
|
Serial.begin(115200);
|
2021-07-03 19:20:36 +00:00
|
|
|
|
|
|
|
for (int i=0; i < 8; i++) {
|
|
|
|
pinMode(DATA_0_PIN + i, INPUT);
|
2021-06-30 21:40:29 +00:00
|
|
|
}
|
2021-07-03 19:20:36 +00:00
|
|
|
pinMode(DEVSEL_PIN, INPUT);
|
|
|
|
pinMode(19, INPUT);
|
|
|
|
pinMode(21, INPUT);
|
|
|
|
pinMode(22, INPUT);
|
|
|
|
pinMode(23, INPUT);
|
|
|
|
pinMode(24, INPUT);
|
|
|
|
pinMode(25, INPUT);
|
|
|
|
pinMode(26, INPUT);
|
|
|
|
pinMode(27, INPUT);
|
|
|
|
pinMode(32, INPUT);
|
|
|
|
pinMode(33, INPUT);
|
|
|
|
pinMode(36, INPUT);
|
|
|
|
pinMode(39, INPUT);
|
2021-07-01 20:46:08 +00:00
|
|
|
Serial.println("");
|
|
|
|
Serial.println("Starting.");
|
2021-07-03 19:20:36 +00:00
|
|
|
//attachInterrupt(DEVSEL_PIN, isrDEVSEL, LOW);
|
2021-07-01 20:46:08 +00:00
|
|
|
attachInterrupt(DEVSEL_PIN, isrDEVSEL, CHANGE);
|
2021-07-03 19:20:36 +00:00
|
|
|
//attachInterrupt(DEVSEL_PIN, isrDEVSEL, RISING);
|
|
|
|
//attachInterrupt(DEVSEL_PIN, isrDEVSEL, FALLING);
|
2021-06-30 21:40:29 +00:00
|
|
|
}
|
|
|
|
|
2021-07-01 20:46:08 +00:00
|
|
|
/*################################################
|
|
|
|
# Main #
|
|
|
|
################################################*/
|
|
|
|
|
2021-07-03 19:20:36 +00:00
|
|
|
const long loopTimeInterval = 2500; // interval at which to blink (milliseconds)
|
2021-07-01 20:46:08 +00:00
|
|
|
int devsel_state = 0;
|
|
|
|
unsigned long lastLoopMillis = 0;
|
2021-06-30 21:40:29 +00:00
|
|
|
|
|
|
|
void loop() {
|
2021-07-01 20:46:08 +00:00
|
|
|
|
|
|
|
if (isr_handled) {
|
2021-07-03 19:20:36 +00:00
|
|
|
//data_byte = raw_register_read >> 12 & 0b00000000000011111111;
|
|
|
|
|
|
|
|
//Serial.print("RAWDATA: ");
|
|
|
|
//Serial.println(raw_register_read, BIN);
|
|
|
|
//Serial.print("DATA: ");
|
|
|
|
//Serial.println(data_byte, BIN);
|
|
|
|
//Serial.println(data_byte);
|
2021-07-01 20:46:08 +00:00
|
|
|
isr_handled = false;
|
2021-07-03 19:20:36 +00:00
|
|
|
Serial.print(raw_register_read, BIN);
|
|
|
|
Serial.print(" : ");
|
|
|
|
Serial.println(raw_register1_read, BIN);
|
2021-07-01 20:46:08 +00:00
|
|
|
}
|
2021-07-03 19:20:36 +00:00
|
|
|
|
2021-07-01 20:46:08 +00:00
|
|
|
if (millis() - lastLoopMillis > loopTimeInterval) {
|
2021-07-03 19:20:36 +00:00
|
|
|
Serial.println("--LOOP READ--");
|
|
|
|
//Serial.print("RAWDATA: ");
|
|
|
|
//Serial.println(raw_register_read, BIN);
|
|
|
|
//raw_register_read = REG_READ(GPIO_IN_REG);
|
|
|
|
//Serial.println("--LOOP CALLED ISR--");
|
|
|
|
//isrDEVSEL();
|
|
|
|
raw_register_read = REG_READ(GPIO_IN_REG);
|
|
|
|
raw_register1_read = REG_READ(GPIO_IN1_REG);
|
|
|
|
isr_handled = true;
|
2021-07-01 20:46:08 +00:00
|
|
|
lastLoopMillis = millis();
|
2021-06-30 21:40:29 +00:00
|
|
|
}
|
2021-07-03 19:20:36 +00:00
|
|
|
|
2021-06-30 21:40:29 +00:00
|
|
|
}
|