Documentation
This commit is contained in:
		
							parent
							
								
									321b94a486
								
							
						
					
					
						commit
						8a29bf3351
					
				
							
								
								
									
										54
									
								
								README.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								README.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | ||||||
|  | # BLE | ||||||
|  | 
 | ||||||
|  | A modern, cross-platform Go library for Bluetooth Low Energy | ||||||
|  | 
 | ||||||
|  | This package is a working but incomplete interface for access to Bluetooth | ||||||
|  | Low Energy. It is intended to support multiple operating systems with a | ||||||
|  | uniform API. Currently, MacOS and Android are supported. Android support | ||||||
|  | requires the use of [Gio](https://gioui.org).
 | ||||||
|  | 
 | ||||||
|  | The API is asyncrhonous and event driven. To access Bluetooth hardware, | ||||||
|  | first create a `BLE` variable with `NewBLE()`. On Android, you must also | ||||||
|  | call `Enable` with a pointer to your Gio Window. | ||||||
|  | 
 | ||||||
|  | ```go | ||||||
|  | import ( | ||||||
|  | 	... | ||||||
|  | 	"git.wow.st/gmp/ble" | ||||||
|  | 	"gioui.org/app" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | func runloop() { | ||||||
|  | 	b := ble.NewBle() | ||||||
|  | 	w := app.NewWindow() | ||||||
|  | 	b.Enable(w) | ||||||
|  | 	... | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Once enabled, you can call the primary API functions, `Scan`, `StopScan`, | ||||||
|  | `Connect`, and `CancelConnection`. You can also query the state of the | ||||||
|  | Bluetooth hardware by calling `State`. | ||||||
|  | 
 | ||||||
|  | Calling `Events` on your `BLE` object returns a channel on which API events  | ||||||
|  | are be delivered. These events notify your program when the state of the | ||||||
|  | BLE hardware changes (e.g. powered on or off), peripherals are connected, | ||||||
|  | services or characteristics are discovered, or values for characteristics | ||||||
|  | are updated. | ||||||
|  | 
 | ||||||
|  | Using Gio, your main event loop will look something like this: | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 	for { | ||||||
|  | 		select { | ||||||
|  | 		case e := <-b.Events(): | ||||||
|  | 			switch e := e.(type) { | ||||||
|  | 				// Handle BLE Events
 | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		case e := <-w.Events(): | ||||||
|  | 			switch e := e.(type) { | ||||||
|  | 				// Handle Gio events
 | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | ``` | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user