Skip to content

Commit 628c055

Browse files
committed
Merge remote-tracking branch 'origin/dev' into release-candidate
2 parents a8f8749 + 022fccf commit 628c055

File tree

105 files changed

+1504
-464
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+1504
-464
lines changed

.github/workflows/docs.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: 'Generate documentation with Doxygen'
2+
3+
on:
4+
push:
5+
branches:
6+
- dev
7+
8+
env:
9+
TARGETS: f7
10+
DEFAULT_TARGET: f7
11+
12+
jobs:
13+
doxygen:
14+
if: ${{ !github.event.pull_request.head.repo.fork }}
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: 'Wipe workspace'
18+
run: find ./ -mount -maxdepth 1 -exec rm -rf {} \;
19+
20+
- name: 'Checkout code'
21+
uses: actions/checkout@v4
22+
with:
23+
submodules: true
24+
fetch-depth: 1
25+
ref: ${{ github.event.pull_request.head.sha }}
26+
27+
- name: 'Get commit details'
28+
id: names
29+
run: |
30+
if [[ ${{ github.event_name }} == 'pull_request' ]]; then
31+
TYPE="pull"
32+
elif [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
33+
TYPE="tag"
34+
else
35+
TYPE="other"
36+
fi
37+
python3 scripts/get_env.py "--event_file=${{ github.event_path }}" "--type=$TYPE"
38+
39+
- name: 'Generate documentation'
40+
uses: mattnotmitt/[email protected]
41+
with:
42+
working-directory: 'documentation/'
43+
doxyfile-path: './doxygen/Doxyfile-awesome.cfg'
44+
45+
- name: 'Upload documentation'
46+
uses: jakejarvis/[email protected]
47+
env:
48+
AWS_S3_BUCKET: "${{ secrets.FW_DOCS_AWS_BUCKET }}"
49+
AWS_ACCESS_KEY_ID: "${{ secrets.FW_DOCS_AWS_ACCESS_KEY }}"
50+
AWS_SECRET_ACCESS_KEY: "${{ secrets.FW_DOCS_AWS_SECRET_KEY }}"
51+
AWS_REGION: "${{ secrets.FW_DOCS_AWS_REGION }}"
52+
SOURCE_DIR: "./documentation/doxygen/build/html"
53+
DEST_DIR: "${{steps.names.outputs.branch_name}}"
54+
with:
55+
args: "--delete"
56+

.gitmodules

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,7 @@
3737
url = https://github.com/STMicroelectronics/stm32wbxx_hal_driver
3838
[submodule "lib/stm32wb_copro"]
3939
path = lib/stm32wb_copro
40-
url = https://github.com/flipperdevices/stm32wb_copro.git
40+
url = https://github.com/flipperdevices/stm32wb_copro.git
41+
[submodule "documentation/doxygen/doxygen-awesome-css"]
42+
path = documentation/doxygen/doxygen-awesome-css
43+
url = https://github.com/jothepro/doxygen-awesome-css.git

.vscode/ReadMe.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Visual Studio Code workspace for Flipper Zero
1+
# Visual Studio Code workspace for Flipper Zero {#vscode}
22

33
## Setup
44

ReadMe.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111
- [Flipper Zero Official Website](https://flipperzero.one). A simple way to explain to your friends what Flipper Zero can do.
1212
- [Flipper Zero Firmware Update](https://update.flipperzero.one). Improvements for your dolphin: latest firmware releases, upgrade tools for PC and mobile devices.
1313
- [User Documentation](https://docs.flipperzero.one). Learn more about your dolphin: specs, usage guides, and anything you want to ask.
14+
- [Developer Documentation](https://developer.flipper.net/flipperzero/doxygen). Dive into the Flipper Zero Firmware source code: build system, firmware structure, and more.
1415

1516
# Contributing
1617

1718
Our main goal is to build a healthy and sustainable community around Flipper, so we're open to any new ideas and contributions. We also have some rules and taboos here, so please read this page and our [Code of Conduct](/CODE_OF_CONDUCT.md) carefully.
1819

1920
## I need help
2021

21-
The best place to search for answers is our [User Documentation](https://docs.flipperzero.one). If you can't find the answer there, check our [Discord Server](https://flipp.dev/discord) or our [Forum](https://forum.flipperzero.one/).
22+
The best place to search for answers is our [User Documentation](https://docs.flipperzero.one). If you can't find the answer there, check our [Discord Server](https://flipp.dev/discord) or our [Forum](https://forum.flipperzero.one/). If you want to contribute to the firmware development, or modify it for your own needs, you can also check our [Developer Documentation](https://developer.flipper.net/flipperzero/doxygen).
2223

2324
## I want to report an issue
2425

@@ -95,7 +96,8 @@ Make sure your Flipper is on, and your firmware is functioning. Connect your Fli
9596
- [Hardware combos and Un-bricking](/documentation/KeyCombo.md) - recovering your Flipper from the most nasty situations
9697
- [Flipper File Formats](/documentation/file_formats) - everything about how Flipper stores your data and how you can work with it
9798
- [Universal Remotes](/documentation/UniversalRemotes.md) - contributing your infrared remote to the universal remote database
98-
- And much more in the [documentation](/documentation) folder
99+
- [Firmware Roadmap](/documentation/RoadMap.md)
100+
- And much more in the [Developer Documentation](https://developer.flipper.net/flipperzero/doxygen)
99101

100102
# Project structure
101103

applications/debug/unit_tests/datetimelib/datetimelib_test.c

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ MU_TEST_SUITE(test_datetime_validate_datetime) {
112112

113113
MU_TEST(test_datetime_timestamp_to_datetime_min) {
114114
uint32_t test_value = 0;
115-
DateTime min_datetime_expected = {0, 0, 0, 1, 1, 1970, 0};
115+
DateTime min_datetime_expected = {0, 0, 0, 1, 1, 1970, 4};
116116

117117
DateTime result = {0};
118118
datetime_timestamp_to_datetime(test_value, &result);
@@ -122,7 +122,7 @@ MU_TEST(test_datetime_timestamp_to_datetime_min) {
122122

123123
MU_TEST(test_datetime_timestamp_to_datetime_max) {
124124
uint32_t test_value = UINT32_MAX;
125-
DateTime max_datetime_expected = {6, 28, 15, 7, 2, 2106, 0};
125+
DateTime max_datetime_expected = {6, 28, 15, 7, 2, 2106, 7};
126126

127127
DateTime result = {0};
128128
datetime_timestamp_to_datetime(test_value, &result);
@@ -141,10 +141,26 @@ MU_TEST(test_datetime_timestamp_to_datetime_to_timestamp) {
141141
mu_assert_int_eq(test_value, result);
142142
}
143143

144+
MU_TEST(test_datetime_timestamp_to_datetime_weekday) {
145+
uint32_t test_value = 1709748421; // Wed Mar 06 18:07:01 2024 UTC
146+
147+
DateTime datetime = {0};
148+
datetime_timestamp_to_datetime(test_value, &datetime);
149+
150+
mu_assert_int_eq(datetime.hour, 18);
151+
mu_assert_int_eq(datetime.minute, 7);
152+
mu_assert_int_eq(datetime.second, 1);
153+
mu_assert_int_eq(datetime.day, 6);
154+
mu_assert_int_eq(datetime.month, 3);
155+
mu_assert_int_eq(datetime.weekday, 3);
156+
mu_assert_int_eq(datetime.year, 2024);
157+
}
158+
144159
MU_TEST_SUITE(test_datetime_timestamp_to_datetime_suite) {
145160
MU_RUN_TEST(test_datetime_timestamp_to_datetime_min);
146161
MU_RUN_TEST(test_datetime_timestamp_to_datetime_max);
147162
MU_RUN_TEST(test_datetime_timestamp_to_datetime_to_timestamp);
163+
MU_RUN_TEST(test_datetime_timestamp_to_datetime_weekday);
148164
}
149165

150166
MU_TEST(test_datetime_datetime_to_timestamp_min) {

applications/drivers/subghz/cc1101_ext/cc1101_ext.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
2-
* @file furi_hal_subghz.h
3-
* SubGhz HAL API
2+
* @file cc1101_ext.h
3+
* @brief External CC1101 transceiver access API.
44
*/
55

66
#pragma once

applications/examples/example_apps_assets/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# Apps Assets folder Example
1+
# Apps Assets folder Example {#example_app_assets}
22

33
This example shows how to use the Apps Assets folder to store data that is not part of the application itself, but is required for its operation, and that data is provided with the application.
44

5+
## Source code
6+
7+
Source code for this example can be found [here](https://github.com/flipperdevices/flipperzero-firmware/tree/dev/applications/examples/example_apps_assets).
8+
59
## What is the Apps Assets Folder?
610

711
The **Apps Assets** folder is a folder where external applications unpack their assets.

applications/examples/example_apps_assets/example_apps_assets.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/**
2+
* @file example_apps_assets.c
3+
* @brief Application assets example.
4+
*/
15
#include <furi.h>
26
#include <storage/storage.h>
37
#include <toolbox/stream/stream.h>

applications/examples/example_apps_data/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# Apps Data folder Example
1+
# Apps Data folder Example {#example_app_data}
22

33
This example demonstrates how to utilize the Apps Data folder to store data that is not part of the app itself, such as user data, configuration files, and so forth.
44

5+
## Source code
6+
7+
Source code for this example can be found [here](https://github.com/flipperdevices/flipperzero-firmware/tree/dev/applications/examples/example_apps_data).
8+
59
## What is the Apps Data Folder?
610

711
The **Apps Data** folder is a folder used to store data for external apps that are not part of the main firmware.

applications/examples/example_apps_data/example_apps_data.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/**
2+
* @file example_apps_data.c
3+
* @brief Application data example.
4+
*/
15
#include <furi.h>
26
#include <storage/storage.h>
37

0 commit comments

Comments
 (0)