#include #include #include #include #include #include #include #include #include "pirSensor.h" #include "send.h" #include "sensor.h" #define PIR_SENSOR_PIN GPIO_NUM_0 #define PIR_SENSOR_MASK (1 << PIR_SENSOR_PIN) #define WAKEUP_PIN GPIO_NUM_0 #define WAKEUP_MASK (1 << WAKEUP_PIN) #define PIR_SENSOR_CHANGE_BIT BIT0 const char *TAG = "PIR_SENSOR"; static uint8_t pirSensorLevel_u8; static void IRAM_ATTR pirSensorIsrHandler(void* arg) { //pirSensorLevel_u8 = gpio_get_level(PIR_SENSOR_PIN); //ESP_LOGI(TAG, "triggered Level: %d", pirSensorLevel_u8); ESP_LOGI(TAG, "prSensorIsrHandler"); } uint8_t getPirSensorLevel(void) { return pirSensorLevel_u8; } void initPirSensor(void) { ESP_LOGI(TAG, "initialsing Sensor"); /* configure sensor */ gpio_config_t sensorConfig; sensorConfig.mode = GPIO_MODE_INPUT; sensorConfig.intr_type = GPIO_INTR_ANYEDGE; sensorConfig.pull_up_en = GPIO_PULLUP_DISABLE; sensorConfig.pull_down_en = GPIO_PULLDOWN_ENABLE; sensorConfig.pin_bit_mask = PIR_SENSOR_MASK; ESP_ERROR_CHECK(gpio_config(&sensorConfig)); ESP_LOGI(TAG, "Pir-Sensor configured"); /* get initial sensorlevel */ pirSensorLevel_u8 = gpio_get_level(PIR_SENSOR_PIN); /* configure interrupt and add handler */ ESP_ERROR_CHECK(gpio_install_isr_service(0)); ESP_ERROR_CHECK(gpio_isr_handler_add(PIR_SENSOR_PIN, pirSensorIsrHandler, NULL)); ESP_LOGI(TAG, "ISR handler Pir-Sensor configured"); }