From 32737a77b0c366c25602025ef932f477e46fea8d Mon Sep 17 00:00:00 2001 From: Oleksii Mandrychenko Date: Thu, 8 Aug 2024 22:15:37 -0700 Subject: [PATCH] Add formatter --- .clang-format | 5 ++ .vscode/settings.json | 25 +++--- .vscode/tasks.json | 15 ++++ include/images.h | 6 +- include/ui.h | 8 +- src/images.cpp | 173 +++++++++++++++++++----------------------- src/main.cpp | 126 +++++++++++++++--------------- src/ui.cpp | 74 +++++++++--------- 8 files changed, 216 insertions(+), 216 deletions(-) create mode 100644 .clang-format create mode 100644 .vscode/tasks.json diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..0c7aa0c --- /dev/null +++ b/.clang-format @@ -0,0 +1,5 @@ +BasedOnStyle: LLVM +UseTab: Never +ColumnLimit: 90 +BreakBeforeBraces: Allman +IndentWidth: 4 diff --git a/.vscode/settings.json b/.vscode/settings.json index 6e493b5..c2f89c3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,12 +1,15 @@ { - "files.associations": { - "images.h": "c", - "*.tcc": "cpp", - "deque": "cpp", - "string": "cpp", - "unordered_map": "cpp", - "unordered_set": "cpp", - "vector": "cpp", - "system_error": "cpp" - } -} \ No newline at end of file + // Suggest where to make a new line by adding two vertical lines + // Vertical lines, 79 works well for code reviews and diffs + "editor.rulers": [ + 79, + 90 + ], + "editor.formatOnSave": true, + "editor.minimap.enabled": false, + "workbench.colorCustomizations": { + "editorRuler.foreground": "#ff4081" + }, + "files.insertFinalNewline": true, + "files.autoSave": "onFocusChange", +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..13d1436 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,15 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "Format All Files with ClangFormat", + "type": "shell", + "command": "find . -name '*.cpp' -o -name '*.h' | xargs clang-format -i", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [] + } + ] +} diff --git a/include/images.h b/include/images.h index d159401..bb29f07 100644 --- a/include/images.h +++ b/include/images.h @@ -2,9 +2,9 @@ #ifndef __IMAGES_H__ #define __IMAGES_H__ -// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 1040) +// Array of all bitmaps for convenience. (Total bytes used to store images in +// PROGMEM = 1040) -extern const unsigned char epd_bitmap_ucog []; +extern const unsigned char epd_bitmap_ucog[]; #endif // __IMAGES_H__ - diff --git a/include/ui.h b/include/ui.h index fe7bff6..055b8ed 100644 --- a/include/ui.h +++ b/include/ui.h @@ -2,9 +2,9 @@ #ifndef __UI_H__ #define __UI_H__ -#include -#include "SSD1306Wire.h" #include "OLEDDisplayUi.h" +#include "SSD1306Wire.h" +#include // #include @@ -14,8 +14,8 @@ #define ONE_MILLISEC 1 -// Prints debug information and the scan measurement bins from the SX1262 in hex -// Change spectrum plot values at once or by line +// Prints debug information and the scan measurement bins from the SX1262 in +// hex Change spectrum plot values at once or by line #define ANIMATED_RELOAD false #define MAJOR_TICK_LENGTH 2 diff --git a/src/images.cpp b/src/images.cpp index 99431cd..ab61f38 100644 --- a/src/images.cpp +++ b/src/images.cpp @@ -1,102 +1,89 @@ #include "images.h" //'Logo_UCOG', 128x64px -//https://www.online-utility.org/image/convert/to/XBM -//https://javl.github.io/image2cpp/ +// https://www.online-utility.org/image/convert/to/XBM +// https://javl.github.io/image2cpp/ //#define 1721604660673_width 128 //#define 1721604660673_height 64 -const unsigned char epd_bitmap_ucog[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF8, 0x01, 0x00, 0x00, - 0x00, 0xC0, 0x00, 0x00, 0x10, 0x84, 0xC3, 0x81, 0x03, 0x00, 0x60, 0x00, - 0xCC, 0x07, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x30, 0xE6, 0xF3, 0xE3, - 0x07, 0x00, 0x60, 0x00, 0x0C, 0x3E, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, - 0x30, 0x66, 0x10, 0x36, 0x00, 0x00, 0x60, 0x00, 0x06, 0xF8, 0x00, 0x00, - 0x00, 0x0E, 0x00, 0x00, 0x30, 0x26, 0x18, 0x36, 0x00, 0x00, 0x60, 0x00, - 0x07, 0xE0, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x30, 0x26, 0x18, 0x36, - 0x07, 0x00, 0x60, 0x00, 0x03, 0x00, 0x1F, 0x00, 0xC0, 0x01, 0x00, 0x00, - 0x30, 0x26, 0x18, 0x36, 0x06, 0x00, 0x60, 0x80, 0x01, 0x00, 0x7C, 0x00, - 0xE0, 0x00, 0x00, 0x00, 0x30, 0x66, 0x38, 0x76, 0x06, 0x0C, 0x60, 0xC0, - 0x01, 0x00, 0xF0, 0x01, 0x78, 0x00, 0x00, 0x00, 0xE0, 0xE3, 0xF3, 0xE3, - 0x07, 0x0E, 0x60, 0xC0, 0x03, 0x00, 0x80, 0x0F, 0x1C, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x60, 0xE0, 0x07, 0x00, 0x00, 0x3E, - 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x60, 0x60, - 0x0E, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0x01, 0x60, 0x70, 0x1C, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x60, 0x30, 0x38, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x60, 0x18, - 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x38, 0x00, 0xF0, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xFC, 0x0D, 0xE0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0xFE, 0x0F, - 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x67, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x61, 0x1C, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x60, 0x38, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x38, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xE0, 0xE0, 0x01, 0x00, 0x00, 0x00, - 0xF0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x67, 0xE0, 0x83, - 0x03, 0x00, 0x00, 0xE0, 0xFF, 0xE1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, - 0xD0, 0x63, 0x60, 0x07, 0x07, 0x00, 0xC0, 0xFF, 0x03, 0x80, 0x03, 0x00, - 0x00, 0x08, 0x00, 0x02, 0xF0, 0x61, 0x60, 0x1C, 0x1F, 0x80, 0xFF, 0x07, - 0x00, 0x00, 0x0E, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, - 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x18, 0x00, 0x02, - 0xF0, 0x7F, 0x60, 0xDC, 0x1F, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x1E, 0x00, - 0x00, 0x00, 0x00, 0x02, 0xD0, 0x61, 0x60, 0x07, 0x0F, 0x00, 0xC0, 0xFF, - 0x03, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x67, 0xE0, 0x83, - 0x03, 0x00, 0x00, 0xF0, 0xFF, 0xC1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x7E, 0xE0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x7F, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x60, 0x38, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0xC0, 0x61, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x67, 0x0F, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x0F, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1C, 0x00, 0xFC, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xF0, 0x18, 0xE0, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x60, 0x18, - 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x70, 0x00, 0x60, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x60, 0x70, 0x3C, 0x00, 0x00, 0xE0, - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x60, 0x60, - 0x1E, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x80, 0x07, 0x60, 0xE0, 0x0F, 0x00, 0x00, 0x3E, 0x0F, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x07, 0x03, 0x00, 0x0F, 0x60, 0xC0, 0x03, 0x00, 0x80, 0x0F, - 0x1C, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x07, 0x00, 0x0C, 0x60, 0xC0, - 0x01, 0x00, 0xF0, 0x01, 0x38, 0x00, 0x00, 0x00, 0x00, 0x80, 0x81, 0x05, - 0x00, 0x08, 0x60, 0xC0, 0x01, 0x00, 0x7C, 0x00, 0xE0, 0x00, 0x00, 0x00, - 0x00, 0x80, 0x83, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, 0x1F, 0x00, - 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x0C, 0x00, 0x00, 0x60, 0x00, - 0x07, 0xE0, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x0F, - 0x00, 0x00, 0x60, 0x00, 0x06, 0xF8, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, - 0x00, 0x00, 0xCC, 0x1F, 0x00, 0x00, 0x60, 0x00, 0x0E, 0x3E, 0x00, 0x00, - 0x00, 0x1C, 0x00, 0x00, 0x00, 0x80, 0x67, 0x18, 0x00, 0x00, 0x60, 0x00, - 0xCC, 0x07, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x60, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xFC, 0x01, 0x00, 0x00, - 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, +const unsigned char epd_bitmap_ucog[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, + 0x10, 0x84, 0xC3, 0x81, 0x03, 0x00, 0x60, 0x00, 0xCC, 0x07, 0x00, 0x00, 0x00, 0x70, + 0x00, 0x00, 0x30, 0xE6, 0xF3, 0xE3, 0x07, 0x00, 0x60, 0x00, 0x0C, 0x3E, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x30, 0x66, 0x10, 0x36, 0x00, 0x00, 0x60, 0x00, 0x06, 0xF8, + 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x30, 0x26, 0x18, 0x36, 0x00, 0x00, 0x60, 0x00, + 0x07, 0xE0, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x30, 0x26, 0x18, 0x36, 0x07, 0x00, + 0x60, 0x00, 0x03, 0x00, 0x1F, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x30, 0x26, 0x18, 0x36, + 0x06, 0x00, 0x60, 0x80, 0x01, 0x00, 0x7C, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x30, 0x66, + 0x38, 0x76, 0x06, 0x0C, 0x60, 0xC0, 0x01, 0x00, 0xF0, 0x01, 0x78, 0x00, 0x00, 0x00, + 0xE0, 0xE3, 0xF3, 0xE3, 0x07, 0x0E, 0x60, 0xC0, 0x03, 0x00, 0x80, 0x0F, 0x1C, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x60, 0xE0, 0x07, 0x00, 0x00, 0x3E, + 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x60, 0x60, 0x0E, 0x00, + 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x01, 0x60, 0x70, + 0x1C, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, + 0x60, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x00, 0x60, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x00, 0xF0, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xFC, 0x0D, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0xFE, 0x0F, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x67, 0x0F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x61, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0x60, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7E, 0xE0, 0xE0, 0x01, 0x00, 0x00, 0x00, 0xF0, 0x7F, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x67, 0xE0, 0x83, 0x03, 0x00, 0x00, 0xE0, 0xFF, 0xE1, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0xD0, 0x63, 0x60, 0x07, 0x07, 0x00, 0xC0, 0xFF, + 0x03, 0x80, 0x03, 0x00, 0x00, 0x08, 0x00, 0x02, 0xF0, 0x61, 0x60, 0x1C, 0x1F, 0x80, + 0xFF, 0x07, 0x00, 0x00, 0x0E, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xF8, + 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x18, 0x00, 0x02, 0xF0, 0x7F, + 0x60, 0xDC, 0x1F, 0x80, 0xFF, 0x07, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x02, + 0xD0, 0x61, 0x60, 0x07, 0x0F, 0x00, 0xC0, 0xFF, 0x03, 0x80, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x90, 0x67, 0xE0, 0x83, 0x03, 0x00, 0x00, 0xF0, 0xFF, 0xC1, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xE0, 0xC1, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x7F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x60, 0xF0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x60, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x61, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x67, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xEE, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x00, 0xFC, 0x0D, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xF0, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x60, 0x18, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x60, 0x30, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x60, 0x70, + 0x3C, 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x01, + 0x60, 0x60, 0x1E, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x07, 0x60, 0xE0, 0x0F, 0x00, 0x00, 0x3E, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x03, 0x00, 0x0F, 0x60, 0xC0, 0x03, 0x00, 0x80, 0x0F, 0x1C, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x01, 0x07, 0x00, 0x0C, 0x60, 0xC0, 0x01, 0x00, 0xF0, 0x01, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x81, 0x05, 0x00, 0x08, 0x60, 0xC0, 0x01, 0x00, 0x7C, 0x00, + 0xE0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x83, 0x0C, 0x00, 0x00, 0x60, 0x00, 0x03, 0x00, + 0x1F, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x8E, 0x0C, 0x00, 0x00, 0x60, 0x00, + 0x07, 0xE0, 0x03, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x0F, 0x00, 0x00, + 0x60, 0x00, 0x06, 0xF8, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x1F, + 0x00, 0x00, 0x60, 0x00, 0x0E, 0x3E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x80, + 0x67, 0x18, 0x00, 0x00, 0x60, 0x00, 0xCC, 0x07, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xE0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0xFC, 0x01, 0x00, 0x00, + 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, }; -// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 1040) -// const int epd_bitmap_allArray_LEN = 1; -// const unsigned char* epd_bitmap_allArray[1] = { -// epd_bitmap_ucog +// Array of all bitmaps for convenience. (Total bytes used to store images in +// PROGMEM = 1040) const int epd_bitmap_allArray_LEN = 1; const unsigned char* +// epd_bitmap_allArray[1] = { epd_bitmap_ucog // }; diff --git a/src/main.cpp b/src/main.cpp index 514c0f8..759023f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -21,7 +21,6 @@ https://jgromes.github.io/RadioLib/ */ - #include #include // This file contains a binary patch for the SX1262 @@ -62,8 +61,8 @@ uint64_t RANGE_PER_PAGE = FREQ_END - FREQ_BEGIN; // FREQ_END - FREQ_BEGIN #define LOW_FILTER 3 #define FILTER_SPECTRUM_RESULTS true -// Number of samples for each frequency scan. Fewer samples = better temporal resolution. -// if more than 100 it can freez +// Number of samples for each frequency scan. Fewer samples = better temporal +// resolution. if more than 100 it can freez #define SAMPLES 100 //(scan time = 1294) // number of samples for RSSI method #define SAMPLES_RSSI RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT // 21 // @@ -72,7 +71,6 @@ uint64_t RANGE_PER_PAGE = FREQ_END - FREQ_BEGIN; // FREQ_END - FREQ_BEGIN #define SINGLE_STEP (float)(RANGE / STEPS) - uint64_t range = (int)(FREQ_END - FREQ_BEGIN); uint64_t fr_begin = FREQ_BEGIN; uint64_t fr_end = FREQ_BEGIN; @@ -105,7 +103,6 @@ uint64_t detection_count = 0; bool single_page_scan = false; bool SOUND_ON = true; - #define PRINT_PROFILE_TIME #ifdef PRINT_PROFILE_TIME @@ -173,11 +170,10 @@ void setup(void) RADIOLIB_OR_HALT(radio.setDataShaping(RADIOLIB_SHAPING_NONE)); both.println("Starting scanning..."); vbat = heltec_vbat(); - both.printf("V battery: %.2fV (%d%%)\n", vbat, - heltec_battery_percent(vbat)); + both.printf("V battery: %.2fV (%d%%)\n", vbat, heltec_battery_percent(vbat)); delay(300); display.clear(); - + resolution = RANGE / STEPS; single_page_scan = (RANGE_PER_PAGE == range); @@ -195,7 +191,8 @@ void setup(void) both.println("Single Page Screen MODE"); both.println("Multi Screen View Press P - button"); both.println("Single Screen Resolution: " + String(resolution) + "Mhz/tick"); - both.println("Curent Resolution: " + String((float)RANGE_PER_PAGE / STEPS) + "Mhz/tick"); + both.println("Curent Resolution: " + String((float)RANGE_PER_PAGE / STEPS) + + "Mhz/tick"); for (int i = 0; i < 500; i++) { button.update(); @@ -217,7 +214,8 @@ void setup(void) both.println("Multi Page Screen MODE"); both.println("Single screen View Press P - button"); both.println("Single screen Resolution: " + String(resolution) + "Mhz/tick"); - both.println("Curent Resolution: " + String((float)RANGE_PER_PAGE / STEPS) + "Mhz/tick"); + both.println("Curent Resolution: " + String((float)RANGE_PER_PAGE / STEPS) + + "Mhz/tick"); for (int i = 0; i < 500; i++) { button.update(); @@ -235,9 +233,8 @@ void setup(void) display.clear(); Serial.println(); - // calibrate only once ,,, at startup - radio.setFrequency(FREQ_BEGIN,true); - + // calibrate only once ,,, at startup + radio.setFrequency(FREQ_BEGIN, true); // waterfall start line y-axis w = WATERFALL_START; @@ -250,7 +247,7 @@ void loop(void) drone_detected_frequency_start = 0; ranges_count = 0; - //reset scan time + // reset scan time scan_time = 0; // general purpose loop conter @@ -259,7 +256,7 @@ void loop(void) #ifdef PRINT_PROFILE_TIME loop_start = millis(); #endif - + if (!ANIMATED_RELOAD || !single_page_scan) { // clear the scan plot rectangle @@ -272,7 +269,7 @@ void loop(void) { RANGE_PER_PAGE = range; } - + fr_begin = FREQ_BEGIN; fr_end = fr_begin; @@ -323,18 +320,18 @@ void loop(void) fr_end = SCAN_RANGES[range_item] % 1000; range = fr_end - fr_begin; } - + if (!ANIMATED_RELOAD || !single_page_scan) { // clear the scan plot rectangle UI_clearPlotter(); } - + if (single_page_scan == false) { UI_displayDecorate(fr_begin, fr_end, true); } - + drone_detected_frequency_start = 0; display.setTextAlignment(TEXT_ALIGN_RIGHT); @@ -342,7 +339,7 @@ void loop(void) for (x = 0; x < STEPS; x++) { #if ANIMATED_RELOAD - UI_drawCursor(x); + UI_drawCursor(x); #endif #ifdef PRINT_PROFILE_TIME @@ -352,7 +349,8 @@ void loop(void) waterfall[range_item][x][w] = false; freq = fr_begin + (range * ((float)x / STEPS)); - radio.setFrequency(freq,false); // false = no calibration need here + radio.setFrequency(freq, + false); // false = no calibration need here #ifdef PRINT_DEBUG // Serial.printf("Step:%d Freq: %f\n",x,freq); @@ -383,8 +381,8 @@ void loop(void) Serial.println(state); } - // memset - memset(result,0,RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE); + // memset + memset(result, 0, RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE); result_index = 0u; // N of samples for (int r = 0; r < SAMPLES_RSSI; r++) @@ -392,7 +390,7 @@ void loop(void) rssi = radio.getRSSI(false); // delay(ONE_MILLISEC); // ToDO: check if 4 is correct value for 33 power bins - result_index = uint8_t(abs(rssi) / 4); /// still not clear formula + result_index = uint8_t(abs(rssi) / 4); /// still not clear formula #ifdef PRINT_DEBUG // Serial.printf("RSSI: %d IDX: %d\n",rssi,result_index); @@ -400,7 +398,8 @@ void loop(void) // avoid buffer overflow if (result_index < RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE) { - // Saving max value only rss is negative so smaller is bigger + // Saving max value only rss is negative so smaller is + // bigger if (result[result_index] > rssi) { result[result_index] = rssi; @@ -412,13 +411,11 @@ void loop(void) Serial.print("Out-of-Range: result_index %d\n"); } #endif - } } -#endif // SCAN_METHOD == METHOD_RSSI - - detected = false; +#endif // SCAN_METHOD == METHOD_RSSI + detected = false; for (y = 0; y < RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE; y++) { @@ -433,13 +430,16 @@ void loop(void) // if RSSI method actual value is -xxx dB if (result[y]) { - // do not process 'first' and 'last' row to avoid out of index access - if ((y!=0) && (y != (RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE - 1))) + // do not process 'first' and 'last' row to avoid out of + // index access + if ((y != 0) && (y != (RADIOLIB_SX126X_SPECTRAL_SCAN_RES_SIZE - 1))) { if ((result[y + 1] != 0) || (result[y - 1] != 0)) { - // Filling the empty pixel between signals int the level < 27 (noise level) - /* if (y < 27 && result[y + 1] == 0 && result[y + 2] > 0) + // Filling the empty pixel between signals int the + // level < 27 (noise level) + /* if (y < 27 && result[y + 1] == 0 && result[y + + 2] > 0) { result[y + 1] = 1; filtered_result[y + 1] = 1; @@ -450,18 +450,17 @@ void loop(void) } #endif - // if (result[y] || y == drone_detection_level) { // check if we should alarm about a drone presence - if ((filtered_result[y] == 1) // we have some data and - && (y <= drone_detection_level)) // detection threshold match + if ((filtered_result[y] == 1) // we have some data and + && (y <= drone_detection_level)) // detection threshold match { - + // Set LED to ON (filtered in UI component) UI_setLedFlag(true); -#if ( WATERFALL_ENABLED == true ) +#if (WATERFALL_ENABLED == true) if (single_page_scan) { // Drone detection true for waterfall @@ -472,14 +471,14 @@ void loop(void) #endif if (drone_detected_frequency_start == 0) { - // mark freq start + // mark freq start drone_detected_frequency_start = freq; } - // mark freq end ... will shift right to last detected range + // mark freq end ... will shift right to last detected + // range drone_detected_frequency_end = freq; - // If level is set to sensitive, // start beeping every 10th frequency and shorter if (drone_detection_level <= 25) @@ -491,7 +490,7 @@ void loop(void) if (detection_count % 5 == 0 && SOUND_ON) { tone(BUZZER_PIN, 205, 10); // same action ??? - } + } } else { @@ -501,22 +500,20 @@ void loop(void) } } - - // debug draw + // debug draw // display.setPixel(x, 1); // display.setPixel(x, 2); // display.setPixel(x, 3); // display.setPixel(x, 4); - // draw vertical line on top of display for "drone detected" frequencies - display.drawLine(x , 1, x, 6 ); + // draw vertical line on top of display for "drone + // detected" frequencies + display.drawLine(x, 1, x, 6); } -#if ( WATERFALL_ENABLED == true ) - if ((filtered_result[y] == 1) - && ( y > drone_detection_level) - && ( single_page_scan ) - && ( waterfall[range_item][x][w] != true) ) +#if (WATERFALL_ENABLED == true) + if ((filtered_result[y] == 1) && (y > drone_detection_level) && + (single_page_scan) && (waterfall[range_item][x][w] != true)) { // If drone not found set dark pixel on the waterfall // TODO: make something like scrolling up if possible @@ -531,7 +528,6 @@ void loop(void) #endif // If 0 - // next 2 If's ... adds !!!! 10ms of runtime ......tfk ??? if (filtered_result[y] == 1) { @@ -543,21 +539,20 @@ void loop(void) // ------------------------------------------------------------- // Draw "Detection Level line" every 2 pixel // ------------------------------------------------------------- - if ( ( y == drone_detection_level) && (x % 2 == 0)) - { + if ((y == drone_detection_level) && (x % 2 == 0)) + { display.setColor(INVERSE); display.setPixel(x, y); - display.setPixel(x, y+1); // 2 px wide + display.setPixel(x, y + 1); // 2 px wide display.setColor(WHITE); } } - } - + #ifdef PRINT_PROFILE_TIME scan_time += (millis() - scan_start_time); -#endif - // count detected +#endif + // count detected if (detected) { detection_count++; @@ -606,7 +601,8 @@ void loop(void) { // Visually confirm it's off so user releases button display.displayOff(); - // Deep sleep (has wait for release so we don't wake up immediately) + // Deep sleep (has wait for release so we don't wake up + // immediately) heltec_deep_sleep(); break; } @@ -637,7 +633,7 @@ void loop(void) { w = WATERFALL_START; } -#if ( WATERFALL_ENABLED == true ) +#if (WATERFALL_ENABLED == true) // Draw waterfall position cursor if (single_page_scan) { @@ -648,20 +644,18 @@ void loop(void) #endif // Render display data here - display.display(); + display.display(); } #ifdef PRINT_DEBUG - //Serial.println("----"); + // Serial.println("----"); #endif loop_time = millis() - loop_start; - #ifdef PRINT_PROFILE_TIME #ifdef PRINT_DEBUG - Serial.printf("LOOP: %lld ms; SCAN: %lld ms;\n ", loop_time,scan_time); + Serial.printf("LOOP: %lld ms; SCAN: %lld ms;\n ", loop_time, scan_time); #endif #endif - } diff --git a/src/ui.cpp b/src/ui.cpp index f4f8ef2..ada8a0b 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -1,7 +1,7 @@ #include "ui.h" -#include "images.h" -#include "global_config.h" #include "RadioLib.h" +#include "global_config.h" +#include "images.h" // ------------------------------------------------- // LOCAL DEFINES @@ -37,7 +37,6 @@ extern unsigned int range_item; extern uint64_t loop_time; - void UI_Init(SSD1306Wire *display_ptr) { // init pointer to display instance. @@ -49,10 +48,7 @@ void UI_Init(SSD1306Wire *display_ptr) display_instance->display(); } -void UI_setLedFlag(bool new_status) -{ - led_flag = new_status; -} +void UI_setLedFlag(bool new_status) { led_flag = new_status; } void clearStatus(void) { @@ -103,7 +99,8 @@ void drawTicks(float every, int length) tick_minor = 0; median = (RANGE_PER_PAGE / every) / 2; // TODO: (RANGE_PER_PAGE / every) - // * 2 has twice extra steps we need to figureout correct logic or minor ticks is not showing to the end + // * 2 has twice extra steps we need to figureout correct logic or minor + // ticks is not showing to the end for (int t = 0; t <= (RANGE_PER_PAGE / every) * 2; t++) { // fix if pixels per step is not int and we have shift @@ -121,22 +118,24 @@ void drawTicks(float every, int length) // Central tick if (tick > (128 / 2) - 3 && tick < (128 / 2) + 3) { - display_instance->drawLine(tick + 1, HEIGHT + X_AXIS_WEIGHT, - tick + 1, HEIGHT + X_AXIS_WEIGHT + length); + display_instance->drawLine(tick + 1, HEIGHT + X_AXIS_WEIGHT, tick + 1, + HEIGHT + X_AXIS_WEIGHT + length); } } #ifdef MINOR_TICKS // Fix two ticks together - if ((tick_minor + 1 != tick) && (tick_minor - 1 != tick) && (tick_minor + 2 != tick) && (tick_minor - 2 != tick)) + if ((tick_minor + 1 != tick) && (tick_minor - 1 != tick) && + (tick_minor + 2 != tick) && (tick_minor - 2 != tick)) { - display_instance->drawLine(tick_minor, HEIGHT + X_AXIS_WEIGHT, - tick_minor, HEIGHT + X_AXIS_WEIGHT + MINOR_TICK_LENGTH); + display_instance->drawLine(tick_minor, HEIGHT + X_AXIS_WEIGHT, tick_minor, + HEIGHT + X_AXIS_WEIGHT + MINOR_TICK_LENGTH); } // Central tick if (tick_minor > (128 / 2) - 3 && tick_minor < (128 / 2) + 3) { display_instance->drawLine(tick_minor + 1, HEIGHT + X_AXIS_WEIGHT, - tick_minor + 1, HEIGHT + X_AXIS_WEIGHT + MINOR_TICK_LENGTH); + tick_minor + 1, + HEIGHT + X_AXIS_WEIGHT + MINOR_TICK_LENGTH); } #endif } @@ -159,10 +158,8 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) if (!ui_initialized) { // Start and end ticks - display_instance->fillRect(0, HEIGHT + X_AXIS_WEIGHT, 2, - MAJOR_TICK_LENGTH + 1); - display_instance->fillRect(126, HEIGHT + X_AXIS_WEIGHT, 2, - MAJOR_TICK_LENGTH + 1); + display_instance->fillRect(0, HEIGHT + X_AXIS_WEIGHT, 2, MAJOR_TICK_LENGTH + 1); + display_instance->fillRect(126, HEIGHT + X_AXIS_WEIGHT, 2, MAJOR_TICK_LENGTH + 1); // Drone detection level display_instance->setTextAlignment(TEXT_ALIGN_RIGHT); display_instance->drawString(128, 0, String(drone_detection_level)); @@ -179,13 +176,14 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) display_instance->drawString(128, 0, String(drone_detection_level)); // Frequency start display_instance->setTextAlignment(TEXT_ALIGN_LEFT); - display_instance->drawString(0, ROW_STATUS_TEXT, + display_instance->drawString(0, ROW_STATUS_TEXT, (begin == 0) ? String(FREQ_BEGIN) : String(begin)); - // Frequency detected + // Frequency detected display_instance->setTextAlignment(TEXT_ALIGN_CENTER); display_instance->drawString(128 / 2, ROW_STATUS_TEXT, - (begin == 0) ? String(median_frequency) : String(begin + ((end - begin) / 2))); + (begin == 0) ? String(median_frequency) + : String(begin + ((end - begin) / 2))); // Frequency end display_instance->setTextAlignment(TEXT_ALIGN_RIGHT); display_instance->drawString(128, ROW_STATUS_TEXT, @@ -193,14 +191,16 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) } // Status text block - if (led_flag) // 'drone' detected + if (led_flag) // 'drone' detected { display_instance->setTextAlignment(TEXT_ALIGN_CENTER); // clear status line clearStatus(); display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, - String(drone_detected_frequency_start) + ">RF<" + String(drone_detected_frequency_end)); - } else + String(drone_detected_frequency_start) + ">RF<" + + String(drone_detected_frequency_end)); + } + else { // "Scanning" display_instance->setTextAlignment(TEXT_ALIGN_CENTER); @@ -208,23 +208,19 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) clearStatus(); if (scan_progress_count == 0) { - display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, - "Scan \\"); + display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, "Scan \\"); } else if (scan_progress_count == 1) { - display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, - "Scan |"); + display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, "Scan |"); } else if (scan_progress_count == 2) { - display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, - "Scan /"); + display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, "Scan /"); } else if (scan_progress_count == 3) { - display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, - "Scan -"); + display_instance->drawString(start_scan_text, ROW_STATUS_TEXT, "Scan -"); } scan_progress_count++; if (scan_progress_count >= 4) @@ -233,7 +229,6 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) } } - if (led_flag == true && detection_count >= 5) { digitalWrite(LED, HIGH); @@ -249,31 +244,32 @@ void UI_displayDecorate(int begin = 0, int end = 0, bool redraw = false) digitalWrite(LED, LOW); } - if (ranges_count == 0) { #ifdef DEBUG display_instance->setTextAlignment(TEXT_ALIGN_LEFT); - display_instance->drawString(0, ROW_STATUS_TEXT,String(loop_time)); + display_instance->drawString(0, ROW_STATUS_TEXT, String(loop_time)); #else display_instance->setTextAlignment(TEXT_ALIGN_LEFT); display_instance->drawString(0, ROW_STATUS_TEXT, String(FREQ_BEGIN)); - + #endif display_instance->setTextAlignment(TEXT_ALIGN_RIGHT); display_instance->drawString(128, ROW_STATUS_TEXT, String(FREQ_END)); - } else if (ranges_count > 0) { display_instance->setTextAlignment(TEXT_ALIGN_LEFT); display_instance->drawString(0, ROW_STATUS_TEXT, - String(SCAN_RANGES[range_item] / 1000) + "-" + String(SCAN_RANGES[range_item] % 1000)); + String(SCAN_RANGES[range_item] / 1000) + "-" + + String(SCAN_RANGES[range_item] % 1000)); if (range_item + 1 < iterations) { display_instance->setTextAlignment(TEXT_ALIGN_RIGHT); display_instance->drawString(128, ROW_STATUS_TEXT, - String(SCAN_RANGES[range_item + 1] / 1000) + "-" + String(SCAN_RANGES[range_item + 1] % 1000)); + String(SCAN_RANGES[range_item + 1] / 1000) + + "-" + + String(SCAN_RANGES[range_item + 1] % 1000)); } } if (ui_initialized == false)