Commit Graph

72 Commits

Author SHA1 Message Date
Arsen6331 0c369dc5df Merge pull request 'replace pactl based volume control with mpris based volume control' (#6) from FloralExMachina/infinitime:master into master
Reviewed-on: https://gitea.arsenm.dev/Arsen6331/infinitime/pulls/6
2022-11-19 22:46:12 +00:00
razorkitty 5fb5cf4b92 removed pulseaudio-utils and libpulse dependencies 2022-11-19 22:43:03 +00:00
razorkitty 76809726d5 replace pactl based volume control with mpris based volume control
methods
2022-11-19 21:30:54 +00:00
Arsen Musayelyan 72b558707e Use NavFlag type in SetFlag() 2022-11-06 20:20:15 -08:00
Arsen Musayelyan 31f4c51a61 Improve navigation API 2022-11-06 20:08:13 -08:00
Arsen Musayelyan 8e5bbafba8 Fix typo 2022-11-05 20:54:45 -07:00
Arsen Musayelyan e6fb402c0c Remove check for unchanged values and refactor code 2022-11-05 20:33:30 -07:00
yannickulrich 1f5301f5de Added Navigation service (#5)
InfiniTime implements a [Navigation Service](https://github.com/InfiniTimeOrg/InfiniTime/blob/develop/doc/NavigationService.md). This pull request will add it to the go library by defining a function
```go
func (i *Device) Navigation(flag string, narrative string, dist string, progress uint8) error {
  ...
}
```
From the InfiniTime manual
 * `flag`: the graphic instruction as provided by [Pure Maps](https://github.com/rinigus/pure-maps/tree/master/qml/icons/navigation). A list of valid instruction icons can be found [here](https://github.com/rinigus/pure-maps/tree/master/qml/icons/navigation)
 * `narrative`: the instruction in words, eg. "At the roundabout take the first exit".
 * `dist`: a short string describing the distance to the upcoming instruction such as "50 m".
 * `progress`: the percent complete in a `uint8`

Adding this to the `itd` daemon is straightforward
```patch
diff --git a/api/types.go b/api/types.go
index 281a85b..14c84de 100644
--- a/api/types.go
+++ b/api/types.go
@@ -22,6 +22,13 @@ type FwUpgradeData struct {
        Files []string
 }

+type NavigationData struct {
+       Flag         string
+       Narrative    string
+       Dist         string
+       Progress     uint8
+}
+
 type NotifyData struct {
        Title string
        Body  string
diff --git a/socket.go b/socket.go
index 6fcba5c..91b37c0 100644
--- a/socket.go
+++ b/socket.go
@@ -204,6 +204,10 @@ func (i *ITD) Address(_ *server.Context) string {
        return i.dev.Address()
 }

+func (i *ITD) Navigation(_ *server.Context, data api.NavigationData) error {
+       return i.dev.Navigation(data.Flag, data.Narrative, data.Dist, data.Progress)
+}
+
 func (i *ITD) Notify(_ *server.Context, data api.NotifyData) error {
        return i.dev.Notify(data.Title, data.Body)
 }
```

Co-authored-by: Yannick Ulrich <yannick.ulrich@durham.ac.uk>
Reviewed-on: https://gitea.arsenm.dev/Arsen6331/infinitime/pulls/5
Co-authored-by: yannickulrich <yannick.ulrich@protonmail.com>
Co-committed-by: yannickulrich <yannick.ulrich@protonmail.com>
2022-11-03 19:09:06 +00:00
Arsen Musayelyan 0ad671d3f5 Assume MTU if not available from BlueZ 2022-10-25 12:36:34 -07:00
Arsen Musayelyan 54fdd19bec Use timestamp with timezone offset to (finally) fix weather issue 2022-10-20 01:41:15 -07:00
Arsen Musayelyan a01f1b9d92 Close files properly when returning an error (Arsen6331/itd#29) 2022-10-17 12:49:49 -07:00
Arsen Musayelyan bb017b471e Stop DBus errors from causing panics by checking error type (Arsen6331/itd#29) 2022-10-17 12:19:23 -07:00
Arsen Musayelyan 01970b2bb7 Add debug logging to resource loading 2022-10-16 12:39:42 -07:00
Arsen Musayelyan b476853dc0 Fix RemoveAll() and MkdirAll() functions 2022-10-16 12:39:11 -07:00
Arsen Musayelyan 3e9957d419 Implement resource loading feature 2022-08-29 14:43:16 -07:00
Arsen Musayelyan b5d345cdec Remove debug code 2022-08-29 14:23:10 -07:00
Arsen Musayelyan 0eead333b7 Add RemoveAll() and MkdirAll() to the filesystem implementation 2022-08-29 14:22:02 -07:00
Arsen Musayelyan e4c12d32a1 Add Stat() to filesystem implementation 2022-08-29 14:06:56 -07:00
Arsen Musayelyan 5af53d1dc6 Fix bug where the filesystem implementation misreports the amount of bytes written, causing functions such as io.Copy() to return an error 2022-08-29 14:05:33 -07:00
Arsen Musayelyan d199fba93c Update go-bluetooth library for 5.65 support 2022-08-19 14:02:52 -07:00
Arsen Musayelyan 9ed74726c4 Add contexts and improve error handling 2022-05-11 13:22:57 -07:00
Arsen Musayelyan 1533865e4c Fix error handling in (*FS).Remove() 2022-05-05 12:39:16 -07:00
Arsen Musayelyan 65fa04d360 Use adapter ID in btmgmt as well 2022-05-02 20:20:16 -07:00
Arsen Musayelyan 5e5eef15dc Ask for adapter ID in Init() 2022-05-02 20:14:46 -07:00
Arsen Musayelyan 6c3f1b14c9 Clarify DFU debug logs 2022-04-23 20:08:49 -07:00
Arsen Musayelyan 2def4b13ac Add debug logging 2022-04-23 19:58:00 -07:00
Arsen Musayelyan 2f51bde597 Use log level provided in options 2022-04-23 19:07:41 -07:00
Arsen Musayelyan bebd1017c5 Ensure that done signals for Watch functions are handled properly and restart notifications if they stop unexpectedly 2022-04-23 18:40:25 -07:00
Arsen Musayelyan b7a50271be Log when too many disconnects occur rather than removing the device (Arsen6331/itd#10) 2022-04-16 04:24:21 -07:00
Arsen Musayelyan 7026da3f6f Handle case where artists value is a single string rather than a slice. Fixes Arsen6331/itd#9. 2022-03-04 12:04:37 -08:00
Arsen Musayelyan e82981e3fc Rewrite connect/reconnect code 2022-02-21 02:46:20 -08:00
Arsen Musayelyan 738e140bfb Create custom BlueZ agent 2021-12-16 21:30:29 -08:00
Arsen Musayelyan 9250d26fdc Restrict to one open file of each type at a time 2021-12-13 09:56:34 -08:00
Arsen Musayelyan 382b1d9556 Add file transfer progress 2021-12-12 13:25:40 -08:00
Arsen Musayelyan a2ff29ce84 Add weather service 2021-12-12 12:43:43 -08:00
Arsen Musayelyan 522c10a9c0 Set connected property to true in all connecting functions 2021-11-25 20:33:06 -08:00
Arsen Musayelyan bd057815cf Fix checkStatus call in (*Device).FS() 2021-11-25 13:35:58 -08:00
Arsen Musayelyan 58d5036f20 Allow multiple call notification responses and improve error handling 2021-11-25 12:39:43 -08:00
Arsen Musayelyan 9966880bc8 Only allow OnChange() to be called once 2021-11-24 17:21:12 -08:00
Arsen Musayelyan e12ccb2ff5 Fix README errors 2021-11-24 16:51:42 -08:00
Arsen Musayelyan 4b8b2a3b22 Remove playerctl from dependencies and add pactl providers 2021-11-24 16:50:35 -08:00
Arsen Musayelyan e9a611aec8 Buffer message channel for music 2021-11-24 16:41:56 -08:00
Arsen Musayelyan d9823bf0c8 Switch player to MPRIS interface 2021-11-24 16:31:18 -08:00
Arsen Musayelyan ec1548ec0f Remove BLE docs as they have been merged into InfiniTime 2021-11-22 21:20:01 -08:00
Arsen Musayelyan e9a92bac46 Implement BLE filesystem (experimental and will change in the future) 2021-11-22 21:19:30 -08:00
Arsen Musayelyan ec43bad466 Update go-bluetooth to fix BlueZ 5.62 compatibility 2021-11-22 01:14:16 -08:00
Arsen Musayelyan 504a64da93 Upgrade go-bluetooth version 2021-11-01 11:20:10 -07:00
Arsen Musayelyan 7fb1fcce68 Create Init() rather than using init() 2021-11-01 09:19:12 -07:00
Arsen Musayelyan 75942bdb0c Add whitelist to pair() and make case insensitive 2021-10-26 21:42:41 -07:00
Arsen Musayelyan 53aa6f8a0c Add cancel functions to battery level and heart rate 2021-10-22 21:26:33 -07:00