Commit graph

116 commits

Author SHA1 Message Date
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
51929b3a35 Swiftlint fixes 2024-06-02 18:32:14 -07:00
Garth Vander Houwen
fe82f1c3df
Merge branch '2.3.10_Working_Changes' into main 2024-06-01 07:30:50 -07:00
Garth Vander Houwen
7341d0b32a Fix nag timeout dropdown
Fix up circle text view
2024-05-31 20:25:37 -07: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
3911703f81 Bump version, add incomplete user icon 2024-05-29 12:52:35 -07:00
Garth Vander Houwen
08ea85d717 Re order gps mode toggle
add additional position precision options
Updated fixed postion text
2024-05-04 16:03:38 -07:00
Garth Vander Houwen
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
52dd086e09 IAQ legend, basic AQI options. 2024-04-26 15:02:49 -07:00
Garth Vander Houwen
70d89c093b Finishing adding activity type to the route recorder 2024-04-15 07:28:23 -07:00
Garth Vander Houwen
fc1cdc4d88 Indoor air quality
Add Compact signal strength back to the node list
2024-04-10 16:41:15 -07:00
Garth Vander Houwen
8a214d93eb Contact list filters 2024-04-02 11:16:32 -07:00
Garth Vander Houwen
52c52ae1e6 100 node limit on the node map, remove 2500 mile distance filter 2024-03-31 12:38:17 -07:00
Garth Vander Houwen
3bd5c9c003
Merge pull request #571 from ChDel/2.3.2_Working_Changes
Fixing UserDefault wrapper crashing with enums
2024-03-27 16:30:27 -07:00
Garth Vander Houwen
7c022813a2 Fixed position updates 2024-03-27 16:06:24 -07:00
ChDel
1354427bfe Fixing UserDefault wrapper crashing with enums 2024-03-26 16:45:32 -07:00
Garth Vander Houwen
4f3cd0f72b Add TAK tracker, bump db version 2024-03-26 08:55:38 -07:00
Garth Vander Houwen
496451c15c Add node filters 2024-03-26 07:54:16 -07:00
Garth Vander Houwen
7eb6659c0c Move fetch requests to mapcontent 2024-03-25 15:21:38 -07:00
Garth Vander Houwen
554fe9a3ca Node distance filter for the mesh map 2024-03-24 22:23:55 -07:00
Garth Vander Houwen
02cca19f26 Assorted updates 2024-03-23 09:01:44 -07:00
Garth Vander Houwen
d5f5d70364 Start work to fix the broken node map view
Tidy up suggested mqtt topics
2024-03-14 18:58:05 -07:00
Austin Payne
a87d4fd3a6 feature: add power configuration 2024-02-21 00:07:17 -07:00
Austin Payne
d0f84662db improvement: add MessageText views 2024-02-17 14:10:25 -07:00
Garth Vander Houwen
a89490097f Add Singapore
Update store and forward logic
2024-02-10 17:21:31 -08:00
Garth Vander Houwen
718842bafb Localize new settings 2024-02-06 16:47:12 -08:00
Garth Vander Houwen
6c03f4164d Update Roles 2024-02-05 22:45:16 -08:00
Garth Vander Houwen
8f6e1a2d0d Add app smart position and setting
Update protobufs
Use new GPS tri state on position config
2024-02-05 21:46:16 -08:00
Garth Vander Houwen
f61e91a282 Add back route recorder 2024-01-28 16:22:25 -08:00
Garth Vander Houwen
9f7f59fa87 Add a couple of GPIO pins, remove hardware models enum and use the API 2024-01-14 09:47:11 -08:00
Garth Vander Houwen
a3ef868802 Add cal topo, wip firmware page 2023-12-30 09:21:42 -08:00
Garth Vander Houwen
4eb18f66b8 Add useI2cAsBuzzer setting 2023-12-20 10:24:01 -08:00
Garth Vander Houwen
616f681eac Delete unused enum 2023-12-12 22:59:09 -08:00
Garth Vander Houwen
bde94e877e Update protos and related enums. 2023-12-10 17:54:45 -08:00
Garth Vander Houwen
67900bfa51 Remove GPS Update interval
Remove GPS Attempt Time options
Don't show positions with empty times in the elevation graph
Hook up ambient lighitng config
2023-11-28 20:03:08 -08:00
Garth Vander Houwen
906d22c350 Update some intervals, throw out the last postion log if the latest one is < 10 meters away. 2023-11-26 17:50:10 -08:00
Garth Vander Houwen
f12eed755d Config cleanup 2023-11-26 12:54:45 -08:00
Garth Vander Houwen
b6abd92543 Fix cases where location update interval is set to 0 2023-10-17 20:35:29 -07:00
Garth Vander Houwen
0b11f8ed7d Assorted cleanup 2023-09-19 17:06:47 -07:00
Garth Vander Houwen
a990d7f2bd Lint 2023-08-26 23:17:30 -07:00
Garth Vander Houwen
8afc76ea2a Connect to mqtt on the right topic 2023-08-06 22:31:19 -07:00
Garth Vander Houwen
1356ebea14 More MQTT updates 2023-08-06 17:41:46 -07:00
Garth Vander Houwen
8382ad962a Signal strength indicator updates 2023-05-16 05:54:12 -07:00
Garth Vander Houwen
26b6ee3735 Attribution update 2023-05-14 00:19:42 -07:00
Garth Vander Houwen
0c852a5202 Weather layer 2023-05-14 00:16:55 -07:00
Garth Vander Houwen
ba3ef4af3e Managed Device
Delete by tile server
2023-05-13 20:50:20 -07:00
Garth Vander Houwen
0dcdd4f009 Button size cleanup 2023-05-13 14:23:12 -07:00
Garth Vander Houwen
255e10bbe5 * New Tile Server
* More Emoji
* Signal Strength indicators for lora
* Restrict tile overlays to zoom levels
2023-05-10 13:44:27 -07:00
Garth Vander Houwen
c425486658 More tile sources
tile server attribution
Signal strength indicator
2023-05-09 19:31:25 -07:00
Garth Vander Houwen
f3d38d729f Additional 45 second intervals
Add Noisy Environment badge on node details if (node.rssi > -115) && (node.snr <= -13)
2023-05-08 19:12:51 -07:00