Commit graph

14 commits

Author SHA1 Message Date
Blake McAnally
b011cbde42 Create dedicated data layer types for querying and updating CoreData 2024-07-10 16:03:38 -05:00
Blake McAnally
58da532d32 Extract the generated protobufs into its own Swift package
This change modifies the process for generating and integrating the Meshtastic protobufs into the client application.

* The generated Swift code is now in a local SPM package `MeshtasticProtobufs`
* An Xcode Workspace file `Meshtastic.xcworkspace` was created to more easily manage the new build targets.
* The code generation script for the protos was modified to generate the Swift code into the new location.
* The README.md was updated to reflect these changes.

NOTE: After merging this PR, do not open the project file `Meshtastic.xcodeproj`. You must use the workspace `Meshtastic.xcworkspace`

Extracting out the generated protobuf code into its own library enables several opportunities for the project. This is just a first step, but with some more modularization, a standalone Apple Watch app or other targets starts to become a little bit more achievable to implement.

After extracting the protobufs into a Swift package, I validate these changes by building and running the Meshtastic app to an iPhone 15 Pro Max, and tried changing some settings on a local node. I then messaged back and forth using two local nodes connected to two different iOS devices.
2024-06-28 11:11:01 -05:00
Blake McAnally
4d547e48db This change fixes several lint errors throughout the project, and moves the SwiftLint build phase to before compilation.
After this change, a developer can now clone the project and run without the build failing due to lint errors! 😃

* I ran `swiftlint --fix` to resolve many auto-correctable issues (mostly whitespace)
* Excluded the `Meshtastic/Protobufs` directory from lint, since that code is automatically generated.
* Converted some single letter method parameters to lowercase.
* Converted several instances `force_cast` to instead use `guard` or `if let` to unwrap optional values. During this change, some of the SwiftUI views became "too complex to be solved in a reasonable time", so I broke up the views into distinct sub-expressions.

I was able to build and run the app on an iOS simulator.
2024-05-31 21:48:50 -05:00
Garth Vander Houwen
cce30cd9f7 Fix logs for pax counter 2024-02-27 12:24:50 -08:00
Garth Vander Houwen
a42f9ed91a Localize both pax counter and power config 2024-02-25 12:51:34 -08:00
Garth Vander Houwen
198f9143a4 Only show ispower saving for esp32, or the 2 nrf roles it works with 2024-02-24 11:36:19 -08:00
Garth Vander Houwen
c61d39a7e1 Pull device hardware from a local json file 2024-02-24 10:43:15 -08:00
Garth Vander Houwen
a579d8f595 Bump version, add power config back 2024-02-23 08:23:58 -08:00
Garth Vander Houwen
7a59ba2a31 Comment out power config for app store deployment 2024-02-23 08:13:37 -08:00
Garth Vander Houwen
32fe4f1ca1 Hide esp32 sleep options 2024-02-23 08:00:34 -08:00
Garth Vander Houwen
4fe467f988 Power config view updates 2024-02-23 00:33:59 -08:00
Garth Vander Houwen
ed1214891b Add new protobufs, update all the config layouts 2024-02-21 23:35:28 -08:00
Garth Vander Houwen
a5d4f62ca4 Clean up descriptive text to be the same font and color on all the config views 2024-02-21 20:41:27 -08:00
Austin Payne
a87d4fd3a6 feature: add power configuration 2024-02-21 00:07:17 -07:00