mirror of
https://github.com/ivanizag/izapple2.git
synced 2024-12-23 00:30:21 +00:00
36 lines
469 B
Go
36 lines
469 B
Go
package component
|
|
|
|
func ByteToPins(v uint8) [8]bool {
|
|
var pins [8]bool
|
|
for i := 0; i < 8; i++ {
|
|
pins[i] = (v & 1) != 0
|
|
v >>= 1
|
|
}
|
|
return pins
|
|
}
|
|
|
|
func PinsToByte(pins [8]bool) uint8 {
|
|
v := uint8(0)
|
|
for i := 7; i >= 0; i-- {
|
|
v <<= 1
|
|
if pins[i] {
|
|
v++
|
|
}
|
|
}
|
|
return v
|
|
}
|
|
|
|
func ReversePins(data uint8) uint8 {
|
|
pins := ByteToPins(data)
|
|
return PinsToByte([8]bool{
|
|
pins[7],
|
|
pins[6],
|
|
pins[5],
|
|
pins[4],
|
|
pins[3],
|
|
pins[2],
|
|
pins[1],
|
|
pins[0],
|
|
})
|
|
}
|