Add feature screenshot
This commit is contained in:
4
Makefile
4
Makefile
@@ -42,6 +42,7 @@ ENABLE_BLMIN_TMP_OFF ?= 0
|
|||||||
ENABLE_SCAN_RANGES ?= 1
|
ENABLE_SCAN_RANGES ?= 1
|
||||||
ENABLE_FEAT_F4HWN ?= 1
|
ENABLE_FEAT_F4HWN ?= 1
|
||||||
ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0
|
ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0
|
||||||
|
ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0
|
||||||
|
|
||||||
# ---- DEBUGGING ----
|
# ---- DEBUGGING ----
|
||||||
ENABLE_AM_FIX_SHOW_DATA ?= 0
|
ENABLE_AM_FIX_SHOW_DATA ?= 0
|
||||||
@@ -403,6 +404,9 @@ endif
|
|||||||
ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1)
|
ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1)
|
||||||
CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR
|
CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1)
|
||||||
|
CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
|
endif
|
||||||
|
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections
|
LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections
|
||||||
|
@@ -43,6 +43,10 @@
|
|||||||
#include "ui/inputbox.h"
|
#include "ui/inputbox.h"
|
||||||
#include "ui/ui.h"
|
#include "ui/ui.h"
|
||||||
|
|
||||||
|
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
|
#include "screenshot.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(ENABLE_FMRADIO)
|
#if defined(ENABLE_FMRADIO)
|
||||||
static void ACTION_Scan_FM(bool bRestart);
|
static void ACTION_Scan_FM(bool bRestart);
|
||||||
#endif
|
#endif
|
||||||
@@ -314,6 +318,11 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
|||||||
{
|
{
|
||||||
funcShort = funcLong;
|
funcShort = funcLong;
|
||||||
|
|
||||||
|
// For screenshot
|
||||||
|
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
|
getScreenShot();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!bKeyPressed) //ignore release if held
|
if (!bKeyPressed) //ignore release if held
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@@ -27,6 +27,10 @@
|
|||||||
#include "ui/helper.h"
|
#include "ui/helper.h"
|
||||||
#include "ui/main.h"
|
#include "ui/main.h"
|
||||||
|
|
||||||
|
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
|
#include "screenshot.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
struct FrequencyBandInfo {
|
struct FrequencyBandInfo {
|
||||||
uint32_t lower;
|
uint32_t lower;
|
||||||
uint32_t upper;
|
uint32_t upper;
|
||||||
@@ -572,6 +576,10 @@ static void ToggleBacklight() {
|
|||||||
} else {
|
} else {
|
||||||
BACKLIGHT_TurnOff();
|
BACKLIGHT_TurnOff();
|
||||||
}
|
}
|
||||||
|
// For screenshot
|
||||||
|
#ifdef ENABLE_FEAT_F4HWN_SCREENSHOT
|
||||||
|
getScreenShot();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ToggleStepsCount() {
|
static void ToggleStepsCount() {
|
||||||
|
51
screenshot.h
Normal file
51
screenshot.h
Normal 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");
|
||||||
|
}
|
Reference in New Issue
Block a user