23 lines
326 B
Go
23 lines
326 B
Go
|
package hardware
|
||
|
|
||
|
type Mock struct {
|
||
|
currValue int16
|
||
|
delta int16
|
||
|
}
|
||
|
|
||
|
func NewMock() *Mock {
|
||
|
return &Mock{currValue: 0, delta: 1}
|
||
|
}
|
||
|
|
||
|
func (m *Mock) Read() (uint16, error) {
|
||
|
m.currValue += m.delta
|
||
|
|
||
|
if m.currValue >= 100 {
|
||
|
m.delta = -1
|
||
|
} else if m.currValue <= 0 {
|
||
|
m.delta = 1
|
||
|
}
|
||
|
|
||
|
return uint16(m.currValue), nil
|
||
|
}
|