examples: clean up examples and add blinky1 for Arduino

Arduino has trouble supporting anything that's not extremely simple, so
add a simple blinky example for it. Also, it may be useful anyway.
Этот коммит содержится в:
Ayke van Laethem 2018-09-05 11:49:31 +02:00
родитель 17b5b6ec5b
коммит 9101ea11bf
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E97FF5335DFDFDED
5 изменённых файлов: 35 добавлений и 7 удалений

Просмотреть файл

@ -3,7 +3,7 @@
all: tgo
tgo: build/tgo
.PHONY: all tgo run-hello run-blinky clean fmt gen-device gen-device-nrf
.PHONY: all tgo run-test run-blinky run-blinky2 clean fmt gen-device gen-device-nrf
# Custom LLVM toolchain.
LLVM := $(shell go env GOPATH)/src/github.com/aykevl/llvm/bindings/go/llvm/workdir/llvm_build/bin/
@ -56,11 +56,12 @@ endif
run-hello: build/hello
./build/hello
run-test: build/test
./build/test
run-blinky: build/blinky
./build/blinky
run-blinky: run-blinky2
run-blinky2: build/blinky2
./build/blinky2
ifeq ($(TARGET),pca10040)
flash-%: build/%.hex
@ -74,7 +75,7 @@ clean:
@rm -rf build
fmt:
@go fmt . ./src/examples/hello
@go fmt . ./src/examples/test
@go fmt ./src/runtime/*.go
gen-device: gen-device-nrf

Просмотреть файл

@ -131,7 +131,7 @@ development.
After LLVM has been built, you can run an example with:
make run-hello
make run-test
For a blinky example on the PCA10040 development board, do this:

20
src/examples/blinky1/blinky1.go Обычный файл
Просмотреть файл

@ -0,0 +1,20 @@
package main
// This is the most minimal blinky example and should run almost everywhere.
import (
"machine"
"runtime"
)
func main() {
led := machine.GPIO{machine.LED}
led.Configure(machine.GPIOConfig{Mode: machine.GPIO_OUTPUT})
for {
led.Low()
runtime.Sleep(runtime.Millisecond * 500)
led.High()
runtime.Sleep(runtime.Millisecond * 500)
}
}

Просмотреть файл

@ -1,5 +1,10 @@
package main
// This blinky is a bit more advanced than blink1, with two goroutines running
// at the same time and blinking a different LED. The delay of led2 is slightly
// less than half of led1, which would be hard to do without some sort of
// concurrency.
import (
"machine"
"runtime"

Просмотреть файл

@ -1,5 +1,7 @@
package main
// This file is here to test features of the Go compiler.
import "unicode"
type Thing struct {