Commit graph

47 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
Garth Vander Houwen
2795c4cf69 Only allow 6 characters for call sign 2024-06-27 07:40:31 -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
a3a5c4084b Try and fix a nil context crash, created shareed ble manager 2024-05-04 08:20:53 -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
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
Garth Vander Houwen
61768bee9b Consistent checks for context 2024-01-14 11:25:00 -08:00
Garth Vander Houwen
70e1bdb835 More map cleanup 2023-11-09 17:43:38 -08:00
Garth Vander Houwen
60b805faf8 Update lorconfig to include override frequency 2023-10-25 18:54:52 -07:00
Garth Vander Houwen
b661a5776a Update licensed user form 2023-10-23 17:50:13 -07:00
Garth Vander Houwen
966acb4d7e Clean up licensed user form 2023-10-23 17:29:27 -07:00
Garth Vander Houwen
aedf8e3638 UI updates to licensed user flow 2023-10-20 17:26:04 -07:00
Garth Vander Houwen
b6cfd07000 Question everything 2023-09-02 17:37:35 -07:00
Garth Vander Houwen
60a1687839 Initial offline maps setup 2023-05-05 17:13:35 -07:00
Garth Vander Houwen
fdade220de SwiftLint Whitespace fixes 2023-03-06 10:33:18 -08:00
Garth Vander Houwen
4006de8696 Prevent some crashes 2023-03-05 14:40:07 -08:00
Garth Vander Houwen
a245d66981 Nil handling 2023-03-04 08:52:40 -08:00
Garth Vander Houwen
4ec1f7b200 * Map Updates
* Clean up call sign on licensed user view
* Narrow formatting for weather temp
2023-02-15 14:52:49 -08:00
Garth Vander Houwen
f29c704833 Cleanup ham mode view 2023-02-10 09:38:01 -08:00
Garth Vander Houwen
2082230929 📻 ham params 2023-02-09 22:59:39 -08:00
Garth Vander Houwen
85c0582649 HAMS 2023-02-08 09:42:07 -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
2dac7c22cf Weather enums, translate new device roles, add isLicensed to user 2023-02-04 20:44:24 -08:00
Garth Vander Houwen
921f95cc63 Assorted updates 2023-01-31 10:50:17 -08:00
Garth Vander Houwen
79bc59adc9 One working admin channel settings message 2023-01-19 22:04:18 -08:00
Garth Vander Houwen
76e7eef10c Localize config save confirm 2022-12-30 11:08:59 -08:00
Garth Vander Houwen
0892214bcd Start of localization 2022-12-12 20:35:38 -08:00
Garth Vander Houwen
c7a9883808 Go back to settings view after saving from a config view
Allow setting of a fixed ble pin
Fix bug that did not show devices to connect to after some failed connections
2022-12-09 18:19:00 -08:00
Garth Vander Houwen
861d824183 Navigation Stack view cleanup 2022-11-29 22:28:52 -08:00
Garth Vander Houwen
02629572ea Remove initial load bools 2022-11-12 08:48:01 -08:00
Garth Vander Houwen
e49eb363d3 Config view updates 2022-09-23 21:41:07 -07:00
Garth Vander Houwen
d7819b7404 Set wantAck to true for all admin messages, hook up waypoint to position in messages 2022-08-12 08:58:10 -07:00
Garth Vander Houwen
56da04827a New protos and assorted bug fixes 2022-08-11 23:34:09 -07:00
Garth Vander Houwen
045fb598d5 Finish wifi config 2022-08-02 09:44:59 -07:00
Garth Vander Houwen
d794992854 Bump version on connect page 2022-07-11 15:43:25 -07:00
Garth Vander Houwen
ddfcea4ace Handle empty positions, allow nrf52 saving for telemetry 2022-07-07 00:29:52 -07:00
Garth Vander Houwen
3553ee7076 Hook up admin messages to config updates 2022-07-02 19:50:08 -07:00
Garth Vander Houwen
b0c3ff10ab Clean up the unknownApp portNum handling, hook up module config for range test 2022-07-02 10:06:50 -07:00
Garth Vander Houwen
b1250db164 Add DFU stubs, fix all the connected node indictors to be 4 bytes max 2022-07-01 19:44:25 -07:00
Garth Vander Houwen
10bf86cf95 remove analog sensors from telemetry, add Card KB as an option for canned messages presets 2022-07-01 18:30:40 -07:00
Garth Vander Houwen
ce35f49b7c More complete module configuration previews, less prone to crashing settings page 2022-07-01 10:57:54 -07:00
Garth Vander Houwen
6b10e9aabe Assorted updates 2022-06-28 06:56:50 -07:00
Garth Vander Houwen
616df3d624 Validate field sizes 2022-06-27 08:41:56 -07:00
Garth Vander Houwen
2add04d326 Add User Settings edit screen with long name and short name 2022-06-27 08:30:49 -07:00