Documentation ¶
Overview ¶
Package genericlinux implements a Linux-based board making heavy use of sysfs (https://en.wikipedia.org/wiki/Sysfs). This does not provide a board model itself but provides the underlying logic for any Linux/sysfs based board.
Package genericlinux is for Linux boards, and this particular file is for digital interrupt pins using the ioctl interface, indirectly by way of mkch's gpio package.
Package genericlinux is for Linux boards, and this particular file is for GPIO pins using the ioctl interface, indirectly by way of mkch's gpio package.
Package genericlinux is for Linux boards. This particular file is for using sysfs to interact with PWM devices. All of these functions are idempotent: you can double-export a pin or double-close it with no problems.
Package genericlinux is for boards that run Linux. This file is for I2C support on those boards.
Index ¶
- func GetGPIOBoardMappings(modelName string, boardInfoMappings map[string]BoardInformation) (map[int]GPIOBoardMapping, error)
- func RegisterBoard(modelName string, gpioMappings map[int]GPIOBoardMapping, usePeriphGpio bool)
- type BoardInformation
- type Config
- type GPIOBoardMapping
- type NoBoardFoundError
- type PinDefinition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetGPIOBoardMappings ¶
func GetGPIOBoardMappings(modelName string, boardInfoMappings map[string]BoardInformation) (map[int]GPIOBoardMapping, error)
GetGPIOBoardMappings attempts to find a compatible board-pin mapping for the given mappings.
func RegisterBoard ¶
func RegisterBoard(modelName string, gpioMappings map[int]GPIOBoardMapping, usePeriphGpio bool)
RegisterBoard registers a sysfs based board of the given model.
Types ¶
type BoardInformation ¶
type BoardInformation struct { PinDefinitions []PinDefinition Compats []string }
BoardInformation details pin definitions and device compatibility for a particular board.
type Config ¶
type Config struct { I2Cs []board.I2CConfig `json:"i2cs,omitempty"` SPIs []board.SPIConfig `json:"spis,omitempty"` Analogs []board.AnalogConfig `json:"analogs,omitempty"` DigitalInterrupts []board.DigitalInterruptConfig `json:"digital_interrupts,omitempty"` Attributes utils.AttributeMap `json:"attributes,omitempty"` }
A Config describes the configuration of a board and all of its connected parts.
type GPIOBoardMapping ¶
type GPIOBoardMapping struct { GPIOChipDev string GPIO int GPIOGlobal int GPIOName string PWMSysFsDir string // Absolute path to the directory, empty string for none PWMID int HWPWMSupported bool }
GPIOBoardMapping represents a GPIO pin's location locally within a GPIO chip and globally within sysfs.
type NoBoardFoundError ¶
type NoBoardFoundError struct {
// contains filtered or unexported fields
}
A NoBoardFoundError is returned when no compatible mapping is found for a board during GPIO board mapping.
func (NoBoardFoundError) Error ¶
func (err NoBoardFoundError) Error() string
type PinDefinition ¶
type PinDefinition struct { GPIOChipRelativeIDs map[int]int // ngpio -> relative id GPIONames map[int]string // e.g. ngpio=169=PQ.06 for claraAGXXavier GPIOChipSysFSDir string PinNumberBoard int PinNumberBCM int PinNameCVM string PinNameTegraSOC string PWMChipSysFSDir string // empty for none PWMID int // -1 for none }
PinDefinition describes board specific information on how a particular pin can be accessed via sysfs along with information about its PWM capabilities.