Commit graph

19 commits

Author SHA1 Message Date
Garth Vander Houwen
3dcec505ff linter updates 2024-10-05 16:35:42 -07:00
Garth Vander Houwen
25143ddf75 while 2024-09-22 08:03:18 -07:00
Garth Vander Houwen
5fbb4ecec9 Clean up waypoint form 2024-09-03 07:12:15 -07:00
Garth Vander Houwen
01e303d74b Add a button to drop a pin for a waypoints in maps 2024-09-02 21:35:01 -07:00
Blake McAnally
fbf059be6a Refactor BLEManager.context setting on all the views, and just do that at the app root instead 2024-07-15 15:57:44 -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
Garth Vander Houwen
847892d45d Log categories 2024-06-03 02:17:55 -07:00
Blake McAnally
4c7cd0d923 Adopt OSLog for logging and replace the majority of calls to print() 2024-06-01 11:30:29 -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
9beccc1639 fix delete waypoint bugs 2024-04-08 10:59:38 -07:00
Garth Vander Houwen
aa08f2ff33 Drop the last character for string length validation, bump version 2024-04-04 09:39:03 -07:00
Garth Vander Houwen
1162a7ef44 Show firmware version for remotely administered nodes on the node deails. Don't show the delete waypoint button if you are not conneced to a node 2024-03-28 16:14:57 -07:00
Garth Vander Houwen
93d3cb33c8 Localize the routes, add some detents 2023-11-26 12:19:32 -08:00
Garth Vander Houwen
f6cb21d6d8 Routes 2023-11-21 22:39:42 -08:00
Garth Vander Houwen
97a711cf73 Clean up the code for the history pins 2023-11-14 21:43:26 -08:00
Garth Vander Houwen
e164a2b624 Waypoints on the mesh map 2023-11-14 18:11:25 -08:00
Garth Vander Houwen
5435b9e65e Comment out the slow long press gesture 2023-11-14 10:32:11 -08:00
Garth Vander Houwen
4fec2be045 Finish mocking up the waypoint form 2023-11-12 00:28:59 -08:00
Garth Vander Houwen
5346b3d0f4 Waypoint form and long press gesture 2023-11-11 09:44:03 -08:00