MCPcopy Create free account
hub / github.com/Blueforcer/awtrix3 / tick

Method tick

src/PeripheryManager.cpp:452–554  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

450}
451
452void PeripheryManager_::tick()
453{
454 if (!MenuManager.inMenu)
455 {
456 if (ROTATE_SCREEN)
457 {
458 MQTTManager.sendButton(2, button_left.read());
459 ServerManager.sendButton(2, button_left.read());
460 MQTTManager.sendButton(0, button_right.read());
461 ServerManager.sendButton(0, button_right.read());
462 }
463 else
464 {
465 MQTTManager.sendButton(0, button_left.read());
466 MQTTManager.sendButton(2, button_right.read());
467 ServerManager.sendButton(0, button_left.read());
468 ServerManager.sendButton(2, button_right.read());
469 }
470
471 MQTTManager.sendButton(1, button_select.read());
472 ServerManager.sendButton(1, button_select.read());
473 }
474 else
475 {
476 button_left.read();
477 button_select.read();
478 button_right.read();
479 }
480
481 button_reset.read();
482
483 unsigned long currentMillis_BatTempHum = millis();
484 if (currentMillis_BatTempHum - previousMillis_BatTempHum >= interval_BatTempHum)
485 {
486 previousMillis_BatTempHum = currentMillis_BatTempHum;
487#ifndef awtrix2_upgrade
488 uint16_t ADCVALUE = analogRead(BATTERY_PIN);
489 // Discard values that are totally out of range, especially the first value read after a reboot.
490 // Meaningful values for an Ulanzi clock are in the range 400..700
491 if ((ADCVALUE > 100) && (ADCVALUE < 1000))
492 {
493 // Send ADC values through median filter to get rid of the remaining spikes and then calculate the average
494 BATTERY_RAW = meanFilterBatt.AddValue(medianFilterBatt.AddValue(ADCVALUE));
495 BATTERY_PERCENT = max(min((int)map(BATTERY_RAW, MIN_BATTERY, MAX_BATTERY, 0, 100), 100), 0);
496 SENSORS_STABLE = true;
497 }
498#else
499 SENSORS_STABLE = true;
500#endif
501 if (SENSOR_READING)
502 {
503 switch (TEMP_SENSOR_TYPE)
504 {
505 case TEMP_SENSOR_TYPE_BME280:
506 CURRENT_TEMP = bme280.readTemperature();
507 CURRENT_HUM = bme280.readHumidity();
508 break;
509 case TEMP_SENSOR_TYPE_BMP280:

Callers

nothing calls this directly

Calls 5

readMethod · 0.80
getSmoothedLuxMethod · 0.80
sendButtonMethod · 0.45
AddValueMethod · 0.45
setBrightnessMethod · 0.45

Tested by

no test coverage detected