Skip to content

Commit 9f67e6f

Browse files
committed
Merge branch 'develop' into recovery-firmware
# Conflicts: # src/CMakeLists.txt # src/displayapp/DisplayApp.h # src/systemtask/SystemTask.cpp # src/systemtask/SystemTask.h
2 parents 740b3d7 + ada9425 commit 9f67e6f

559 files changed

Lines changed: 33682 additions & 100361 deletions

File tree

Some content is hidden

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

.clang-format

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
---
2+
Language: Cpp
3+
AccessModifierOffset: -2
4+
AlignAfterOpenBracket: Align
5+
AlignConsecutiveMacros: true
6+
AlignConsecutiveAssignments: false
7+
AlignConsecutiveDeclarations: false
8+
AlignEscapedNewlines: Right
9+
AlignOperands: Align
10+
AlignTrailingComments: true
11+
AllowAllArgumentsOnNextLine: true
12+
AllowAllConstructorInitializersOnNextLine: true
13+
AllowAllParametersOfDeclarationOnNextLine: true
14+
AllowShortBlocksOnASingleLine: Never
15+
AllowShortCaseLabelsOnASingleLine: false
16+
AllowShortFunctionsOnASingleLine: None
17+
AllowShortLambdasOnASingleLine: None
18+
AllowShortIfStatementsOnASingleLine: Never
19+
AllowShortLoopsOnASingleLine: false
20+
AlwaysBreakAfterDefinitionReturnType: None
21+
AlwaysBreakAfterReturnType: None
22+
AlwaysBreakBeforeMultilineStrings: false
23+
AlwaysBreakTemplateDeclarations: MultiLine
24+
BinPackArguments: true
25+
BinPackParameters: true
26+
BraceWrapping:
27+
AfterCaseLabel: false
28+
AfterClass: false
29+
AfterControlStatement: false
30+
AfterEnum: false
31+
AfterFunction: false
32+
AfterNamespace: false
33+
AfterObjCDeclaration: false
34+
AfterStruct: false
35+
AfterUnion: false
36+
AfterExternBlock: false
37+
BeforeCatch: false
38+
BeforeElse: false
39+
IndentBraces: true
40+
SplitEmptyFunction: true
41+
SplitEmptyRecord: true
42+
SplitEmptyNamespace: true
43+
BreakBeforeBinaryOperators: None
44+
BreakBeforeBraces: Attach
45+
BreakBeforeInheritanceComma: false
46+
BreakInheritanceList: BeforeColon
47+
BreakBeforeTernaryOperators: true
48+
BreakConstructorInitializersBeforeComma: false
49+
BreakConstructorInitializers: BeforeColon
50+
BreakAfterJavaFieldAnnotations: false
51+
BreakStringLiterals: true
52+
ColumnLimit: 140
53+
CommentPragmas: '^ IWYU pragma:'
54+
CompactNamespaces: false
55+
ConstructorInitializerAllOnOneLineOrOnePerLine: false
56+
ConstructorInitializerIndentWidth: 2
57+
ContinuationIndentWidth: 2
58+
Cpp11BracedListStyle: true
59+
DeriveLineEnding: false
60+
DerivePointerAlignment: false
61+
DisableFormat: false
62+
ExperimentalAutoDetectBinPacking: false
63+
FixNamespaceComments: false
64+
ForEachMacros:
65+
- foreach
66+
- Q_FOREACH
67+
- BOOST_FOREACH
68+
IncludeBlocks: Preserve
69+
IncludeCategories:
70+
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
71+
Priority: 2
72+
SortPriority: 0
73+
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
74+
Priority: 3
75+
SortPriority: 0
76+
- Regex: '.*'
77+
Priority: 1
78+
SortPriority: 0
79+
IncludeIsMainRegex: '(Test)?$'
80+
IncludeIsMainSourceRegex: ''
81+
IndentCaseLabels: true
82+
IndentGotoLabels: true
83+
IndentPPDirectives: BeforeHash
84+
IndentWidth: 2
85+
IndentWrappedFunctionNames: false
86+
JavaScriptQuotes: Leave
87+
JavaScriptWrapImports: true
88+
KeepEmptyLinesAtTheStartOfBlocks: true
89+
MacroBlockBegin: ''
90+
MacroBlockEnd: ''
91+
MaxEmptyLinesToKeep: 1
92+
NamespaceIndentation: All
93+
ObjCBinPackProtocolList: Auto
94+
ObjCBlockIndentWidth: 2
95+
ObjCSpaceAfterProperty: false
96+
ObjCSpaceBeforeProtocolList: true
97+
PenaltyBreakAssignment: 2
98+
PenaltyBreakBeforeFirstCallParameter: 19
99+
PenaltyBreakComment: 300
100+
PenaltyBreakFirstLessLess: 120
101+
PenaltyBreakString: 1000
102+
PenaltyBreakTemplateDeclaration: 10
103+
PenaltyExcessCharacter: 1000000
104+
PenaltyReturnTypeOnItsOwnLine: 60
105+
PointerAlignment: Left
106+
ReflowComments: true
107+
SortIncludes: false
108+
SortUsingDeclarations: true
109+
SpaceAfterCStyleCast: true
110+
SpaceAfterLogicalNot: false
111+
SpaceAfterTemplateKeyword: true
112+
SpaceBeforeAssignmentOperators: true
113+
SpaceBeforeCpp11BracedList: true
114+
SpaceBeforeCtorInitializerColon: true
115+
SpaceBeforeInheritanceColon: true
116+
SpaceBeforeParens: ControlStatementsExceptForEachMacros
117+
SpaceBeforeRangeBasedForLoopColon: true
118+
SpaceInEmptyBlock: false
119+
SpaceInEmptyParentheses: false
120+
SpacesBeforeTrailingComments: 1
121+
SpacesInAngles: false
122+
SpacesInConditionalStatement: false
123+
SpacesInContainerLiterals: false
124+
SpacesInCStyleCastParentheses: false
125+
SpacesInParentheses: false
126+
SpacesInSquareBrackets: false
127+
SpaceBeforeSquareBrackets: false
128+
# Needs new Clang: SpaceAroundPointerQualifiers: After
129+
Standard: Latest
130+
StatementMacros:
131+
- Q_UNUSED
132+
- QT_REQUIRE_VERSION
133+
TabWidth: 8
134+
UseCRLF: false
135+
UseTab: Never
136+
...

