if err != nil { ctx.Fatalf("Invalid NwkSKey: %s", err) } dev.GetLorawanDevice().NwkSKey = &key } if in, err := cmd.Flags().GetString("app-s-key"); err == nil && in != "" { key, err := types.ParseAppSKey(in) if err != nil { ctx.Fatalf("Invalid AppSKey: %s", err) } dev.GetLorawanDevice().AppSKey = &key } if in, err := cmd.Flags().GetString("app-key"); err == nil && in != "" { key, err := types.ParseAppKey(in) if err != nil { ctx.Fatalf("Invalid AppKey: %s", err) } dev.GetLorawanDevice().AppKey = &key } if in, err := cmd.Flags().GetInt("fcnt-up"); err == nil && in != -1 { dev.GetLorawanDevice().FCntUp = uint32(in) } if in, err := cmd.Flags().GetInt("fcnt-down"); err == nil && in != -1 { dev.GetLorawanDevice().FCntDown = uint32(in) } if in, err := cmd.Flags().GetBool("enable-fcnt-check"); err == nil && in {
if len(args) != 4 { cmd.UsageFunc()(cmd) return } appEUI, err := types.ParseAppEUI(args[0]) if err != nil { ctx.WithError(err).Fatal("Could not parse AppEUI") } devEUI, err := types.ParseDevEUI(args[1]) if err != nil { ctx.WithError(err).Fatal("Could not parse DevEUI") } appKey, err := types.ParseAppKey(args[2]) if err != nil { ctx.WithError(err).Fatal("Could not parse AppKey") } devNonceSlice, err := types.ParseHEX(args[3], 2) if err != nil { ctx.WithError(err).Fatal("Could not parse DevNonce") } devNonce := [2]byte{devNonceSlice[0], devNonceSlice[1]} rtrConn, rtrClient := util.GetRouter(ctx) defer rtrConn.Close() gatewayID := viper.GetString("gateway-id") gatewayToken := viper.GetString("gateway-token")