Merge pull request #37 from Elfish/development

Cosmetic changes
This commit is contained in:
Stephan Mühl
2023-04-04 18:31:46 +02:00
committed by GitHub
7 changed files with 75 additions and 58 deletions

View File

@@ -11,5 +11,6 @@ The JSON object has the following properties:
| Key | Type | Description | Default | | Key | Type | Description | Default |
| --- | ---- | ----------- | ------- | | --- | ---- | ----------- | ------- |
| `bootsound` | string | Uses a custom melodie from the MELODIES folder | | | `bootsound` | string | Uses a custom melodie while booting | |
| `uppercase` | boolean | Print every character in uppercase | true | | `uppercase` | boolean | Print every character in uppercase | true |
| `temp_dec_places` | int | Number of decimal places for temperature measurements | 0 |

View File

@@ -188,16 +188,21 @@ void TempApp(FastLED_NeoMatrix *matrix, MatrixDisplayUiState *state, int16_t x,
CURRENT_APP = "Temperature"; CURRENT_APP = "Temperature";
DisplayManager.getInstance().resetTextColor(); DisplayManager.getInstance().resetTextColor();
matrix->drawRGBBitmap(x, y, get_icon(234), 8, 8); matrix->drawRGBBitmap(x, y, get_icon(234), 8, 8);
matrix->setCursor(12 + x, 6 + y);
if (TEMP_DECIMAL_PLACES > 0)
matrix->setCursor(8 + x, 6 + y);
else
matrix->setCursor(12 + x, 6 + y);
if (IS_CELSIUS) if (IS_CELSIUS)
{ {
matrix->print((int)CURRENT_TEMP); matrix->print(CURRENT_TEMP, TEMP_DECIMAL_PLACES);
matrix->print(utf8ascii("°C")); matrix->print(utf8ascii("°C"));
} }
else else
{ {
int tempF = (CURRENT_TEMP * 9 / 5) + 32; double tempF = (CURRENT_TEMP * 9 / 5) + 32;
matrix->print(tempF); matrix->print(tempF, TEMP_DECIMAL_PLACES);
matrix->print(utf8ascii("°F")); matrix->print(utf8ascii("°F"));
} }
} }
@@ -210,8 +215,8 @@ void HumApp(FastLED_NeoMatrix *matrix, MatrixDisplayUiState *state, int16_t x, i
DisplayManager.getInstance().resetTextColor(); DisplayManager.getInstance().resetTextColor();
matrix->drawRGBBitmap(x, y + 1, get_icon(2075), 8, 8); matrix->drawRGBBitmap(x, y + 1, get_icon(2075), 8, 8);
matrix->setCursor(14 + x, 6 + y); matrix->setCursor(14 + x, 6 + y);
int humidity = CURRENT_HUM; // Temperatur ohne Nachkommastellen int humidity = CURRENT_HUM; // Humidity without decimal places
matrix->print(humidity); // Ausgabe der Temperatur matrix->print(humidity); // Output humidity
matrix->print("%"); matrix->print("%");
} }

View File

