Skip to content

Commit 1fcc063

Browse files
authored
Merge pull request #218 from HyperloopUPV-H8/main
Update Develop
2 parents e38d85a + 3123a40 commit 1fcc063

File tree

10 files changed

+368
-278
lines changed

10 files changed

+368
-278
lines changed

backend/cmd/adj

Submodule adj deleted from 7a3da66

backend/cmd/config.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,14 @@ import (
88
type Adj struct {
99
Branch string
1010
}
11+
12+
type Network struct {
13+
Manual bool
14+
}
15+
1116
type Config struct {
1217
Vehicle vehicle.Config
1318
Server server.Config
19+
Network Network
1420
Adj Adj
1521
}

backend/cmd/config.toml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
1-
2-
[server.local]
1+
[server.ethernet-view]
2+
address = "127.0.0.1:4040"
3+
static = "./ethernet-view"
4+
[server.ethernet-view.endpoints]
5+
pod_data = "/podDataStructure"
6+
order_data = "/orderStructures"
7+
programable_boards = "/uploadableBoards"
8+
connections = "/backend"
9+
files = "/"
10+
[server.control-station]
311
address = "127.0.0.1:4000"
4-
static = "./static"
5-
6-
[server.local.endpoints]
12+
static = "./control-station"
13+
[server.control-station.endpoints]
714
pod_data = "/podDataStructure"
815
order_data = "/orderStructures"
916
programable_boards = "/uploadableBoards"
1017
connections = "/backend"
1118
files = "/"
19+
[network]
20+
manual = false
1221

1322
[adj]
14-
branch = "" # Leave blank when using ADJ as a submodule (like this: "")
23+
branch = "sw-bcu" # Leave blank when using ADJ as a submodule (like this: "")

backend/cmd/main.go

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func main() {
129129

130130
dev = devs[*networkDevice]
131131
} else {
132-
dev, err = selectDev()
132+
dev, err = selectDev(adj.Info.Addresses, config)
133133
if err != nil {
134134
trace.Fatal().Err(err).Msg("Error selecting device")
135135
}
@@ -354,26 +354,40 @@ func createPid(path string) {
354354
}
355355
}
356356

357-
func selectDev() (pcap.Interface, error) {
357+
func selectDev(adjAddr map[string]string, conf Config) (pcap.Interface, error) {
358358
devs, err := pcap.FindAllDevs()
359359
if err != nil {
360360
return pcap.Interface{}, err
361361
}
362362

363-
cyan := color.New(color.FgCyan)
363+
if conf.Network.Manual {
364+
cyan := color.New(color.FgCyan)
364365

365-
cyan.Print("select a device: ")
366-
fmt.Printf("(0-%d)\n", len(devs)-1)
367-
for i, dev := range devs {
368-
displayDev(i, dev)
369-
}
366+
cyan.Print("select a device: ")
367+
fmt.Printf("(0-%d)\n", len(devs)-1)
368+
for i, dev := range devs {
369+
displayDev(i, dev)
370+
}
370371

371-
dev, err := acceptInput(len(devs))
372-
if err != nil {
373-
return pcap.Interface{}, err
374-
}
372+
dev, err := acceptInput(len(devs))
373+
if err != nil {
374+
return pcap.Interface{}, err
375+
}
375376

376-
return devs[dev], nil
377+
return devs[dev], nil
378+
} else {
379+
for _, dev := range devs {
380+
for _, addr := range dev.Addresses {
381+
if addr.IP.String() == adjAddr["backend"] {
382+
println(dev.Name)
383+
return dev, nil
384+
}
385+
}
386+
}
387+
388+
log.Fatal("backend address not found in any device")
389+
return pcap.Interface{}, nil
390+
}
377391
}
378392

379393
func displayDev(i int, dev pcap.Interface) {

backend/internal/adj/boards.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,6 @@ func getBoards(boardsList map[string]string) (map[string]Board, error) {
5656

5757
board.Structures = getBoardStructures(board)
5858

59-
// DEBUG
60-
for _, meas := range board.Measurements {
61-
println(meas.SafeRange[0], ", ", meas.SafeRange[1])
62-
println(meas.WarningRange[0], ", ", meas.WarningRange[1])
63-
}
64-
6559
boards[boardName] = board
6660
}
6761

backend/internal/adj/git.go

Lines changed: 10 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -9,86 +9,29 @@ import (
99

1010
// WARNING: Doing tricks on it
1111
func updateRepo(AdjBranch string) error {
12-
var repo *git.Repository
1312
var err error
1413

1514
if AdjBranch == "" {
16-
// Makes use of submodule
15+
// Makes use of user's custom ADJ
1716
return nil
1817
} else {
18+
cloneOptions := &git.CloneOptions{
19+
URL: RepoUrl,
20+
ReferenceName: plumbing.NewBranchReferenceName(AdjBranch),
21+
SingleBranch: true,
22+
Depth: 1,
23+
}
1924
if _, err = os.Stat(RepoPath); os.IsNotExist(err) {
20-
repo, err = git.PlainClone(RepoPath, false, &git.CloneOptions{
21-
URL: RepoUrl,
22-
ReferenceName: plumbing.NewBranchReferenceName(AdjBranch),
23-
SingleBranch: true,
24-
Depth: 1,
25-
})
25+
_, err = git.PlainClone(RepoPath, false, cloneOptions)
2626
if err != nil {
2727
return err
2828
}
2929
} else {
30-
repo, err = git.PlainOpen(RepoPath)
31-
if err != nil {
30+
if err = os.RemoveAll(RepoPath); err != nil {
3231
return err
3332
}
34-
}
35-
36-
err = repo.Fetch(&git.FetchOptions{
37-
RemoteName: "origin",
38-
Force: true,
39-
})
40-
if err != nil && err != git.NoErrAlreadyUpToDate {
41-
return err
42-
}
43-
44-
head, err := repo.Head()
45-
if err != nil {
46-
return err
47-
}
48-
49-
branch := head.Name().Short()
50-
51-
worktree, err := repo.Worktree()
52-
if err != nil {
53-
return err
54-
}
55-
56-
if branch != AdjBranch {
57-
localBranchRef := plumbing.NewBranchReferenceName(AdjBranch)
58-
_, err = repo.Reference(localBranchRef, false)
33+
_, err = git.PlainClone(RepoPath, false, cloneOptions)
5934
if err != nil {
60-
remoteBranchRef := plumbing.NewRemoteReferenceName("origin", AdjBranch)
61-
remoteRef, err2 := repo.Reference(remoteBranchRef, true)
62-
if err2 != nil {
63-
return err2
64-
}
65-
66-
err = worktree.Checkout(&git.CheckoutOptions{
67-
Branch: localBranchRef,
68-
Create: true,
69-
Force: true,
70-
Hash: remoteRef.Hash(),
71-
})
72-
if err != nil {
73-
println(err.Error())
74-
return err
75-
}
76-
} else {
77-
err = worktree.Checkout(&git.CheckoutOptions{
78-
Branch: localBranchRef,
79-
Force: true,
80-
})
81-
}
82-
}
83-
84-
err = worktree.Pull(&git.PullOptions{
85-
RemoteName: "origin",
86-
SingleBranch: true,
87-
})
88-
if err != nil {
89-
if err == git.NoErrAlreadyUpToDate {
90-
return nil
91-
} else {
9235
return err
9336
}
9437
}

0 commit comments

Comments
 (0)