diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-15 15:23:10 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-15 15:23:10 +0200 |
commit | 6b1ae4b2b1f42e92b44a05d8fe097901dd04560b (patch) | |
tree | b5d4140333deb7e6ba15ca1ec79901fa437e9e71 /sensor | |
parent | 08c22d31a76776a39974a5d04a39f3a2dc050974 (diff) |
tidy comments and whitespace
Diffstat (limited to 'sensor')
-rw-r--r-- | sensor/sensor.ino | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/sensor/sensor.ino b/sensor/sensor.ino index f051b0b..867c17d 100644 --- a/sensor/sensor.ino +++ b/sensor/sensor.ino @@ -54,7 +54,7 @@ #define TOUCH_PIN T0 // T0 is GPIO4 #define TOUCH_THRESHOLD 40 -// arduino-esp32 LED PWM Controller (LEDC) to track gaping rhythm +// arduino-esp32 LED PWM Controller (LEDC) as pacemaker for gaping rhythm #define LED_PIN LED_BUILTIN #define LEDC_BITS 7 #define LEDC_FREQ 500 @@ -63,12 +63,10 @@ #define LEDC_CALM_PACE 3000 #define LEDC_STRESSED_PACE 400 +// pacemaker variables int stress = 0; - bool touch_detected = false; - int pace = LEDC_STRESSED_PACE; - bool fade_ended = false; bool fade_in = true; @@ -82,12 +80,13 @@ void gotTouch() { pace = LEDC_STRESSED_PACE; } -// pacemaker Interrupt Service Routine (ISR) +// pacemaker end-of-fade Interrupt Service Routine (ISR) a.k.a. callback void ARDUINO_ISR_ATTR LED_FADE_ISR() { fade_ended = true; keepPace(); } +// stress-inducing touch callback void beginTouchDetection() { touchAttachInterrupt(TOUCH_PIN, gotTouch, TOUCH_THRESHOLD); log_d("touch detected"); @@ -99,7 +98,7 @@ void beginPace() { // Setup pacemaker timer ledcAttach(LED_PIN, LEDC_FREQ, LEDC_BITS); - // fade in once supervised and then begin fade out with ISR + // fade in once uncontrolled and then begin fade out with ISR ledcFade(LED_PIN, LEDC_START_DUTY, LEDC_TARGET_DUTY, pace); delay(pace); ledcFadeWithInterrupt(LED_PIN, LEDC_TARGET_DUTY, LEDC_START_DUTY, @@ -132,16 +131,18 @@ void keepPace() { pace = LEDC_CALM_PACE; } - // begin fade in opposite direction at decided pace + // begin fade at decided direction and pace ledcFadeWithInterrupt(LED_PIN, fade_in ? LEDC_START_DUTY : LEDC_TARGET_DUTY, fade_in ? LEDC_TARGET_DUTY : LEDC_START_DUTY, pace, LED_FADE_ISR); + + // remember next fade direction fade_in = !fade_in; } } -// Sensor reading +// read fake gape angle sensor from pacemaker int getGapeAngle() { return ledcRead(LED_PIN); } @@ -160,11 +161,11 @@ void setBeaconServiceData(int angle) { log_i("Gape angle: %.2f°", EddystoneTLM.getTemp()); BLEAdvertisementData oScanResponseData = BLEAdvertisementData(); - oScanResponseData.setServiceData(BLEUUID( - (uint16_t)0xFEAA), - String(EddystoneTLM.getData().c_str(), + oScanResponseData.setServiceData( + BLEUUID((uint16_t)0xFEAA), + String( + EddystoneTLM.getData().c_str(), EddystoneTLM.getData().length())); - pAdvertising->setScanResponseData(oScanResponseData); } @@ -188,6 +189,9 @@ void setup() { } void loop() { + + // update Bluetooth beacon service data setBeaconServiceData(getGapeAngle()); + delay(500); } |