.clang-tidy

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Checks: '*,
2+
-llvmlibc-callee-namespace,
3+
-llvm-header-guard,
4+
-llvm-namespace-comment,
5+
-google-build-using-namespace,
6+
-google-runtime-int,
7+
-google-readability-namespace-comments,
8+
-fuchsia-statically-constructed-objects,
9+
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
10+
-cppcoreguidelines-pro-bounds-constant-array-index,
11+
-cppcoreguidelines-pro-type-union-access,
12+
-cppcoreguidelines-pro-type-cstyle-cast,
13+
-cppcoreguidelines-pro-type-vararg,
14+
-cppcoreguidelines-avoid-magic-numbers,
15+
-cppcoreguidelines-avoid-non-const-global-variables,
16+
-cppcoreguidelines-avoid-c-arrays,
17+
-readability-magic-numbers,
18+
-readability-uppercase-literal-suffix,
19+
-modernize-use-trailing-return-type,
20+
-modernize-avoid-c-arrays,
21+
-hicpp-signed-bitwise,
22+
-hicpp-no-assembler,
23+
-hicpp-avoid-c-arrays,
24+
-hicpp-uppercase-literal-suffix,
25+
-cert-err58-cpp,
26+
-cert-err60-cpp'

.gitattributes

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Set the default behavior, in case people don't have core.autocrlf set.
2+
* text=auto
3+
4+
# Explicitly declare text files you want to always be normalized and converted
5+
# to native line endings on checkout.
6+
*.c text
7+
*.cpp text
8+
*.h text
9+
*.hpp text
10+
11+
# Denote all files that are truly binary and should not be modified.
12+
*.png binary
13+
*.bin binary
14+
*.jpg binary
15+
*.jpeg binary

.gitconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[core]
2+
whitespace = blank-at-eol,blank-at-eof,space-before-tab
3+
autocrlf = input
4+
[apply]
5+
whitespace = fix

.gitmodules

Whitespace-only changes.

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cmake_minimum_required(VERSION 3.10)
2-
project(pinetime VERSION 0.11.0 LANGUAGES C CXX ASM)
2+
project(pinetime VERSION 0.14.0 LANGUAGES C CXX ASM)
33

44
set(NRF_TARGET "nrf52")
55

CONTRIBUTING.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
This contribution guide is in progress, improvements are welcome.
2+
3+
### Code style
4+
5+
Any C++ code PRs should aim to follow the style of existing code in the project.
6+
7+
Using an autoformatter is heavily recommended, but make sure it's configured properly.
8+
9+
There's currently preconfigured autoformatter rules for:
10+
11+
* CLion (IntelliJ) in .idea/codeStyles/Project.xml
12+
13+
You can use those to configure your own IDE if it's not already on the list.
14+
15+
#### Linting errors and compiler warnings
16+
17+
Try to avoid any currently enabled warnings and try to reduce the amount of linter errors.
18+
19+
#### Spelling
20+
21+
Make sure you spellcheck your code before commiting it.
22+
23+
#### TODO, FIXME
24+
25+
Check before commiting that you haven't forgotten anything, preferably don't leave these in your commits.
26+
27+
#### Licence headers
28+
29+
You should add your name to the comma-space separated list of contributors if there's a license header.
30+
31+
### License
32+
33+
By contributing you agree to licence your code under the repository's general license (which is currently GPL-v3+).

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,13 @@ The goal of this project is to design an open-source firmware for the Pinetime s
1919
- Code written in **modern C++**;
2020
- Build system based on **CMake**;
2121
- Based on **[FreeRTOS 10.0.0](https://freertos.org)** real-time OS.
22-
- Using **[LittleVGL/LVGL 6.1.2](https://lvgl.io/)** as UI library...
22+
- Using **[LittleVGL/LVGL 7](https://lvgl.io/)** as UI library...
2323
- ... and **[NimBLE 1.3.0](https://github.com/apache/mynewt-nimble)** as BLE stack.
2424

2525
## Overview
2626

27-
![Pinetime screens](images/0.7.0/montage.jpg "PinetimeScreens")
27+
![Pinetime screens](images/0.14.0/collage1.png "PinetimeScreens")
28+
![Pinetime screens](images/0.14.0/collage2.png "PinetimeScreens")
2829

2930
As of now, here is the list of achievements of this project:
3031

@@ -46,6 +47,7 @@ As of now, here is the list of achievements of this project:
4647
- Supported by 2 companion apps (development is in progress):
4748
* [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/) (on Android)
4849
* [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS and Linux)
50+
* **[Experimental]** [WebBLEWatch](https://hubmartin.github.io/WebBLEWatch/) Synchronize time directly from your web browser. [video](https://youtu.be/IakiuhVDdrY)
4951
- **[Experimental]** OTA (Over-the-air) update via BLE
5052
- **[Experimental]** Bootloader based on [MCUBoot](https://juullabs-oss.github.io/mcuboot/)
5153

bootloader/ota-dfu-python/unpacker.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Unpacker(object):
1313
#
1414
#--------------------------------------------------------------------------
1515
def entropy(self, length):
16-
return ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for i in range (length))
16+
return ''.join(random.choice('abcdefghijklmnopqrstuvwxyz') for i in range (length))
1717

1818
#--------------------------------------------------------------------------
1919
#

doc/buildAndProgram.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ To build this project, you'll need:
1010
```
1111
git clone https://github.com/JF002/Pinetime.git
1212
cd Pinetime
13+
git submodule update --init
1314
mkdir build
1415
cd build
1516
```

0 commit comments

Comments
 (0)