Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
f6a2ae7
moves `arduino-lint`, `arduino`, `cpp`, and `doxygen` Make targets to…
ksatirli Aug 8, 2024
a734786
linting
ksatirli Aug 8, 2024
e28d7c2
bumps version from `0.9.5` to `0.10.0`
ksatirli Aug 8, 2024
c0e7a50
updates link to correct datasheet
ksatirli Aug 8, 2024
422e96b
adds datasheet for OLED display
ksatirli Aug 8, 2024
14c6fc8
linting
ksatirli Aug 8, 2024
ee6d8ab
linting
ksatirli Aug 8, 2024
f652225
linting
ksatirli Aug 9, 2024
6976f19
linting
ksatirli Aug 10, 2024
ae111b8
code linting tool config updates
ksatirli Aug 10, 2024
0807c4f
adds Helper functions
ksatirli Aug 10, 2024
9eb440c
adds Device functions
ksatirli Aug 10, 2024
dd61c54
adds Logging functions
ksatirli Aug 10, 2024
3fe050a
work-up for Wi-Fi and Wire clients
ksatirli Aug 10, 2024
3c5efff
work-up for Display refactor
ksatirli Aug 10, 2024
9856a30
Merge branch 'main' into adds-logger-and-device-loop
ksatirli Aug 10, 2024
418e45b
adds Ministache
ksatirli Aug 10, 2024
6fe4032
Merge branch 'adds-logger-and-device-loop' of github.com:workloads/pa…
ksatirli Aug 10, 2024
379494e
linting
ksatirli Aug 10, 2024
9b777ef
refactors main sketch
ksatirli Aug 10, 2024
1199937
linting
ksatirli Aug 10, 2024
3e0d29b
adds docs
ksatirli Aug 10, 2024
1778749
linting
ksatirli Aug 10, 2024
687692a
linting
ksatirli Aug 10, 2024
6dae77e
linting
ksatirli Aug 10, 2024
414a72b
linting
ksatirli Aug 10, 2024
28cd515
linting
ksatirli Aug 10, 2024
6f9ca36
linting
ksatirli Aug 10, 2024
bbf49dc
linting
ksatirli Aug 10, 2024
8d29881
linting
ksatirli Aug 10, 2024
85808f1
linting
ksatirli Aug 10, 2024
1bcafc5
linting
ksatirli Aug 10, 2024
f013ac2
work up for HTTP Server and LittleFS
ksatirli Aug 10, 2024
31213e4
expands HTTP Server
ksatirli Aug 10, 2024
17bf0a4
linting
ksatirli Aug 11, 2024
a04efbd
moves HTML to external file
ksatirli Aug 11, 2024
709971b
work-up for battery function
ksatirli Aug 11, 2024
1f3bedb
aligns `clang-format` config with Google style
ksatirli Aug 11, 2024
3dfd0b8
linting
ksatirli Aug 11, 2024
6fffd99
adds library manager URLs
ksatirli Aug 12, 2024
982962c
HTML fixes
ksatirli Aug 18, 2024
23a4047
linting
ksatirli Aug 18, 2024
8c6fb4e
linting
ksatirli Aug 18, 2024
19a5f60
linting
ksatirli Aug 19, 2024
832d09a
linting
ksatirli Aug 19, 2024
5866336
linting
ksatirli Aug 19, 2024
4830250
linting
ksatirli Aug 19, 2024
b6e004b
linting
ksatirli Aug 19, 2024
e609897
linting
ksatirli Aug 19, 2024
0441b6a
linting
ksatirli Aug 19, 2024
36a7d4a
linting
ksatirli Aug 19, 2024
206a727
linting
ksatirli Aug 19, 2024
e06fb5d
linting
ksatirli Aug 19, 2024
c383d09
linting
ksatirli Aug 27, 2024
9cd3546
updates versions
ksatirli Aug 27, 2024
151c419
linting
ksatirli Aug 27, 2024
a0965dd
fixes WifiClient
ksatirli Aug 27, 2024
2e16e68
corrects versions
ksatirli Aug 27, 2024
f34d18a
linting
ksatirli Aug 29, 2024
b478823
add .DS_Store to .gitignore
sofixa Aug 30, 2024
45f99d3
remove Log.cpp and Log.h to replace them by an external library
sofixa Aug 30, 2024
0bcab03
replace use of internal Log class with external Logger library
sofixa Aug 30, 2024
0980f6f
replace use of internal Log class with external Logger library
sofixa Aug 30, 2024
d523029
update .gitignore
sofixa Aug 30, 2024
42d7cfd
updates code quality tooling
ksatirli Sep 6, 2024
702b3f1
updates code quality tooling
ksatirli Sep 6, 2024
866a70a
updates code quality tooling
ksatirli Sep 9, 2024
0fe052e
adds section on SD cards to README
ksatirli Sep 9, 2024
1061d6a
updates docs
ksatirli Oct 6, 2024
cdb21f0
bumps ArduinoJSON library from `7.1.0` to `7.2.0`
ksatirli Oct 6, 2024
f60d400
clean up device loop
ksatirli Oct 6, 2024
247f9ca
clean up Wifi client
ksatirli Oct 6, 2024
e25c704
updates WiFi client
ksatirli Oct 7, 2024
06e3194
adds delays
ksatirli Oct 7, 2024
e5a3659
remove Filesystem.cpp and Filesystem.h, moving them to a separate lib…
sofixa Sep 21, 2024
dd466d3
replace Filesystem.h with external library
sofixa Sep 21, 2024
a7456a2
Merge branch 'adds-logger-and-device-loop' of github.com:workloads/pa…
ksatirli Oct 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---

