Add feature screenshot

This commit is contained in:
Armel FAUVEAU
2024-05-10 01:35:35 +02:00
parent f2287a83f8
commit 8ca71c1372
4 changed files with 72 additions and 0 deletions

View File

@@ -42,6 +42,7 @@ ENABLE_BLMIN_TMP_OFF ?= 0
ENABLE_SCAN_RANGES ?= 1
ENABLE_FEAT_F4HWN ?= 1
ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0
ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0
# ---- DEBUGGING ----
ENABLE_AM_FIX_SHOW_DATA ?= 0
@@ -403,6 +404,9 @@ endif
ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1)
CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR
endif
ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1)
CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT
endif
LDFLAGS =
LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections

View File

@@ -43,6 +43,10 @@
#include "ui/inputbox.h"
#include "ui/ui.h"
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
#include "screenshot.h"
#endif
#if defined(ENABLE_FMRADIO)
static void ACTION_Scan_FM(bool bRestart);
#endif
@@ -314,6 +318,11 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
{
funcShort = funcLong;
// For screenshot
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
getScreenShot();
#endif
if (!bKeyPressed) //ignore release if held
return;
}

View File

@@ -27,6 +27,10 @@
#include "ui/helper.h"
#include "ui/main.h"
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
#include "screenshot.h"
#endif
struct FrequencyBandInfo {
uint32_t lower;
uint32_t upper;
@@ -572,6 +576,10 @@ static void ToggleBacklight() {
} else {
BACKLIGHT_TurnOff();
}
// For screenshot
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
getScreenShot();
#endif
}
static void ToggleStepsCount() {

51
screenshot.h Normal file
View File

@@ -0,0 +1,51 @@
/* Copyright 2024 Armel F4HWN
* https://github.com/armel
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "debugging.h"
#include "driver/st7565.h"
static inline void getScreenShot(void)
{
char str[2] = "";
LogUart("P1\n");
LogUart("128 64\n");
for(uint8_t b = 0; b < 8; b++)
{
for(uint8_t i = 0; i < 128; i++)
{
sprintf(str, "%d ", ((gStatusLine[i] >> b) & 0x01));
LogUart(str);
}
LogUart("\n");
}
for(uint8_t l = 0; l < 7; l++)
{
for(uint8_t b = 0; b < 8; b++)
{
for(uint8_t i = 0; i < 128; i++)
{
sprintf(str, "%d ", ((gFrameBuffer[l][i] >> b) & 0x01));
LogUart(str);
}
}
LogUart("\n");
}
LogUart("\n----------------\n");
}