You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2017/05/20 01:26:16 UTC
incubator-mynewt-newtmgr git commit: nmxact - Remove obsolete
ble_dual example app.
Repository: incubator-mynewt-newtmgr
Updated Branches:
refs/heads/master 99af734d9 -> 130b9ea9d
nmxact - Remove obsolete ble_dual example app.
Project: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/commit/130b9ea9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/tree/130b9ea9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/diff/130b9ea9
Branch: refs/heads/master
Commit: 130b9ea9dcd1d927e28eadcdf1d36cb4b4da9bbc
Parents: 99af734
Author: Christopher Collins <cc...@apache.org>
Authored: Fri May 19 18:26:02 2017 -0700
Committer: Christopher Collins <cc...@apache.org>
Committed: Fri May 19 18:26:02 2017 -0700
----------------------------------------------------------------------
nmxact/example/ble_dual/ble_dual.go | 283 -------------------------------
1 file changed, 283 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newtmgr/blob/130b9ea9/nmxact/example/ble_dual/ble_dual.go
----------------------------------------------------------------------
diff --git a/nmxact/example/ble_dual/ble_dual.go b/nmxact/example/ble_dual/ble_dual.go
deleted file mode 100644
index d446c3a..0000000
--- a/nmxact/example/ble_dual/ble_dual.go
+++ /dev/null
@@ -1,283 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package main
-
-import (
- "fmt"
- "io/ioutil"
- "os"
- "os/signal"
- "sync"
- "syscall"
-
- log "github.com/Sirupsen/logrus"
-
- "mynewt.apache.org/newt/util"
- "mynewt.apache.org/newtmgr/nmxact/bledefs"
- "mynewt.apache.org/newtmgr/nmxact/nmble"
- "mynewt.apache.org/newtmgr/nmxact/nmp"
- "mynewt.apache.org/newtmgr/nmxact/nmxutil"
- "mynewt.apache.org/newtmgr/nmxact/sesn"
- "mynewt.apache.org/newtmgr/nmxact/xact"
- "mynewt.apache.org/newtmgr/nmxact/xport"
-)
-
-func configExitHandler(x xport.Xport) {
- onExit := func() {
- x.Stop()
- }
-
- sigChan := make(chan os.Signal, 1)
- signal.Notify(sigChan)
-
- go func() {
- for {
- s := <-sigChan
- switch s {
- case os.Interrupt, syscall.SIGTERM:
- onExit()
- os.Exit(0)
- case syscall.SIGQUIT:
- util.PrintStacks()
- }
- }
- }()
-}
-
-func sendEcho(s sesn.Sesn) error {
- c := xact.NewEchoCmd()
- c.Payload = fmt.Sprintf("hello %p", s)
-
- res, err := c.Run(s)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error executing echo command: %s\n",
- err.Error())
- return err
- }
-
- if res.Status() != 0 {
- fmt.Printf("Peer responded negatively to echo command; status=%d\n",
- res.Status())
- }
-
- eres := res.(*xact.EchoResult)
- fmt.Printf("Peer echoed back: %s\n", eres.Rsp.Payload)
-
- return nil
-}
-
-func sendImageState(s sesn.Sesn) error {
- c := xact.NewImageStateReadCmd()
-
- res, err := c.Run(s)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error executing image state command: %s\n",
- err.Error())
- return err
- }
-
- if res.Status() != 0 {
- fmt.Printf("Peer responded negatively to image state command; "+
- "status=%d\n", res.Status())
- }
-
- eres := res.(*xact.ImageStateReadResult)
- fmt.Printf("Peer responded with image state: %#v\n", eres.Rsp)
-
- return nil
-}
-
-func sendMpStat(s sesn.Sesn) error {
- c := xact.NewMempoolStatCmd()
-
- res, err := c.Run(s)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error executing mempool stat command: %s\n",
- err.Error())
- return err
- }
-
- if res.Status() != 0 {
- fmt.Printf("Peer responded negatively to mempool stat command; "+
- "status=%d\n", res.Status())
- }
-
- eres := res.(*xact.MempoolStatResult)
- fmt.Printf("Peer responded with mempool stat: %#v\n", eres.Rsp)
-
- return nil
-}
-
-func sendTaskStat(s sesn.Sesn) error {
- c := xact.NewTaskStatCmd()
-
- res, err := c.Run(s)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error executing task stat command: %s\n",
- err.Error())
- return err
- }
-
- if res.Status() != 0 {
- fmt.Printf("Peer responded negatively to task stat command; "+
- "status=%d\n", res.Status())
- }
-
- eres := res.(*xact.TaskStatResult)
- fmt.Printf("Peer responded with task stat: %#v\n", eres.Rsp)
-
- return nil
-}
-
-func sendImageUpload(s sesn.Sesn) error {
- data, err := ioutil.ReadFile("/Users/ccollins/Downloads/f17c9295bfbbf8f6b31ddcfa835be095090d0a875edcf88116bfaeec55f27e93/app.img")
- if err != nil {
- return err
- }
-
- c := xact.NewImageUploadCmd()
- c.Data = data
- c.ProgressCb = func(c *xact.ImageUploadCmd, r *nmp.ImageUploadRsp) {
- fmt.Printf("Rxed upload rsp: %d\n", r.Off)
- }
-
- res, err := c.Run(s)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error executing image upload command: %s\n",
- err.Error())
- panic(err.Error())
- }
-
- if res.Status() != 0 {
- fmt.Printf("Peer responded negatively to image upload command; "+
- "status=%d\n", res.Status())
- panic("ERROR")
- }
-
- fmt.Printf("[%p] Peer responded with image upload: rc=%#v\n",
- s, res.Status())
-
- return nil
-}
-
-func sendOne(s sesn.Sesn) {
- // Repeatedly:
- // * Connect to peer if unconnected.
- // * Send an echo command to peer.
- //
- // If blehostd crashes or the controller is unplugged, nmxact should
- // recover on the next connect attempt.
- if !s.IsOpen() {
- // Connect to the peer (open the session).
- if err := s.Open(); err != nil {
- fmt.Fprintf(os.Stderr, "error starting BLE session: %s (%+v)\n",
- err.Error(), err)
- return
- }
- }
- defer s.Close()
-
- // Send an echo command to the peer.
- if err := sendEcho(s); err != nil {
- return
- }
-
- // Image list
- if err := sendImageState(s); err != nil {
- return
- }
-
- // MP stat
- if err := sendMpStat(s); err != nil {
- return
- }
-
- // Task stat
- if err := sendTaskStat(s); err != nil {
- return
- }
-}
-
-func main() {
- nmxutil.SetLogLevel(log.DebugLevel)
-
- // Initialize the BLE transport.
- params := nmble.NewXportCfg()
- params.SockPath = "/tmp/blehostd-uds"
- params.BlehostdPath = "blehostd.elf"
- params.DevPath = "/dev/cu.usbmodem142121"
-
- x, err := nmble.NewBleXport(params)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error creating BLE transport: %s1\n",
- err.Error())
- os.Exit(1)
- }
-
- // Start the BLE transport.
- if err := x.Start(); err != nil {
- fmt.Fprintf(os.Stderr, "error starting BLE transport: %s1\n",
- err.Error())
- os.Exit(1)
- }
- defer x.Stop()
-
- configExitHandler(x)
-
- peerNames := []string{
- "ccollins1",
- //"ccollins2",
- //"ccollins3",
- }
-
- sesns := []sesn.Sesn{}
- for _, n := range peerNames {
- // Prepare a BLE session:
- // * Plain NMP (not tunnelled over OIC).
- // * We use a random address.
- // * Peer has name "nimble-bleprph".
- sc := sesn.NewSesnCfg()
- sc.MgmtProto = sesn.MGMT_PROTO_NMP
- sc.Ble.OwnAddrType = bledefs.BLE_ADDR_TYPE_RANDOM
- sc.Ble.PeerSpec = sesn.BlePeerSpecName(n)
-
- s, err := x.BuildSesn(sc)
- if err != nil {
- fmt.Fprintf(os.Stderr, "error creating BLE session: %s\n",
- err.Error())
- os.Exit(1)
- }
-
- sesns = append(sesns, s)
- }
-
- var wg sync.WaitGroup
-
- for _, s := range sesns {
- wg.Add(1)
- go func(x sesn.Sesn) {
- for {
- sendOne(x)
- }
- }(s)
- }
-
- wg.Wait()
-}