# provide suggestions based on Google's Style Guide
# see https://google.github.io/styleguide/cppguide.html
BasedOnStyle: Google
AccessModifierOffset: -3

AlignAfterOpenBracket: true

Expand Down Expand Up @@ -30,6 +28,10 @@ AllowShortLoopsOnASingleLine: true

AlwaysBreakBeforeMultilineStrings: true

# provide suggestions based on Google's Style Guide
# see https://google.github.io/styleguide/cppguide.html
BasedOnStyle: Google

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#binpackarguments
BinPackArguments: false
BinPackParameters: false
Expand Down Expand Up @@ -61,12 +63,21 @@ IndentWidth: 4
# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#language
Language: Cpp

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#lineending
LineEnding: LF

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#reflowcomments
ReflowComments: false

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#removeparentheses
RemoveParentheses: MultipleParentheses

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#removesemicolon
RemoveSemicolon: True

# TODO: update this to `c++23` when it becomes available
# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#standard
Standard: c++20

# see https://clang.llvm.org/docs/ClangFormatStyleOptions.html#usetab
UseTab: Never
23 changes: 2 additions & 21 deletions .clangd
Original file line number Diff line number Diff line change
@@ -1,25 +1,6 @@
# see https://clangd.llvm.org/config#if
If:
PathMatch: *

# see https://clangd.llvm.org/config#compileflags
CompileFlags:
Add:

PathMatch: *
CompileFlags:
Add:
# ⚠️ If these values are updated, they MUST be updated project-wide
- -I.arduino/user/libraries/

- -I.arduino/data/packages/arduino/hardware/avr/1.8.6/libraries/
- -I.arduino/data/internal/arduino_avr_1.8.6_*/cores/arduino/
- -I.arduino/data/internal/arduino_avr_1.8.6_*/variants/standard/

- -I.arduino/data/packages/esp32/hardware/esp32/2.0.17/libraries/
- -I.arduino/data/internal/esp32_esp32_2.0.17_*cores/esp32/
- -I.arduino/data/internal/esp32_esp32_2.0.17_*variants/esp32/

- -DARDUINO_ESP32_DEV
- -DARDUINO_ARCH_ESP32
- -DARDUINO_BOARD="ESP32_DEV"
- -DESP32
- "-I${HOME}/Library/Arduino15/packages/esp32/hardware/esp32/2.0.17/cores/esp32"
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,9 @@ cmake-build-debug
### Project-specific ###
.doxygen/theme
docs/

