Commit graph

84 commits

Author SHA1 Message Date
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
da75837bdc Set Timezone properly on load
break device name if it is too long
2024-05-04 13:02:47 -07:00
Garth Vander Houwen
52c5adb7ec Merge changes 2024-05-01 19:39:32 -07:00
Garth Vander Houwen
5869a27369 Mute all channel message notifications 2024-04-26 18:06:23 -07:00
Garth Vander Houwen
d780f103ad Set provide location default to 30 seconds
Don't delete routes unless doing a factory reset
Close route recorder modal when finished
2024-04-21 20:36:29 -07:00
Garth Vander Houwen
110c9dad4a Multiline timezone field
handle nil in firmware web methods
2024-04-09 13:04:09 -07:00
Garth Vander Houwen
8156777fea Timezone 2024-04-08 11:41:54 -07:00
Garth Vander Houwen
e4284d9741 Zero hops, defaults for node info broadcast 2024-03-17 09:07:11 -07:00
Garth Vander Houwen
8d6aa9e88b stop device role save crash 2024-03-15 14:29:50 -07:00
Garth Vander Houwen
7ecba4cabe Disable debug log and serial output if managed mode is on 2024-03-09 20:56:40 -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
0daf9185e7 refactor: add SaveConfigButton view for settings 2024-02-21 00:07:17 -07:00
Austin Payne
c3cede2d76 refactor: add ConfigHeader view for settings 2024-02-21 00:07:17 -07:00
Garth Vander Houwen
52af088d8c Bump version, fix mqtt port bug, make connected node details smaller on all the settings views, clean up text on position config view 2024-02-19 21:39:53 -08:00
Garth Vander Houwen
48ef2e656c Add node info broadcast interval 2024-02-12 22:09:22 -08:00
Garth Vander Houwen
bc3fc5e50c Add 48 as a GPIO pin 2024-01-22 13:21:17 -08:00
Garth Vander Houwen
61768bee9b Consistent checks for context 2024-01-14 11:25:00 -08:00
Garth Vander Houwen
1792de5d4a Add extra gpio pins 2024-01-13 20:48:30 -08:00
Garth Vander Houwen
a60228d119 Put GPS setting in the right place 2023-12-21 11:31:40 -08:00
Garth Vander Houwen
690ef05b1d Remove meshtastic username 2023-12-21 09:49:08 -08:00
Garth Vander Houwen
026f2e463c Add field for gpsEnGpio 2023-12-20 20:15:05 -08:00
Garth Vander Houwen
c8a8c5a617 Add delay for factory reset 2023-11-20 19:20:54 -08:00
Garth Vander Houwen
99fbc6c9a6 Remove 30 day filter from mesh map 2023-11-20 16:08:46 -08:00
Garth Vander Houwen
b6cfd07000 Question everything 2023-09-02 17:37:35 -07:00
Garth Vander Houwen
a990d7f2bd Lint 2023-08-26 23:17:30 -07:00
Garth Vander Houwen
ddad4d49ce Remove ESP32 range test restriction
Clean up buttons
Remove min app version field
2023-08-14 14:41:26 -07:00
Garth Vander Houwen
8382ad962a Signal strength indicator updates 2023-05-16 05:54:12 -07:00
Garth Vander Houwen
ba3ef4af3e Managed Device
Delete by tile server
2023-05-13 20:50:20 -07:00
Garth Vander Houwen
0c915863d5 Fix crashes 2023-05-13 15:46:18 -07:00
Garth Vander Houwen
3b76207247 Improved localization helper for strings 2023-05-05 09:27:24 -07:00
Garth Vander Houwen
6f05bbe7f3 Assorted updates 2023-05-01 10:39:49 -07:00
Garth Vander Houwen
1ea7897c1e tapity tap tap 2023-04-09 23:04:11 -07:00
Garth Vander Houwen
b455fb25c6 Bump GPIO Pickers to 45 2023-04-03 17:48:58 -07:00
Garth Vander Houwen
3e88cb73d9 Hook up re-broadcast mode 2023-04-01 15:01:11 -07:00
Garth Vander Houwen
9059ceba55 Fix real time loading of all remote admin view 2023-03-19 18:37:23 -07:00
Garth Vander Houwen
416960388f Fix admin channel bug 2023-03-15 09:27:33 -07:00
Garth Vander Houwen
93006b258d Swift Lint 2023-03-14 12:44:10 -07:00
Garth Vander Houwen
b336307a22 ACK!
Admin message status content if you have an admin channel
2023-03-13 19:17:43 -07:00
Garth Vander Houwen
fdade220de SwiftLint Whitespace fixes 2023-03-06 10:33:18 -08:00
Garth Vander Houwen
0c2ff5fda4 * Device Config Updates (Rebroadcast modes, nodeinfobroadcastsecs)
* Display Config Data updates (heading bold)
2023-03-05 23:01:09 -08:00
Garth Vander Houwen
4006de8696 Prevent some crashes 2023-03-05 14:40:07 -08:00
Garth Vander Houwen
dba7889666 Cleanup Client tracking mode some 2023-02-22 20:31:08 -08:00
Garth Vander Houwen
af90966900 Fix getNodeInfo method that was the source of nil nodes 2023-02-06 18:45:03 -08:00
Garth Vander Houwen
3e779217d5 Pass admin channel index properly to most admin messages 2023-02-03 07:29:12 -08:00
Garth Vander Houwen
1bcb759054 Fix remote shutdown and reboot 2023-02-02 22:03:27 -08:00