@@ -225,53 +225,56 @@ void printAllowedIds()
bool loadBeaconSettings() bool loadBeaconSettings()
{ {
Serial.println("laodSettings"); Serial.println("loadSettings");
File file = LittleFS.open("/beacons.json", "r"); if (LittleFS.exists("/beacons.json"))
if (!file)
{ {
return false; File file = LittleFS.open("/beacons.json", "r");
} DynamicJsonDocument doc(128);
DynamicJsonDocument doc(128); DeserializationError error = deserializeJson(doc, file);
DeserializationError error = deserializeJson(doc, file); if (error)
if (error)
{
Serial.println(F("Failed to read beacon settings"));
return false;
}
if (doc.containsKey("room"))
{
room = doc["room"].as<String>();
Serial.println(room);
}
else
{
return false;
}
if (doc.containsKey("trigger_distance"))
{
triggerDistance = doc["trigger_distance"].as<float>();
Serial.println(triggerDistance);
}
else
{
return false;
}
if (doc.containsKey("allowed_ids"))
{
JsonArray allowedIdsJsonArray = doc["allowed_ids"];
for (const char *id : allowedIdsJsonArray)
{ {
allowedIds.push_back(String(id)); Serial.println(F("Failed to read beacon settings"));
return false;
} }
printAllowedIds();
}
return true; if (doc.containsKey("room"))
file.close(); {
} room = doc["room"].as<String>();
Serial.println(room);
}
else
{
return false;
}
if (doc.containsKey("trigger_distance"))
{
triggerDistance = doc["trigger_distance"].as<float>();
Serial.println(triggerDistance);
}
else
{
return false;
}
if (doc.containsKey("allowed_ids"))
{
JsonArray allowedIdsJsonArray = doc["allowed_ids"];
for (const char *id : allowedIdsJsonArray)
{
allowedIds.push_back(String(id));
}
printAllowedIds();
}
return true;
file.close();
}
else
{
return false;
}
}
void BeaconScanner_::setup() void BeaconScanner_::setup()
{ {

View File

@@ -31,7 +31,6 @@ GifPlayer gif;
uint16_t gifX, gifY; uint16_t gifX, gifY;
CRGB leds[MATRIX_WIDTH * MATRIX_HEIGHT]; CRGB leds[MATRIX_WIDTH * MATRIX_HEIGHT];
// Awtrix Big / Ulanzi
FastLED_NeoMatrix *matrix = new FastLED_NeoMatrix(leds, 8, 8, 4, 1, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE); FastLED_NeoMatrix *matrix = new FastLED_NeoMatrix(leds, 8, 8, 4, 1, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE);
MatrixDisplayUi *ui = new MatrixDisplayUi(matrix); MatrixDisplayUi *ui = new MatrixDisplayUi(matrix);

View File

@@ -61,6 +61,11 @@ void loadDevSettings()
UPPERCASE_LETTERS = doc["uppercase"].as<bool>(); UPPERCASE_LETTERS = doc["uppercase"].as<bool>();
} }
if (doc.containsKey("temp_dec_places"))
{
TEMP_DECIMAL_PLACES = doc["temp_dec_places"].as<int>();
}
file.close(); file.close();
} }
} }
@@ -90,7 +95,6 @@ void loadSettings()
#endif #endif
SOUND_ACTIVE = Settings.getBool("SOUND", true); SOUND_ACTIVE = Settings.getBool("SOUND", true);
#ifndef ULANZI #ifndef ULANZI
// Settings.putUInt("VOL", VOLUME_PERCENT);
VOLUME_PERCENT = Settings.getUInt("VOL", 50); VOLUME_PERCENT = Settings.getUInt("VOL", 50);
VOLUME = map(VOLUME_PERCENT, 0, 100, 0, 30); VOLUME = map(VOLUME_PERCENT, 0, 100, 0, 30);
#endif #endif
@@ -199,8 +203,11 @@ bool ALARM_ACTIVE;
uint16_t TEXTCOLOR_565 = 0xFFFF; uint16_t TEXTCOLOR_565 = 0xFFFF;
bool SOUND_ACTIVE; bool SOUND_ACTIVE;
String BOOT_SOUND = ""; String BOOT_SOUND = "";
int TEMP_DECIMAL_PLACES = 0;
#ifndef ULANZI
uint8_t VOLUME_PERCENT; uint8_t VOLUME_PERCENT;
uint8_t VOLUME; uint8_t VOLUME;
#endif
int MATRIX_LAYOUT; int MATRIX_LAYOUT;
bool UPDATE_AVAILABLE = false; bool UPDATE_AVAILABLE = false;
long RECEIVED_MESSAGES; long RECEIVED_MESSAGES;

View File

@@ -68,8 +68,11 @@ extern bool START_ON_MONDAY;
extern bool IS_CELSIUS; extern bool IS_CELSIUS;
extern bool SOUND_ACTIVE; extern bool SOUND_ACTIVE;
extern String BOOT_SOUND; extern String BOOT_SOUND;
extern int TEMP_DECIMAL_PLACES;
#ifndef ULANZI
extern uint8_t VOLUME_PERCENT; extern uint8_t VOLUME_PERCENT;
extern uint8_t VOLUME; extern uint8_t VOLUME;
#endif
extern int MATRIX_LAYOUT; extern int MATRIX_LAYOUT;
extern bool UPDATE_AVAILABLE; extern bool UPDATE_AVAILABLE;
extern long RECEIVED_MESSAGES; extern long RECEIVED_MESSAGES;

View File

@@ -93,13 +93,12 @@ PeripheryManager_ &PeripheryManager = PeripheryManager.getInstance();
void left_button_pressed() void left_button_pressed()
{ {
#ifdef AWTRIX_UPGRADE #ifndef ULANZI
PeripheryManager.playFromFile(DFMINI_MP3_CLICK); PeripheryManager.playFromFile(DFMINI_MP3_CLICK);
#endif #endif
if (AP_MODE) if (AP_MODE)
{ {
#ifdef AWTRIX_UPGRADE #ifndef ULANZI
--MATRIX_LAYOUT; --MATRIX_LAYOUT;
if (MATRIX_LAYOUT < 0) if (MATRIX_LAYOUT < 0)
MATRIX_LAYOUT = 2; MATRIX_LAYOUT = 2;
@@ -116,12 +115,12 @@ void left_button_pressed()
void right_button_pressed() void right_button_pressed()
{ {
#ifdef AWTRIX_UPGRADE #ifndef ULANZI
PeripheryManager.playFromFile(DFMINI_MP3_CLICK); PeripheryManager.playFromFile(DFMINI_MP3_CLICK);
#endif #endif
if (AP_MODE) if (AP_MODE)
{ {
#ifdef AWTRIX_UPGRADE #ifndef ULANZI
++MATRIX_LAYOUT; ++MATRIX_LAYOUT;
if (MATRIX_LAYOUT > 2) if (MATRIX_LAYOUT > 2)
MATRIX_LAYOUT = 0; MATRIX_LAYOUT = 0;
@@ -138,7 +137,7 @@ void right_button_pressed()
void select_button_pressed() void select_button_pressed()
{ {
#ifdef AWTRIX_UPGRADE #ifndef ULANZI
PeripheryManager.playFromFile(DFMINI_MP3_CLICK); PeripheryManager.playFromFile(DFMINI_MP3_CLICK);
#endif #endif
DisplayManager.selectButton(); DisplayManager.selectButton();