machine

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2019 License: BSD-3-Clause Imports: 0 Imported by: 8

Documentation

Index

Constants

View Source
const NoPin = Pin(-1)

NoPin explicitly indicates "not a pin". Use this pin if you want to leave one of the pins in a peripheral unconfigured (if supported by the hardware).

Variables

This section is empty.

Functions

This section is empty.

Types

type ADC

type ADC struct {
	Pin Pin
}

type PWM

type PWM struct {
	Pin Pin
}

type Pin added in v0.6.0

type Pin int8

Pin is a single pin on a chip, which may be connected to other hardware devices. It can either be used directly as GPIO pin or it can be used in other peripherals like ADC, I2C, etc.

const (
	LED  Pin = LED1
	LED1 Pin = 0
	LED2 Pin = 0
	LED3 Pin = 0
	LED4 Pin = 0
)

Fake LED numbers, for testing.

const (
	BUTTON  Pin = BUTTON1
	BUTTON1 Pin = 0
	BUTTON2 Pin = 0
	BUTTON3 Pin = 0
	BUTTON4 Pin = 0
)

Fake button numbers, for testing.

func (Pin) Configure added in v0.6.0

func (p Pin) Configure(config PinConfig)

func (Pin) Get added in v0.6.0

func (p Pin) Get() bool

func (Pin) High added in v0.6.0

func (p Pin) High()

High sets this GPIO pin to high, assuming it has been configured as an output pin. It is hardware dependent (and often undefined) what happens if you set a pin to high that is not configured as an output pin.

func (Pin) Low added in v0.6.0

func (p Pin) Low()

Low sets this GPIO pin to low, assuming it has been configured as an output pin. It is hardware dependent (and often undefined) what happens if you set a pin to low that is not configured as an output pin.

func (Pin) Set added in v0.6.0

func (p Pin) Set(value bool)

type PinConfig added in v0.6.0

type PinConfig struct {
	Mode PinMode
}

type PinMode added in v0.6.0

type PinMode uint8
const (
	PinInput PinMode = iota
	PinOutput
)

type RingBuffer

type RingBuffer struct {
	// contains filtered or unexported fields
}

RingBuffer is ring buffer implementation inspired by post at https://www.embeddedrelated.com/showthread/comp.arch.embedded/77084-1.php

It has some limitations currently due to how "volatile" variables that are members of a struct are not compiled correctly by TinyGo. See https://github.com/tinygo-org/tinygo/issues/151 for details.

func NewRingBuffer

func NewRingBuffer() *RingBuffer

NewRingBuffer returns a new ring buffer.

func (*RingBuffer) Get

func (rb *RingBuffer) Get() (byte, bool)

Get returns a byte from the buffer. If the buffer is empty, the method will return a false as the second value.

func (*RingBuffer) Put

func (rb *RingBuffer) Put(val byte) bool

Put stores a byte in the buffer. If the buffer is already full, the method will return false.

func (*RingBuffer) Used

func (rb *RingBuffer) Used() uint8

Used returns how many bytes in buffer have been used.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL