jetson

package
v2.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 7, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

README

Jetson Nano

The Jetson Nano is ARM based single board computer with digital & PWM GPIO, and i2c interfaces built in.

The Gobot adaptor for the Jetson Nano should support Jetno Nano.

For more info about the Jetson Nano platform, click here.

How to Install

Please refer to the main README.md

We recommend updating to the latest jetson-nano OS when using the Jetson Nano, however Gobot should also support older versions of the OS, should your application require this.

How to Use

The pin numbering used by your Gobot program should match the way your board is labeled right on the board itself.

package main

import (
  "time"

  "gobot.io/x/gobot/v2"
  "gobot.io/x/gobot/v2/drivers/gpio"
  "gobot.io/x/gobot/v2/platforms/jetson"
)

func main() {
  r := jetson.NewAdaptor()
  led := gpio.NewLedDriver(r, "40")

  work := func() {
    gobot.Every(1*time.Second, func() {
      led.Toggle()
    })
  }

  robot := gobot.NewRobot("blinkBot",
    []gobot.Connection{r},
    []gobot.Device{led},
    work,
  )

  robot.Start()

}

How to Connect

Compiling

Once you have compiled your code, you can upload your program and execute it on the Jetson Nano from your workstation using the scp and ssh commands like this:

scp jetson-nano_blink jn@192.168.1.xxx:/home/jn/
ssh -t jn@192.168.1.xxx "./jetson-nano_blink"

Documentation

Overview

Package jetson contains the Gobot adaptor for the Jetson Nano.

For further information refer to Jetson README: https://github.com/hybridgroup/gobot/blob/master/platforms/jetson/README.md

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Adaptor

type Adaptor struct {
	*adaptors.DigitalPinsAdaptor
	*adaptors.I2cBusAdaptor
	*adaptors.SpiBusAdaptor
	// contains filtered or unexported fields
}

Adaptor is the Gobot adaptor for the Jetson Nano

func NewAdaptor

func NewAdaptor(opts ...func(adaptors.Optioner)) *Adaptor

NewAdaptor creates a Jetson Nano adaptor

Optional parameters:

adaptors.WithGpiodAccess():	use character device gpiod driver instead of sysfs
adaptors.WithSpiGpioAccess(sclk, nss, mosi, miso):	use GPIO's instead of /dev/spidev#.#

func (*Adaptor) Connect

func (c *Adaptor) Connect() error

Connect create new connection to board and pins.

func (*Adaptor) Finalize

func (c *Adaptor) Finalize() error

Finalize closes connection to board and pins

func (*Adaptor) Name

func (c *Adaptor) Name() string

Name returns the Adaptor's name

func (*Adaptor) PWMPin

func (c *Adaptor) PWMPin(pin string) (gobot.PWMPinner, error)

PWMPin returns a Jetson Nano. PWMPin which provides the gobot.PWMPinner interface

func (*Adaptor) PwmWrite

func (c *Adaptor) PwmWrite(pin string, val byte) (err error)

PwmWrite writes a PWM signal to the specified pin

func (*Adaptor) ServoWrite

func (c *Adaptor) ServoWrite(pin string, angle byte) (err error)

ServoWrite writes a servo signal to the specified pin

func (*Adaptor) SetName

func (c *Adaptor) SetName(n string)

SetName sets the Adaptor's name

type PWMPin

type PWMPin struct {
	// contains filtered or unexported fields
}

PWMPin is the Jetson Nano implementation of the PWMPinner interface. It uses gpio pwm.

func NewPWMPin

func NewPWMPin(sys *system.Accesser, path string, fn string) *PWMPin

NewPWMPin returns a new PWMPin pin32 pwm0, pin33 pwm2

func (*PWMPin) DutyCycle

func (p *PWMPin) DutyCycle() (uint32, error)

DutyCycle returns the cached duty cycle for the pin

func (*PWMPin) Enabled

func (p *PWMPin) Enabled() (bool, error)

Enabled returns the cached enabled state of the PWM pin

func (*PWMPin) Export

func (p *PWMPin) Export() error

Export exports the pin for use by the Jetson Nano

func (*PWMPin) Period

func (p *PWMPin) Period() (period uint32, err error)

Period returns the cached PWM period for pin

func (*PWMPin) Polarity

func (p *PWMPin) Polarity() (bool, error)

Polarity returns always the polarity "true" for normal

func (*PWMPin) SetDutyCycle

func (p *PWMPin) SetDutyCycle(duty uint32) error

SetDutyCycle writes the duty cycle to the pin

func (*PWMPin) SetEnabled

func (p *PWMPin) SetEnabled(e bool) error

SetEnabled enables/disables the PWM pin

func (*PWMPin) SetPeriod

func (p *PWMPin) SetPeriod(period uint32) error

SetPeriod uses Jetson Nano setting and cannot be changed once set

func (*PWMPin) SetPolarity

func (p *PWMPin) SetPolarity(bool) error

SetPolarity does not do anything when using Jetson Nano

func (*PWMPin) Unexport

func (p *PWMPin) Unexport() error

Unexport releases the pin from the operating system

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL