Documentation ¶
Index ¶
- Constants
- Variables
- type Firmata
- func (f *Firmata) AnalogMappingQuery() error
- func (f *Firmata) AnalogWrite(pin int, value int) error
- func (f *Firmata) CapabilitiesQuery() error
- func (f *Firmata) Connect(conn io.ReadWriteCloser) (err error)
- func (f *Firmata) Connected() bool
- func (f *Firmata) DigitalWrite(pin int, value int) error
- func (f *Firmata) Disconnect() (err error)
- func (f *Firmata) FirmwareQuery() error
- func (f *Firmata) I2cConfig(delay int) error
- func (f *Firmata) I2cRead(address int, numBytes int) error
- func (f *Firmata) I2cWrite(address int, data []byte) error
- func (f *Firmata) PinStateQuery(pin int) error
- func (f *Firmata) Pins() []Pin
- func (f *Firmata) ProtocolVersionQuery() error
- func (f *Firmata) ReadString() <-chan string
- func (f *Firmata) ReportAnalog(pin int, state int) error
- func (f *Firmata) ReportDigital(pin int, state int) error
- func (f *Firmata) Reset() error
- func (f *Firmata) SendString(str string) error
- func (f *Firmata) ServoConfig(pin int, max int, min int) error
- func (f *Firmata) SetPinMode(pin int, mode int) error
- type FirmataCommand
- type I2cReply
- type Pin
- type SerialPort
- type SysExCommand
Constants ¶
const ( Input = 0x00 Output = 0x01 Analog = 0x02 Pwm = 0x03 Servo = 0x04 SPI_MODE0 = 0x00 SPI_MODE1 = 0x04 SPI_MODE2 = 0x08 SPI_MODE3 = 0x0C SoftSerial SerialPort = 0x00 HardSerial1 SerialPort = 0x01 HardSerial2 SerialPort = 0x02 HardSerial3 SerialPort = 0x03 I2CModeWrite byte = 0x00 I2CModeRead byte = 0x01 I2CModeContinuousRead byte = 0x02 I2CModeStopReading byte = 0x03 )
Pin Modes
Variables ¶
var ErrConnected = errors.New("client is already connected")
Errors
Functions ¶
This section is empty.
Types ¶
type Firmata ¶
type Firmata struct { FirmwareName string ProtocolVersion string // contains filtered or unexported fields }
Firmata represents a client connection to a firmata board
func (*Firmata) AnalogMappingQuery ¶
AnalogMappingQuery sends the AnalogMappingQuery sysex code.
func (*Firmata) AnalogWrite ¶
AnalogWrite writes value to pin.
func (*Firmata) CapabilitiesQuery ¶
CapabilitiesQuery sends the CapabilityQuery sysex code.
func (*Firmata) Connect ¶
func (f *Firmata) Connect(conn io.ReadWriteCloser) (err error)
Connect connects to the Firmata given conn. It first resets the firmata board then continuously polls the firmata board for new information when it's available.
func (*Firmata) DigitalWrite ¶
DigitalWrite writes value to pin.
func (*Firmata) Disconnect ¶
Disconnect disconnects the Firmata
func (*Firmata) FirmwareQuery ¶
FirmwareQuery sends the FirmwareQuery sysex code.
func (*Firmata) I2cConfig ¶
I2cConfig configures the delay in which a register can be read from after it has been written to.
func (*Firmata) PinStateQuery ¶
PinStateQuery sends a PinStateQuery for pin.
func (*Firmata) ProtocolVersionQuery ¶
ProtocolVersionQuery sends the ProtocolVersion sysex code.
func (*Firmata) ReadString ¶
func (*Firmata) ReportAnalog ¶
ReportAnalog enables or disables analog reporting for pin, a non zero state enables reporting
func (*Firmata) ReportDigital ¶
ReportDigital enables or disables digital reporting for pin, a non zero state enables reporting
func (*Firmata) SendString ¶
func (*Firmata) ServoConfig ¶
ServoConfig sets the min and max pulse width for servo PWM range
type FirmataCommand ¶
type FirmataCommand byte
const ( DigitalMessage FirmataCommand = 0x90 DigitalMessageRangeStart FirmataCommand = 0x90 DigitalMessageRangeEnd FirmataCommand = 0x9F ReportAnalog FirmataCommand = 0xC0 ReportDigital FirmataCommand = 0xD0 AnalogMessage FirmataCommand = 0xE0 AnalogMessageRangeStart FirmataCommand = 0xE0 AnalogMessageRangeEnd FirmataCommand = 0xEF StartSysex FirmataCommand = 0xF0 PinMode FirmataCommand = 0xF4 EndSysex FirmataCommand = 0xF7 ProtocolVersion FirmataCommand = 0xF9 SystemReset FirmataCommand = 0xFF )
Firmata commands
func (FirmataCommand) String ¶
func (c FirmataCommand) String() string
type SerialPort ¶
type SerialPort byte
type SysExCommand ¶
type SysExCommand byte
const ( Serial SysExCommand = 0x60 AnalogMappingQuery SysExCommand = 0x69 AnalogMappingResponse SysExCommand = 0x6A CapabilityQuery SysExCommand = 0x6B CapabilityResponse SysExCommand = 0x6C PinStateQuery SysExCommand = 0x6D PinStateResponse SysExCommand = 0x6E ServoConfig SysExCommand = 0x70 StringData SysExCommand = 0x71 ShiftData SysExCommand = 0x75 // a bitstream to/from a shift register I2CRequest SysExCommand = 0x76 I2CReply SysExCommand = 0x77 I2CConfig SysExCommand = 0x78 FirmwareQuery SysExCommand = 0x79 SamplingInterval SysExCommand = 0x7A // set the poll rate of the main loop SysExNonRealtime SysExCommand = 0x7E // MIDI Reserved for non-realtime messages SysExRealtime SysExCommand = 0x7F // MIDI Reserved for realtime messages SysExSPI SysExCommand = 0x80 )
SysEx Commands
func (SysExCommand) String ¶
func (c SysExCommand) String() string