Documentation

Overview

    Package pin declare well known pins.

    pin is about physical pins, not about their logical function.

    While not a protocol strictly speaking, these are "well known constants".

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type BasicPin

    type BasicPin struct {
    	N string
    }

      BasicPin implements Pin as a static pin.

      It doesn't have a usable functionality.

      Example
      Output:
      
      Exotic
      
      var (
      	INVALID  *BasicPin // Either floating or invalid pin
      	GROUND   *BasicPin // Ground
      	V1_8     *BasicPin // 1.8V (filtered)
      	V2_8     *BasicPin // 2.8V (filtered)
      	V3_3     *BasicPin // 3.3V (filtered)
      	V5       *BasicPin // 5V (filtered)
      	DC_IN    *BasicPin // DC IN; this is normally the 5V input
      	BAT_PLUS *BasicPin // LiPo Battery + connector
      )

        These are well known pins.

        func (*BasicPin) Func

        func (b *BasicPin) Func() Func

          Func implements PinFunc.

          Returns FuncNone as pin function.

          func (*BasicPin) Function

          func (b *BasicPin) Function() string

            Function implements Pin.

            Returns "" as pin function.

            func (*BasicPin) Halt

            func (b *BasicPin) Halt() error

              Halt implements conn.Resource.

              func (*BasicPin) Name

              func (b *BasicPin) Name() string

                Name implements Pin.

                func (*BasicPin) Number

                func (b *BasicPin) Number() int

                  Number implements Pin.

                  Returns -1 as pin number.

                  func (*BasicPin) SetFunc

                  func (b *BasicPin) SetFunc(f Func) error

                    SetFunc implements PinFunc.

                    func (*BasicPin) String

                    func (b *BasicPin) String() string

                      String implements conn.Resource.

                      func (*BasicPin) SupportedFuncs

                      func (b *BasicPin) SupportedFuncs() []Func

                        SupportedFuncs implements PinFunc.

                        Returns nil.

                        type Func

                        type Func string

                          Func is a pin function.

                          The Func format must be "[A-Z]+", "[A-Z]+_[A-Z]+" or exceptionally "(In|Out)/(Low|High)".

                          const FuncNone Func = ""

                            FuncNone is returned by PinFunc.Func() for a Pin without an active functionality.

                            func (Func) Generalize

                            func (f Func) Generalize() Func

                              Generalize is the reverse of Specialize().

                              Example
                              Output:
                              
                              SPI_CS
                              SPI_MOSI
                              CSI_D
                              INVALID
                              

                              func (Func) Specialize

                              func (f Func) Specialize(b, l int) Func

                                Specialize converts a "BUS_LINE" function and appends the bug number and line number, to look like "BUS0_LINE1".

                                Use -1 to not add a bus or line number.

                                Example
                                Output:
                                
                                SPI1_CS2
                                SPI1_MOSI
                                CSI_D3
                                INVALID
                                

                                type Pin

                                type Pin interface {
                                	conn.Resource
                                	// Name returns the name of the pin.
                                	Name() string
                                	// Number returns the logical pin number or a negative number if the pin is
                                	// not a GPIO, e.g. GROUND, V3_3, etc.
                                	Number() int
                                	// Function returns a user readable string representation of what the pin is
                                	// configured to do. Common case is In and Out but it can be bus specific pin
                                	// name.
                                	//
                                	// Deprecated: Use PinFunc.Func. Will be removed in v4.
                                	Function() string
                                }

                                  Pin is the minimal common interface shared between gpio.PinIO and analog.PinIO.

                                  type PinFunc

                                  type PinFunc interface {
                                  	// Func returns the pin's current function.
                                  	//
                                  	// The returned value may be specialized or generalized, depending on the
                                  	// actual port. For example it will likely be generalized for ports served
                                  	// over USB (like a FT232H with D0 set as SPI_MOSI) but specialized for
                                  	// ports on the base board (like a RPi3 with GPIO10 set as SPI0_MOSI).
                                  	Func() Func
                                  	// SupportedFuncs returns the possible functions this pin support.
                                  	//
                                  	// Do not mutate the returned slice.
                                  	SupportedFuncs() []Func
                                  	// SetFunc sets the pin function.
                                  	//
                                  	// Example use is to reallocate a RPi3's GPIO14 active function between
                                  	// UART0_TX and UART1_TX.
                                  	SetFunc(f Func) error
                                  }

                                    PinFunc is a supplementary interface that enables specifically querying for the pin function.

                                    TODO(maruel): It will be merged into interface Pin for v4.

                                    Example
                                    Output:
                                    
                                    

                                    Source Files

                                    Directories

                                    Path Synopsis
                                    Package pinreg is a registry for the physical headers (made up of pins) on a host.
                                    Package pinreg is a registry for the physical headers (made up of pins) on a host.