github.com/robgonnella/ardi/v2@v2.4.5-0.20230102052001-11a49de978c3/commands/attach.go (about)

     1  package commands
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  )
     6  
     7  func getAttachCmd(env *CommandEnv) *cobra.Command {
     8  	var port string
     9  	var baud int
    10  	var attachCmd = &cobra.Command{
    11  		Use:   "attach",
    12  		Short: "Attach and print board logs",
    13  		Long:  "\nAttach and print board logs",
    14  		RunE: func(cmd *cobra.Command, args []string) error {
    15  			if port == "" {
    16  				board, err := env.ArdiCore.Cli.GetTargetBoard("", "", true)
    17  				if err != nil {
    18  					return err
    19  				}
    20  				port = board.Port
    21  			}
    22  
    23  			env.ArdiCore.Uploader.SetPortTargets(port, baud)
    24  			defer env.ArdiCore.Uploader.Detach()
    25  			env.ArdiCore.Uploader.Attach()
    26  			return nil
    27  		},
    28  	}
    29  
    30  	attachCmd.Flags().StringVarP(&port, "port", "p", "", "The port your arduino board is connected to")
    31  	attachCmd.Flags().IntVarP(&baud, "baud", "b", 9600, "Specify baud rate of port")
    32  	return attachCmd
    33  }