mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-19 20:14:04 +00:00
avr: clean up ATtiny definitions
Add definitions for constants like PB0.
This commit is contained in:
committed by
Ron Evans
parent
3b1759f463
commit
8c86eae924
@@ -8,12 +8,12 @@ func CPUFrequency() uint32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
P0 Pin = 0
|
P0 Pin = PB0
|
||||||
P1 Pin = 1
|
P1 Pin = PB1
|
||||||
P2 Pin = 2
|
P2 Pin = PB2
|
||||||
P3 Pin = 3
|
P3 Pin = PB3
|
||||||
P4 Pin = 4
|
P4 Pin = PB4
|
||||||
P5 Pin = 5
|
P5 Pin = PB5
|
||||||
|
|
||||||
LED = P1
|
LED = P1
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2,30 +2,6 @@
|
|||||||
|
|
||||||
package machine
|
package machine
|
||||||
|
|
||||||
import (
|
|
||||||
"device/avr"
|
|
||||||
"runtime/volatile"
|
|
||||||
)
|
|
||||||
|
|
||||||
// Configure sets the pin to input or output.
|
|
||||||
func (p Pin) Configure(config PinConfig) {
|
|
||||||
if config.Mode == PinOutput { // set output bit
|
|
||||||
avr.DDRB.SetBits(1 << uint8(p))
|
|
||||||
} else { // configure input: clear output bit
|
|
||||||
avr.DDRB.ClearBits(1 << uint8(p))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p Pin) getPortMask() (*volatile.Register8, uint8) {
|
|
||||||
return avr.PORTB, 1 << uint8(p)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get returns the current value of a GPIO pin.
|
|
||||||
func (p Pin) Get() bool {
|
|
||||||
val := avr.PINB.Get() & (1 << uint8(p))
|
|
||||||
return (val > 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
// UART on the AVR is a dummy implementation. UART has not been implemented for ATtiny
|
// UART on the AVR is a dummy implementation. UART has not been implemented for ATtiny
|
||||||
// devices.
|
// devices.
|
||||||
type UART struct {
|
type UART struct {
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
// +build attiny85
|
||||||
|
|
||||||
|
package machine
|
||||||
|
|
||||||
|
import (
|
||||||
|
"device/avr"
|
||||||
|
"runtime/volatile"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PB0 Pin = iota
|
||||||
|
PB1
|
||||||
|
PB2
|
||||||
|
PB3
|
||||||
|
PB4
|
||||||
|
PB5
|
||||||
|
)
|
||||||
|
|
||||||
|
// Configure sets the pin to input or output.
|
||||||
|
func (p Pin) Configure(config PinConfig) {
|
||||||
|
if config.Mode == PinOutput { // set output bit
|
||||||
|
avr.DDRB.SetBits(1 << uint8(p))
|
||||||
|
} else { // configure input: clear output bit
|
||||||
|
avr.DDRB.ClearBits(1 << uint8(p))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p Pin) getPortMask() (*volatile.Register8, uint8) {
|
||||||
|
return avr.PORTB, 1 << uint8(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get returns the current value of a GPIO pin.
|
||||||
|
func (p Pin) Get() bool {
|
||||||
|
val := avr.PINB.Get() & (1 << uint8(p))
|
||||||
|
return (val > 0)
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user