Merge pull request #679 from cyberman54/development

Development
This commit is contained in:
Verkehrsrot 2020-11-30 22:02:22 +01:00 committed by GitHub
commit 58eb54bf51
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 45 deletions

View File

@ -21,43 +21,29 @@ extern Ticker bmecycler;
extern bmeStatus_t extern bmeStatus_t
bme_status; // Make struct for storing gps data globally available bme_status; // Make struct for storing gps data globally available
// --- Bosch BSEC v1.4.7.4 library configuration --- // --- Bosch BSEC library configuration ---
// 3,3V supply voltage; 3s max time between sensor_control calls; 4 days // We use 3,3V supply voltage; 3s max time between sensor_control calls; 4 days
// calibration. Change this const if not applicable for your application (see // calibration. Change this const if not applicable for your application (see
// BME680 datasheet) // BME680 datasheet) Note: 3s max time must not exceed BMECYCLE frequency set in
// Note: 3s max time not exceed BMECYCLE frequency set in paxcounter.conf! // paxcounter.conf!
const uint8_t bsec_config_iaq[454] = {
4, 7, 4, 1, 61, 0, 0, 0, 0, 0, 0, 0, 174, 1, 0, const uint8_t bsec_config_iaq[] = {
0, 48, 0, 1, 0, 0, 192, 168, 71, 64, 49, 119, 76, 0, 0, #include "config/generic_33v_3s_4d/bsec_iaq.txt"
225, 68, 137, 65, 0, 63, 205, 204, 204, 62, 0, 0, 64, 63, 205, };
204, 204, 62, 0, 0, 0, 0, 216, 85, 0, 100, 0, 0, 0, 0,
0, 0, 0, 0, 28, 0, 2, 0, 0, 244, 1, 225, 0, 25, 0, /* Configure the BSEC library with information about the sensor
0, 128, 64, 0, 0, 32, 65, 144, 1, 0, 0, 112, 65, 0, 0, 18v/33v = Voltage at Vdd. 1.8V or 3.3V
0, 63, 16, 0, 3, 0, 10, 215, 163, 60, 10, 215, 35, 59, 10, 3s/300s = BSEC operating mode, BSEC_SAMPLE_RATE_LP or BSEC_SAMPLE_RATE_ULP
215, 35, 59, 9, 0, 5, 0, 0, 0, 0, 0, 1, 88, 0, 9, 4d/28d = Operating age of the sensor in days
0, 229, 208, 34, 62, 0, 0, 0, 0, 0, 0, 0, 0, 218, 27, generic_18v_3s_4d
156, 62, 225, 11, 67, 64, 0, 0, 160, 64, 0, 0, 0, 0, 0, generic_18v_3s_28d
0, 0, 0, 94, 75, 72, 189, 93, 254, 159, 64, 66, 62, 160, 191, generic_18v_300s_4d
0, 0, 0, 0, 0, 0, 0, 0, 33, 31, 180, 190, 138, 176, 97, generic_18v_300s_28d
64, 65, 241, 99, 190, 0, 0, 0, 0, 0, 0, 0, 0, 167, 121, generic_33v_3s_4d
71, 61, 165, 189, 41, 192, 184, 30, 189, 64, 12, 0, 10, 0, 0, generic_33v_3s_28d
0, 0, 0, 0, 0, 0, 0, 229, 0, 254, 0, 2, 1, 5, 48, generic_33v_300s_4d
117, 100, 0, 44, 1, 112, 23, 151, 7, 132, 3, 197, 0, 92, 4, generic_33v_300s_28d
144, 1, 64, 1, 64, 1, 144, 1, 48, 117, 48, 117, 48, 117, 48, */
117, 100, 0, 100, 0, 100, 0, 48, 117, 48, 117, 48, 117, 100, 0,
100, 0, 48, 117, 48, 117, 100, 0, 100, 0, 100, 0, 100, 0, 48,
117, 48, 117, 48, 117, 100, 0, 100, 0, 100, 0, 48, 117, 48, 117,
100, 0, 100, 0, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44,
1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1,
44, 1, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8,
7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7,
112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112,
23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 112, 23, 255, 255,
255, 255, 255, 255, 255, 255, 220, 5, 220, 5, 220, 5, 255, 255, 255,
255, 255, 255, 220, 5, 220, 5, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 1, 0, 0, 0, 0,
138, 80, 0, 0};
// Helper functions declarations // Helper functions declarations
int bme_init(); int bme_init();

View File

@ -76,7 +76,8 @@ lib_deps_sensors =
adafruit/Adafruit Unified Sensor @ ^1.1.4 adafruit/Adafruit Unified Sensor @ ^1.1.4
adafruit/Adafruit BME280 Library @ ^2.1.1 adafruit/Adafruit BME280 Library @ ^2.1.1
adafruit/Adafruit BMP085 Library @ ^1.1.0 adafruit/Adafruit BMP085 Library @ ^1.1.0
boschsensortec/BSEC Software Library @ 1.5.1474 ;boschsensortec/BSEC Software Library @ 1.6.1480
https://github.com/BoschSensortec/BSEC-Arduino-library.git
https://github.com/ricki-z/SDS011.git https://github.com/ricki-z/SDS011.git
lib_deps_basic = lib_deps_basic =
bblanchon/ArduinoJson @ <6 bblanchon/ArduinoJson @ <6

View File

@ -47,12 +47,10 @@ void AXP192_powerevent_IRQ(void) {
if (pmu.isBattTempHighIRQ()) if (pmu.isBattTempHighIRQ())
ESP_LOGI(TAG, "Battery low temperature."); ESP_LOGI(TAG, "Battery low temperature.");
// short press -> esp32 deep sleep mode, can be exited by pressing user button // short press -> esp32 deep sleep mode, can be exited by pressing user button
#ifdef HAS_BUTTON
if (pmu.isPEKShortPressIRQ() && (RTC_runmode == RUNMODE_NORMAL)) { if (pmu.isPEKShortPressIRQ() && (RTC_runmode == RUNMODE_NORMAL)) {
enter_deepsleep(0, HAS_BUTTON); enter_deepsleep(0, HAS_BUTTON);
} }
#endif
// long press -> shutdown power, can be exited by another longpress // long press -> shutdown power, can be exited by another longpress
if (pmu.isPEKLongtPressIRQ()) { if (pmu.isPEKLongtPressIRQ()) {
@ -85,10 +83,12 @@ void AXP192_power(pmu_power_t powerlevel) {
pmu.setPowerOutPut(AXP192_LDO2, AXP202_OFF); // lora off pmu.setPowerOutPut(AXP192_LDO2, AXP202_OFF); // lora off
break; break;
default: // all rails power on default: // all rails power on
pmu.setPowerOutPut(AXP192_LDO2, AXP202_ON); // Lora on T-Beam V1.0 pmu.setPowerOutPut(AXP192_LDO2, AXP202_ON); // Lora on T-Beam V1.0
pmu.setPowerOutPut(AXP192_LDO3, AXP202_ON); // Gps on T-Beam V1.0 pmu.setPowerOutPut(AXP192_LDO3, AXP202_ON); // Gps on T-Beam V1.0
pmu.setPowerOutPut(AXP192_DCDC1, AXP202_ON); // OLED on T-Beam v1.0 pmu.setPowerOutPut(AXP192_DCDC1, AXP202_ON); // OLED on T-Beam v1.0
pmu.setPowerOutPut(AXP192_DCDC2, AXP202_OFF); // unused on T-Beam v1.0
pmu.setPowerOutPut(AXP192_EXTEN, AXP202_OFF); // unused on T-Beam v1.0
pmu.setChgLEDMode(AXP20X_LED_LOW_LEVEL); pmu.setChgLEDMode(AXP20X_LED_LOW_LEVEL);
break; break;
} }
@ -121,6 +121,8 @@ void AXP192_init(void) {
// configure AXP192 // configure AXP192
pmu.setDCDC1Voltage(3300); // for external OLED display pmu.setDCDC1Voltage(3300); // for external OLED display
pmu.setLDO2Voltage(3300); // LORA VDD 3v3
pmu.setLDO3Voltage(3300); // GPS VDD 3v3
pmu.setTimeOutShutdown(false); // no automatic shutdown pmu.setTimeOutShutdown(false); // no automatic shutdown
pmu.setTSmode(AXP_TS_PIN_MODE_DISABLE); // TS pin mode off to save power pmu.setTSmode(AXP_TS_PIN_MODE_DISABLE); // TS pin mode off to save power
@ -138,7 +140,8 @@ void AXP192_init(void) {
attachInterrupt(digitalPinToInterrupt(PMU_INT), PMUIRQ, FALLING); attachInterrupt(digitalPinToInterrupt(PMU_INT), PMUIRQ, FALLING);
pmu.enableIRQ(AXP202_VBUS_REMOVED_IRQ | AXP202_VBUS_CONNECT_IRQ | pmu.enableIRQ(AXP202_VBUS_REMOVED_IRQ | AXP202_VBUS_CONNECT_IRQ |
AXP202_BATT_REMOVED_IRQ | AXP202_BATT_CONNECT_IRQ | AXP202_BATT_REMOVED_IRQ | AXP202_BATT_CONNECT_IRQ |
AXP202_CHARGING_FINISHED_IRQ, AXP202_CHARGING_FINISHED_IRQ | AXP202_PEK_SHORTPRESS_IRQ |
AXP202_PEK_LONGPRESS_IRQ,
1); 1);
pmu.clearIRQ(); pmu.clearIRQ();
#endif // PMU_INT #endif // PMU_INT