A.J. Lucas
cf51caa6ad
gap/windows: Scan should set scanning mode to active to match other platforms
2023-05-11 13:54:22 +02:00
Ayke van Laethem
8260f2fb93
linux: do not randomize order of returned discovered services/chars
...
Previously the list of services and characteristics wasn't sorted, and
because of the way Go maps work they were in fact randomized.
This commit fixes the sorting for services and characteristics, which
both suffered from the same lack of sorting.
This fixes https://github.com/tinygo-org/bluetooth/issues/135 .
2023-05-07 12:38:34 +02:00
Ayke van Laethem
5717af56e0
linux: fix characteristic scan order
...
This is very much like https://github.com/tinygo-org/bluetooth/pull/161 ,
but for Linux instead. In fact, I've copied the structure of the code
because it works for macOS.
I have tested that the scan order is now as requested. I also verified
that multiple characteristics with the same UUID are now supported, but
support is still a bit buggy: they appear in a random order (due to Go
map iteration order). I will fix this in the next commit.
2023-05-07 12:38:34 +02:00
Ayke van Laethem
7b36b3035c
darwin: fix characteristic scan order
...
This fixes two bugs actually:
1. The returned characteristics weren't in the order as given in the
UUID slice.
2. Duplicate characteristics weren't handled correctly.
I tested the first point, and it now works correctly.
I did not fully test the second point, it probably doesn't work
correctly yet because of the Device.characteristics map that is indexed
by UUID. This should be fixed in a separate change.
2023-05-07 12:32:40 +02:00
Baden Parr
51dff6faa7
linux: implement disconnect handeling
...
linux: remove unnecessary sending of nil prop change
linux: first pass at watching connection events
linux: remove unneeded debug prints
linux: fix spelling
linux: fix pointer address references
2023-05-04 14:02:39 +02:00
Baden Parr
3523e14bfc
macos: implement disconnect handeling
...
macos: add disconnect handler
macos: add default timeout and params.ConnectionTimeout handling
macos: add central manager CancelConnect call on connection timeout
macos: added address to connectHanndler call upon successful connection
macos: remove printing error on peripheral disconnection
macos: move and rename default connection timeout
macos: wait for disconnection upon timed out connection attempt
2023-05-04 14:02:39 +02:00
Yurii Soldak
e5b9a898ad
nrf528xx: handle BLE_GAP_EVT_PHY_UPDATE_REQUEST
...
and explicitly ignore some other events
2023-05-02 12:04:01 +02:00
deadprogram
113f5fa503
build: switch to ghcr.io for docker container
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-04-30 01:06:44 +02:00
Ayke van Laethem
71f17598be
gap: Set and SetRandom methods should have a pointer receiver
...
Without it, these calls are a no-op.
Fixes: https://github.com/tinygo-org/bluetooth/issues/144
In particular, this fixes a problem where IsRandom() would always return
false on Linux. With this fix, it correctly returns whether the address
is a random address.
2023-04-29 22:13:00 +02:00
Ayke van Laethem
d4bca3e97f
README: add note on macOS Big Sur and iTerm2
...
Also see: https://github.com/tinygo-org/bluetooth/issues/48
2023-04-27 17:14:19 +02:00
Ayke van Laethem
b06d666dbf
all: remove Addresser
...
Remove the Addresser type. It isn't really necessary (the Address type
can change between OSes) and makes it difficult to fix a heap allocation
in interrupts (on the Nordic SoftDevices).
This is a backwards incompatible change, but only programs that use
SetConnectHandler should notice this.
2023-04-26 23:37:36 +02:00
Ayke van Laethem
03d77ace1c
Makefile: add examples/stop-advertisement
...
This example wasn't included in the smoke tests, and because of that I
initially missed the use of Addresser here.
2023-04-26 23:37:36 +02:00
Ayke van Laethem
e0e261e166
softdevice: avoid a heap allocation in the SoftDevice event handler
...
Events are delivered using interrupts. But there was an accidental heap
allocation in the interrupt.
Fix it by using a global instead. This is safe (and doesn't need
volatile accesses), as the global is only ever accessed from that
particular interrupt.
2023-04-26 23:37:36 +02:00
Alex
3f79b9e4e8
Added Indicate support to Windows driver
2023-02-26 22:29:27 +01:00
deadprogram
4c798a1e7d
docs: correct badge link for GH actions
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-02-17 23:39:06 +01:00
deadprogram
570c0ce6e6
build: work around for CVE-2022-24765
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-02-12 08:40:03 +01:00
deadprogram
0bc6805828
build: update to actions/checkout@v3
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2023-02-12 08:40:03 +01:00
Bram van Neerven
50f176c7c8
delete old data folder
2023-01-29 23:54:12 +01:00
Bram van Neerven
34cb58db57
update uuid generation
2023-01-29 23:54:12 +01:00
Jagoba Gascón
be99863ef5
winrt-go: bump to latest
...
The latest winrt-go version fixes an access violation error caused by
some Go pointers being referenced in non-Go memory. More info:
https://github.com/saltosystems/winrt-go/issues/63
2023-01-25 13:02:48 +01:00
Jagoba Gascón
d0178d95f6
mtu-{darwin,linux,windows,sd}: add get mtu function
2022-10-19 20:02:55 +02:00
nv-h
c85b6cc9d3
windows: support empty manufacturer data
...
Fixed a runtime error when `manufacturerData` is empty.
2022-10-19 08:48:34 +02:00
deadprogram
e79ea1e4e9
release: updates for v0.6.0
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-10-02 10:55:42 +02:00
deadprogram
792f4f079e
all: update dependencies before release
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-10-02 10:55:07 +02:00
deadprogram
79bbc2ed6d
gap/linux: add helpful comment
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-29 10:49:08 +02:00
deadprogram
57f82b6241
gap/linux: workaround for https://github.com/muka/go-bluetooth/issues/163
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-29 10:49:08 +02:00
deadprogram
39e6a357ea
linux: update to latest muka/go-bluetooth
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-29 10:49:08 +02:00
Jagoba Gascón Sánchez
e4e6976c64
windows: disable cache when reading characteristics
2022-09-26 09:17:55 +02:00
deadprogram
8fae597745
docs: update README with info on Windows support
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-25 15:23:24 +02:00
Jagoba Gascón
e843ce91a6
windows: add characteristic read, write and notify operations
2022-09-15 19:35:42 +02:00
Jagoba Gascón
1b30ec4619
windows: add characteristic discovery
2022-09-15 15:51:38 +02:00
Jagoba Gascón
2784a6b2d9
windows: add service discovery
2022-09-14 19:11:47 +02:00
Jagoba Gascón Sánchez
7113f8c021
windows: add device connection and disconnection
2022-09-12 11:07:57 +02:00
Jagoba Gascón Sánchez
8f13d06111
windows: add winrt-go dependency and remove manually generated code
2022-09-08 14:07:46 +02:00
deadprogram
7ec948bf3f
macos: update to tinygo-org fork of cbgo v0.0.4
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-05 15:58:01 +02:00
deadprogram
79285321af
all: unify UUID16 creation for all platforms
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-05 15:58:01 +02:00
deadprogram
0b701c55ca
macos: use the same UUID format as expected by other standard
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-09-05 15:58:01 +02:00
deadprogram
cc5adf3789
macos: update to point to tinygo-org fork
2022-09-05 15:58:01 +02:00
Bart Meuris
948ea8c7ee
Improve UUID ( #107 )
...
Improvements to UUID:
* uuid now works with upper and lowercase
* sped up UUID.String() using stringbuilder, added benchmark
* UUID.String(): grow builder to prevent allocs
* make test in cicd happy
2022-08-25 14:22:52 +02:00
Ron Evans
25349d381e
build: add Github Action based CI build ( #108 )
...
* build: add Github Action based CI build
2022-07-12 17:16:21 +02:00
deadprogram
e7671110ad
linux: update to latest go-bluetooth package
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-05-22 14:39:13 +02:00
Jagoba Gascón
9b9512fbc9
advertising: add manufacturer data field to advertisement payload
2022-05-22 14:36:27 +02:00
Yurii Soldak
20f0ce6119
gap: stop advertising
2022-05-22 08:59:22 +02:00
deadprogram
8dc1e155a0
all: prepare for release 0.5.0
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-04-29 13:47:49 +02:00
deadprogram
02fb2457d9
docs: update license year
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-04-29 13:47:18 +02:00
deadprogram
25d288fd10
all: update to drivers 0.20.0
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-04-29 11:53:23 +02:00
deadprogram
8cab553c59
all: update modules to use dev branch with TinyGo 0.23-pre compatible drivers
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2022-04-21 18:13:49 +02:00
Nicholas Page
7dee8d4d82
Fix ParseMAC bug
2022-04-19 13:44:36 +02:00
Ayke van Laethem
96a2be1571
Add //go:build lines for Go 1.18
...
This will be needed eventually, so add them now already.
2022-04-19 11:00:08 +02:00
Ayke van Laethem
4c0df2892d
nrf: fix CGo errors after TinyGo update
...
For details, see: https://github.com/tinygo-org/tinygo/pull/2774
2022-04-13 18:59:12 +02:00