### MacOS sucks
**/*.DS_Store

### VS CODE
.history
39 changes: 19 additions & 20 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# see https://cmake.org/cmake/help/v3.30/command/cmake_minimum_required.html
cmake_minimum_required(VERSION 3.30.0)
cmake_minimum_required(VERSION 3.29.0)

# see https://cmake.org/cmake/help/v3.30/command/project.html#project
project(
Expand All @@ -9,37 +9,32 @@ project(
LANGUAGES CXX
)

# see https://docs.espressif.com/projects/esp-idf/en/v3.30/esp32s3/api-guides/cplusplus.html
# and https://cmake.org/cmake/help/v3.30/command/set.html
set(CMAKE_CXX_STANDARD 11)
# see https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_CLANG_TIDY.html
set(CMAKE_CXX_CLANG_TIDY clang-tidy -checks=-*,readability-*)

# see https://docs.espressif.com/projects/esp-idf/en/stable/esp32s3/api-guides/cplusplus.html
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# generate `compile_commands.json` for use with `clangd`
# see https://cmake.org/cmake/help/v3.30/command/set.html
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

# set common paths
# see https://cmake.org/cmake/help/v3.30/command/set.html
# ⚠️ If this value is updated, it MUST be updated project-wide
set(ARDUINO_BASE_PATH .arduino)

# see https://cmake.org/cmake/help/v3.30/command/set.html
set(ARDUINO_DATA_PATH ${ARDUINO_BASE_PATH}/data/packages)
set(ARDUINO_LIBS_PATH ${ARDUINO_BASE_PATH}/user/libraries)

# set Arduino library version
# see https://cmake.org/cmake/help/v3.30/command/set.html
# set Arduino and ESP32 library versions
# ⚠️ If these values are updated, they MUST be updated project-wide
set(ARDUINO_LIBRARY_VERSION 1.8.6)

# set ESP32 library version
# ⚠️ If this value is updated, it MUST be updated project-wide
# see https://cmake.org/cmake/help/v3.30/command/set.html
set(ESP32_LIBRARY_VERSION 2.0.17)

# see https://cmake.org/cmake/help/v3.30/command/include_directories.html
include_directories(
${ARDUINO_LIBS_PATH}
${ARDUINO_DATA_PATH}/arduino/hardware/avr/${ARDUINO_LIBRARY_VERSION}/libraries
${ARDUINO_DATA_PATH}/esp32/hardware/esp32/${ESP32_LIBRARY_VERSION}/libraries
SYSTEM ${ARDUINO_BASE_PATH}/data/packages/arduino/hardware/avr/${ARDUINO_LIBRARY_VERSION}/cores/arduino
SYSTEM ${ARDUINO_BASE_PATH}/data/packages/arduino/hardware/avr/${ARDUINO_LIBRARY_VERSION}/libraries
SYSTEM ${ARDUINO_BASE_PATH}/data/packages/esp32/hardware/esp32/${ESP32_LIBRARY_VERSION}/cores/esp32
SYSTEM ${ARDUINO_BASE_PATH}/user/libraries
SYSTEM ${ARDUINO_BASE_PATH}/data/packages/esp32/hardware/esp32/${ESP32_LIBRARY_VERSION}/libraries
)

# include all source files in the `src` directory
Expand All @@ -49,6 +44,10 @@ file(GLOB_RECURSE SOURCES "src/*.cpp" "src/*.h")
# see https://cmake.org/cmake/help/v3.30/command/add_executable.html
add_executable(pathfinder pathfinder.ino ${SOURCES})

# ignore warning about literal suffixes, specifically for `libraries/Insights/src/Insights.cpp:8`
# see https://cmake.org/cmake/help/v3.30/command/add_compile_options.html
add_compile_options(-Wno-literal-suffix)

# explicitly specify language as CXX (C++)
# see https://cmake.org/cmake/help/v3.30/command/set_target_properties.html
set_target_properties(pathfinder PROPERTIES LINKER_LANGUAGE CXX)
4 changes: 1 addition & 3 deletions CPPLINT.cfg
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
# consider this the most top-level configuration file
set noparent

# scan all relevant files
# scan Arduino source files
extensions=ino

# `build/include_order` - ignore checks for include order until false positives are resolved
# `legal/copyright` - ignore checks for absence of copyright notices
filter=-build/include_order,-legal/copyright

linelength=140

root=.
Loading