Documentation ¶
Overview ¶
Package upload allows to upload sketches into a board connected to the computer It can do it via serial port or via network
**Usage for a serial upload**
Make sure that you have a compiled sketch somewhere on your disk
```go commandline = ``"/usr/bin/avrdude" "-C/usr/bin/avrdude.conf" -v -patmega32u4 -cavr109 -P/dev/ttyACM0 -b57600 -D "-Uflash:w:./sketch.hex:i"`` err := upload.Serial("/dev/ttyACM0", commandline, upload.Extra{}, nil) ```
note that the commandline contains the path of the sketch (sketch.hex)
**Usage for a network upload**
Make sure that you have a compiled sketch somewhere on your disk
```go err := upload.Network("127.0.10.120", "arduino:avr:yun, "./sketch.hex", "", upload.Auth{}, nil) ```
The commandline can be empty or it can contain instructions (depends on the board)
**Resolving commandlines**
If you happen to have an unresolved commandline (full of {} parameters) you can resolve it
```go t := tools.Tools{} commandline = upload.Resolve("/dev/ttyACM0", "arduino:avr:leonardo", "./sketch.hex", commandline, upload.Extra{}, t) ```
t must implement the locater interface (the Tools package does!)
**Logging** If you're interested in the output of the commands, you can implement the logger interface. Here's an example:
```go logger := logrus.New() logger.Level = logrus.DebugLevel upload.Serial("/dev/ttyACM0", commandline, upload.Extra{}, logger) ```
Index ¶
- Variables
- func Kill()
- func Network(port, board string, files []string, commandline string, auth Auth, l Logger, ...) error
- func PartiallyResolve(board, file, platformPath, commandline string, extra Extra, t Locater) (string, error)
- func Serial(port, commandline string, extra Extra, l Logger) error
- type Auth
- type Extra
- type Locater
- type Logger
Constants ¶
This section is empty.
Variables ¶
var Busy = false
Busy tells wether the programmer is doing something
Functions ¶
func Network ¶
func Network(port, board string, files []string, commandline string, auth Auth, l Logger, SSH bool) error
Network performs a network upload
Types ¶
type Auth ¶
type Auth struct { Username string `json:"username"` Password string `json:"password"` PrivateKey string `json:"private_key"` Port int `json:"port"` }
Auth contains username and password used for a network upload
type Extra ¶
type Extra struct { Use1200bpsTouch bool `json:"use_1200bps_touch"` WaitForUploadPort bool `json:"wait_for_upload_port"` Network bool `json:"network"` Auth Auth `json:"auth"` Verbose bool `json:"verbose"` ParamsVerbose string `json:"params_verbose"` ParamsQuiet string `json:"params_quiet"` SSH bool `json:"ssh,omitempty"` }
Extra contains some options used during the upload