Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing framework MVP #26

Open
wants to merge 439 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
439 commits
Select commit Hold shift + click to select a range
efdc2bb
fix nonsense errors
akshitdewan Mar 27, 2021
777eaec
remove circular import
akshitdewan Mar 27, 2021
03cb413
remove circular import
akshitdewan Mar 27, 2021
70a89c8
Adding setup.py and __init__ to make package structure
akshitdewan Mar 27, 2021
f26f970
Arduino2 + arduino3
jonathanpatkins Mar 27, 2021
9e22334
wrote dummy sensor, trying to make work
Mar 27, 2021
7e44483
Merge branch 'sensor_framework' of https://github.com/pioneers/shephe…
Mar 27, 2021
7920dc2
overlay working with dawn
Mar 27, 2021
d9a412f
updated devices in shepherd util
Mar 27, 2021
178b6d3
make lowcar code better
Mar 28, 2021
08c329b
updated, not working arduino1
Mar 28, 2021
de41811
segfault, changed types, dont know
Mar 28, 2021
adab0ca
ben made magic
Mar 28, 2021
2b1df4f
Merge branch 'sensor_framework' of https://github.com/pioneers/shephe…
Mar 28, 2021
8db7dac
buttons
Mar 28, 2021
2988c43
Merge branch 'sensor_framework' of https://github.com/pioneers/shephe…
Mar 28, 2021
0fdeb08
Merge branch 'core_game_2021' into sensor_framework
Mar 28, 2021
d4642f3
idek
Mar 28, 2021
9cd6343
run staff i
Mar 28, 2021
f597249
run staff ui
Mar 28, 2021
17a62bf
stuff
Mar 28, 2021
12657cf
Update staff_gui.html
sberkun Mar 28, 2021
28e9d76
fail at linebreak 55 times, try to add biome get functionality
Mar 28, 2021
8172ff4
Merge remote-tracking branch 'origin/scoreboard_2021' into sensor_fra…
Mar 28, 2021
f0a8820
in the middle of modifying ref gui to add the buttons
Mar 28, 2021
2d74d59
Make game implementation work better, more controll from staff ui in …
Mar 28, 2021
134adf9
updated sensor code, can test all non linebreak sensors but they curr…
Mar 28, 2021
dca30a3
stoplight code in shepherd
Mar 28, 2021
c4a011a
testing
sberkun Apr 1, 2021
c9a67b9
Merge branch 'staff_uis_2021' of github.com:pioneers/shepherd into st…
sberkun Apr 1, 2021
7e13ac2
tinder/buttons
shannnen Apr 1, 2021
b7e8204
linebreak code, scoreboard updates to match dawn
akshitdewan Apr 1, 2021
9855aae
merged in sensor_framework
sberkun Apr 1, 2021
2feec59
add comment to do stuff
akshitdewan Apr 1, 2021
0f070b6
broken?
sberkun Apr 1, 2021
d98440a
ESTOP and ESTART in ref gui (+ toggle logs)
sberkun Apr 1, 2021
d9904a7
added all the late night changes that we made on Ajax
Apr 2, 2021
892859b
merge
Apr 2, 2021
7492ff1
4/2
Apr 2, 2021
fb492dd
bunch of sensor stuff
Apr 2, 2021
65e506c
check linebreaks
Apr 2, 2021
7710965
Merge branch 'sensor_framework' into staff_uis_2021
sberkun Apr 2, 2021
272668c
linebreak controls should work in setup and end
akshitdewan Apr 2, 2021
6f91e0d
Merge remote-tracking branch 'origin/staff_uis_2021' into sensor_fram…
akshitdewan Apr 2, 2021
e688925
code that was edited on Ajax
Apr 3, 2021
6062947
add flush scores in adjust
Apr 3, 2021
e2a96cc
Merge branch 'sensor_framework' into core_game_2021
Apr 3, 2021
292083a
fixed one line
Apr 3, 2021
8ec1926
center scoreboard
Apr 3, 2021
61e17c2
runtime gets told we are shepherd on reconnect and i added a silly wh…
Apr 3, 2021
7c94546
Merge branch 'sensor_framework' of https://github.com/pioneers/shephe…
Apr 3, 2021
bd7f975
hotfix
sberkun Apr 3, 2021
687c08b
Merge branch 'core_game_2021' of github.com:pioneers/shepherd into st…
sberkun Apr 3, 2021
dfd87a1
add a bunch of logs and fix bug where we forgot to call CLIENTS.reset()
Apr 4, 2021
15cf651
Merge remote-tracking branch 'origin/sensor_framework' into core_game…
Apr 4, 2021
fe7b15f
Merge remote-tracking branch 'origin/staff_uis_2021' into core_game_2021
Apr 4, 2021
9263079
fix many bugs, wrong branch oops
akshitdewan Apr 8, 2021
c5ce278
Merge branch 'sensor_framework' of https://github.com/pioneers/Shephe…
akshitdewan Apr 8, 2021
fae5ff4
Merge remote-tracking branch 'origin/core_game_2018' into sensor_fram…
akshitdewan Apr 8, 2021
c4dd31f
sqush bugs
akshitdewan Apr 8, 2021
ecf2e82
f
akshitdewan Apr 8, 2021
c9eea1e
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 8, 2021
dc76a0f
dockerdockerdockerdocker mushroom mushroom
sberkun Apr 10, 2021
7c8e975
md
sberkun Apr 10, 2021
85f6814
shepherd boot-up tmux script (just run ./shepherd_tmux.sh if you have…
FIREdog5 Apr 11, 2021
0a2f882
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 11, 2021
ec731a2
hotfix for heartbeat light
sberkun Apr 13, 2021
5a5415f
typo
sberkun Apr 13, 2021
ad4cccf
bug fixes
sberkun Apr 13, 2021
28ee7cd
bug fixes for instructions
sberkun Apr 13, 2021
bbe2bde
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 13, 2021
e8e90c9
handled socket timeouts
FIREdog5 Apr 13, 2021
69c3f7f
unhandled socket timeouts
FIREdog5 Apr 13, 2021
8a227f2
tiny
sberkun Apr 14, 2021
b5c4c07
no more reloading flask for html changes
sberkun Apr 14, 2021
2b44f8f
print statement
akshitdewan Apr 15, 2021
15ffeca
Merge branch 'core_game_2021' of https://github.com/pioneers/Shepherd…
akshitdewan Apr 15, 2021
8bcda6a
hotfix for estop not working
sberkun Apr 15, 2021
a6b9f88
shiny new docker stuff
sberkun Apr 15, 2021
5c68ecf
small fix for howtodocker
sberkun Apr 15, 2021
c67e38e
slightly streamlined docker process
sberkun Apr 15, 2021
14951a6
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
97f5d91
new buttons
Apr 17, 2021
f6ddc46
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
9cd6c9c
log buttons
Apr 17, 2021
6fe9df0
buttons again
Apr 17, 2021
d9a0149
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
d691124
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
0b11607
Merge branch 'core_game_2020' of https://github.com/pioneers/Shepherd…
akshitdewan Apr 17, 2021
e8a3ddc
test log in arduino2.cpp
akshitdewan Apr 17, 2021
2328591
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
8884a22
only print freq if param == 0
akshitdewan Apr 17, 2021
a86bded
red frequency is not allowed to be 0
akshitdewan Apr 17, 2021
a03ce41
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
2406e0b
fix socket errors, remove print statements
akshitdewan Apr 17, 2021
8b1e94b
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
c95fd31
delete client after closign connection
akshitdewan Apr 17, 2021
948af04
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
202549e
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
8dc8640
delete client in close connection
akshitdewan Apr 17, 2021
d00f788
try again
akshitdewan Apr 17, 2021
e20c057
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
3368ef1
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 17, 2021
6b626a8
remove catching exception
akshitdewan Apr 17, 2021
60840b1
remove timeout from receiving thread
akshitdewan Apr 17, 2021
0461592
send round info after reset match
akshitdewan Apr 18, 2021
53b37a6
create round
akshitdewan Apr 18, 2021
1f5abb0
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 18, 2021
f17204c
stoplight rule change
akshitdewan Apr 18, 2021
c917614
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 18, 2021
42873ca
bugfox
akshitdewan Apr 18, 2021
839962f
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 18, 2021
34cbf29
pass all coding challenges
akshitdewan Apr 18, 2021
04ed491
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 18, 2021
ab8bcba
move to city properly
akshitdewan Apr 18, 2021
3b2c715
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 18, 2021
1660b39
move to city property when biome button
akshitdewan Apr 18, 2021
d1cb5e3
fix bugs I introduced when trying to be clever
sberkun Apr 19, 2021
49c9ea3
changed times to match game manual
Apr 22, 2021
a4e96f7
t
sberkun Apr 22, 2021
5000d57
make taller and make text fit
akshitdewan Apr 22, 2021
ad176f2
Merge branch 'core_game_2020' of https://github.com/pioneers/Shepherd…
akshitdewan Apr 22, 2021
f5878c7
make scoreboard pretty
akshitdewan Apr 22, 2021
504c88a
make scoreboard more pretty
akshitdewan Apr 22, 2021
37f8a05
move debouncer to its own class and add a test
akshitdewan Apr 22, 2021
072ee4d
fix linebreak bugs, until helen finds out there are more
akshitdewan Apr 22, 2021
5810334
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 22, 2021
3a43d5b
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 22, 2021
0db07e1
typo
FIREdog5 Apr 22, 2021
b60f2bc
typo
FIREdog5 Apr 22, 2021
5009f38
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 22, 2021
f530596
un typo?
FIREdog5 Apr 22, 2021
7e1a59e
typo
FIREdog5 Apr 22, 2021
c99702a
Update Arduino2.cpp
FIREdog5 Apr 22, 2021
cd26e76
part of me thinks I shouldn't be doing this through github
FIREdog5 Apr 22, 2021
a8fa656
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 22, 2021
5906ac4
I hate cpp
Apr 22, 2021
606c8b2
beep boop no read only const
FIREdog5 Apr 22, 2021
b402535
lmao cpp is the worst language ever
FIREdog5 Apr 22, 2021
bbe5d12
why was this here? I hope we didn't need it
FIREdog5 Apr 22, 2021
eeeeeeb
update coding challenge results scrimmage
akshitdewan Apr 24, 2021
9ffd107
Merge branch 'core_game_2021' of https://github.com/pioneers/Shepherd…
akshitdewan Apr 24, 2021
5726fe6
update coding challenge results, 4/24 evening
akshitdewan Apr 24, 2021
21ff717
change 4 --> 6 and pass double trouble
akshitdewan Apr 29, 2021
de00b8c
Merge branch 'core_game_2021' into docker
akshitdewan Apr 29, 2021
aca8ec6
added checkpoints
Apr 29, 2021
de21473
Merge branch 'core_game_2021' of https://github.com/pioneers/shepherd…
Apr 29, 2021
95b2f9d
amending last
Apr 29, 2021
f9d04d4
added --device /dev/ttyACM0 to docker run
sberkun Apr 29, 2021
66e5db5
update docs
akshitdewan Apr 29, 2021
6bca629
Merge branch 'docker' of https://github.com/pioneers/Shepherd into do…
akshitdewan Apr 29, 2021
661051d
update make-container to create all devices
akshitdewan Apr 29, 2021
6e518fc
update readme
akshitdewan Apr 29, 2021
8928ff4
update readme
akshitdewan Apr 29, 2021
45d006d
running with docker
akshitdewan Apr 29, 2021
c86b573
another terminal
akshitdewan Apr 29, 2021
5d45a31
running shepherd w/o docker instructions made better for the sake of …
akshitdewan Apr 29, 2021
de8b9d7
more guidance
akshitdewan Apr 29, 2021
eac03c2
add installlcm and requirements.txt to main folder, symlinked (will t…
akshitdewan Apr 29, 2021
50af1a0
Merge pull request #43 from pioneers/docker
akshitdewan Apr 29, 2021
3c2f828
better docker instructions
akshitdewan Apr 29, 2021
6b3e899
delete sandstorm in reset, stop hypothermia in reset
akshitdewan Apr 29, 2021
e4df0cd
10 -> 20 second sleep
akshitdewan Apr 29, 2021
3018d1f
fire lever not needed
akshitdewan Apr 30, 2021
089e898
turn on fire light in auto and when set tinder is called
akshitdewan Apr 30, 2021
eb77fb5
updated coding challenge results
akshitdewan May 1, 2021
2a5d12c
turn off all linebreaks temporarily.
akshitdewan May 1, 2021
6571552
fixed albany's team number
May 2, 2021
4134086
added populate to setup
May 2, 2021
4cc1268
turn linebreaks back on in create round
akshitdewan May 2, 2021
878e512
Merge branch 'core_game_2021' of https://github.com/pioneers/Shepherd…
akshitdewan May 2, 2021
cf8af7c
preliminary support for docker container with devices
sberkun May 10, 2021
87ae4f7
Merge remote-tracking branch 'origin/core_game_2021' into staff_uis_2021
sberkun May 10, 2021
9b20265
Merge branch 'docker' into staff_uis_2021
sberkun May 10, 2021
d507733
some light refactoring of server.py and scoreboard_server.py
sberkun May 10, 2021
499626d
LCM replacement
sberkun May 12, 2021
81de526
small bug fixes for LCM replacement
sberkun May 13, 2021
ab79d65
update docker with device flag (make sure to update docs for this)
akshitdewan May 14, 2021
4ff1af7
use same utils as other branches
akshitdewan May 14, 2021
8753a50
Merge branch 'core_game_2021' into new_lcm
akshitdewan May 14, 2021
88ea965
* snap * scoreboard
sberkun May 15, 2021
752f71c
remove lcm_targets.scoreboard
sberkun May 15, 2021
8526ea2
for some reason queue without busy waiting is unbearably slow
sberkun May 15, 2021
8a3ceef
actually using flask as intended
sberkun May 16, 2021
08796cc
password protection, favicon, clearer LCM comments
sberkun May 23, 2021
de5e1f7
ydl thread safety, immortal cookie
sberkun May 25, 2021
cae6942
mass renaming - probably introduced bugs
sberkun May 25, 2021
a008e0d
minor bug fixes for YDL
sberkun May 25, 2021
9416170
add documentation to YDL
sberkun May 26, 2021
977309c
the great purge
sberkun May 27, 2021
f1e417a
Delete stress_test_ydl.py
sberkun May 27, 2021
6a2febc
added SLEEP command
FIREdog5 May 29, 2021
90d7946
typo :P
FIREdog5 May 29, 2021
95229aa
added SLEEP statement docs
FIREdog5 May 29, 2021
5f1472e
added SLEEP to function mappings
FIREdog5 May 29, 2021
fc84b5c
added SLEEP tests and support for python expressions in the SLEEP sta…
FIREdog5 May 29, 2021
38aa329
added line numbers to fail messages
FIREdog5 May 29, 2021
14c8033
off by 1, oops
FIREdog5 May 29, 2021
22e32b8
added indents for style
FIREdog5 May 29, 2021
952eff4
added some nice tabs to the tests for readablility
FIREdog5 May 30, 2021
25762aa
standardized the instruction.shepherd files a bit... more to come her…
FIREdog5 May 30, 2021
81de806
new testing file structure :)
FIREdog5 May 30, 2021
ae12183
new and improved testing script, with -help flag and new file structure
FIREdog5 May 30, 2021
6593ed3
better prints to make the test log cleaner
FIREdog5 May 30, 2021
47bcb51
testing groups bug
FIREdog5 May 30, 2021
ba26d7c
DISCARD statement, tesets for this statement, and documentation
FIREdog5 May 30, 2021
1dc0c02
added INFER option to WAIT WITH statements and added tests and docume…
FIREdog5 May 31, 2021
44637fb
non-functional changes to staff ui
sberkun Jun 3, 2021
b26eac6
more breaking changes
sberkun Jun 3, 2021
1d72428
evergreened utils and sensors
sberkun Jun 3, 2021
f44bb59
renaming snake case
Jun 3, 2021
18c5749
whoops
Jun 3, 2021
6a3be59
rename test
Jun 3, 2021
0f32fd7
capping
Jun 3, 2021
e67b432
test renaming sheets
sberkun Jun 3, 2021
ab99ae2
start of evergreening shepherd.py
sberkun Jun 3, 2021
e3b6685
small ui changes
sberkun Jun 3, 2021
aadd9f3
saturday meeting; everything is broken
sberkun Jun 6, 2021
3729e39
actual arguments for shepherd.py functions
sberkun Jun 8, 2021
d8506fc
pre-meeting changes
sberkun Jun 10, 2021
b10f2ae
green meeting
sberkun Jun 10, 2021
6c3cecd
scoreboard v1 w/o functionality
Jun 10, 2021
f75fca8
first row done
Jun 10, 2021
401a5b8
layout without extending base
Jun 11, 2021
c93f2cf
need to fix padding, battery, and add extends base.html
Jun 11, 2021
eaee698
implements drag and drop
Jun 11, 2021
f1a2dd6
fix bugs with runtime client, get sheet working
sberkun Jun 11, 2021
5fb6845
got some staff UIs kinda working
sberkun Jun 11, 2021
17d22ba
tiny ui change
sberkun Jun 12, 2021
275c7a4
Merge remote-tracking branch 'origin/visuals' into evergreening
sberkun Jun 12, 2021
8883261
partially integrate new UIs in
sberkun Jun 12, 2021
19c0b8a
fixed silly bug I hope #55 and added timeout tests
FIREdog5 Jun 12, 2021
3d5a6c6
done
FIREdog5 Jun 12, 2021
f48dd52
new fake_runtime, time stuff
sberkun Jun 12, 2021
2d9a135
added TIMEOUT docs
FIREdog5 Jun 12, 2021
814edfb
Merge evergreening into testing-framework
sberkun Jun 12, 2021
18b2fd9
convert to ydl (untested)
FIREdog5 Jun 12, 2021
c185744
Merge branch 'testing-framework' of https://github.com/pioneers/sheph…
FIREdog5 Jun 12, 2021
4c18f0c
tested and finished #51
FIREdog5 Jun 13, 2021
ace43cf
start ydl and kill ydl in testing script
FIREdog5 Jun 13, 2021
fb71642
fixed file name
FIREdog5 Jun 13, 2021
f17924d
some new travis requrements. probably won't build
FIREdog5 Jun 13, 2021
2e532d5
Update requirements.txt
sberkun Jun 13, 2021
14da384
added secrets to travis :)
FIREdog5 Jun 13, 2021
e63970c
I think things were in the wrong place before
FIREdog5 Jun 13, 2021
12233cb
remade .enc on linux because windows is bad.
FIREdog5 Jun 13, 2021
851cb98
updated docs
FIREdog5 Jun 13, 2021
7bd1c18
Update TESTING_DOCS.md
FIREdog5 Oct 27, 2022
e57df0c
works on more devices
FIREdog5 Oct 27, 2022
51b6df6
Merge branch 'testing-framework' of https://github.com/pioneers/sheph…
FIREdog5 Oct 27, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 0 additions & 19 deletions .editorconfig

This file was deleted.

12 changes: 0 additions & 12 deletions .gitattributes

This file was deleted.

9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
dev_handler
shm_api.c

### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/C++.gitignore

# Prerequisites
Expand Down Expand Up @@ -404,3 +407,9 @@ hibike/virtual_devices.txt
/dawn-*
/artifacts
.vagrant

# user token used for google auth flow
user_token.json



1 change: 0 additions & 1 deletion .nvmrc

This file was deleted.

49 changes: 24 additions & 25 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
dist: xenial
sudo: required
os: linux

language: python
python: 3.7

# list packages installable using apt here
addons:
apt:
packages:
- python3-setuptools
- python3-pip
- libasound2-dev
- socat

# requires that commit is for a PR or is on master branch
if : (type = pull_request) OR (type = push AND branch = master)

apt:
packages:
- python3-setuptools
- python3-pip
- libasound2-dev
- socat
if: "(type = pull_request) OR (type = push AND branch = master)"
jobs:
include:
- name: test
script:
- echo "testing"

- name: format
script:
- echo "formatting"

- name: build
script:
- echo "building"
include:
- name: test
install:
- pip install -r requirements.txt
script:
- echo "testing"
- cd shepherd
- python3 testing_script.py
- name: format
script:
- echo "formatting"
- name: build
script:
- echo "building"
before_install:
- openssl aes-256-cbc -K $encrypted_6a33d71cd260_key -iv $encrypted_6a33d71cd260_iv
-in shepherd/sheets/user_token.json.enc -out shepherd/sheets/user_token.json -d
93 changes: 30 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,88 +1,55 @@
# Shepherd

Shepherd is the team that is in charge of field control.
Shepherd is the team that is in charge of field control.
Shepherd brings together all the data on the game field into one centralized location, where it keeps track of score, processes game-specific actions, keeps track of time, and informs the scoreboard.

## Sections

- [Architecture](#Architecture)
- [Installing Dependencies](#Installing-Dependencies)
- [Running Shepherd](#Running-Shepherd)
- [Testing](./shepherd/tests/TESTING_DOCS.md)

## Architecture

Shepherd is essentially a [Flask](https://palletsprojects.com/p/flask/) web app that communicates with:

* Arduino devices on the field over USB serial.
* Each robot's [Runtime](https://github.com/pioneers/PieCentral/tree/master/runtime) instance using MessagePack remote procedure calls over TCP.
* Each driver station's [Dawn](https://github.com/pioneers/PieCentral/tree/master/dawn) instance.
* Each scoreboard client, which is rendered with jQuery. Typically, there is a scoreboard on each side of the field, a projection for spectators, and a fourth for the field control staff.
* Each perk selection tablet (specific to Sugar Blast).
- Arduino devices on the field over USB serial.
- Each robot's [Runtime](https://github.com/pioneers/PieCentral/tree/master/runtime) instance using MessagePack remote procedure calls over TCP.
- Each driver station's [Dawn](https://github.com/pioneers/PieCentral/tree/master/dawn) instance.
- Each scoreboard client, which is rendered with jQuery. Typically, there is a scoreboard on each side of the field, a projection for spectators, and a fourth for the field control staff.
- Each perk selection tablet (specific to Sugar Blast).

## Installing dependencies

### Python dependencies
Run the following
```
pip install -r requirements.txt
```bash
pip3 install -r requirements.txt
```

### LCM

#### Linux
Run the installlcm script
```
./installlcm
```

#### Mac
1. Set the Java Version to 8
```
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
```
2. Run the installlcm script
```
./installlcm
```
## Architecture

## Running Shepherd
To read about Shepherd in detail, check out the [onboarding readme](https://github.com/pioneers/shepherd-onboarding#about-shepherd). This is where you will find detailed information about what each component of Shepherd does.

### Instructions for 2018-2019, aka Sugar Blast:
This year, we ran Shepherd on Ajax, one of the computers owned by PiE.
In order to make it easier to run Shepherd on various machines, we added needed dependencies to a Pipfile.
This allows you to work in a virtual environment with all necessary dependencies
(except for [LCM](https://lcm-proj.github.io/build_instructions.html), which must be installed beforehand)
by issuing the following commands in PieCentral/shepherd:
```
pipenv install
pipenv shell
```
Next, open a terminal pane for each of the below (using tmux) and run the following commands in PieCentral/shepherd directory.
## 2021 Instructions

1:
```
export FLASK_APP=server.py
flask run
```
First get the release labelled "working game spring 2021" or grab the core_game_2021 branch.

2:
```
export FLASK_APP=scoreboard_server.py
flask run
```
For competition, we have 5 different scripts to run. Matthew has created a tmux script that runs everything we need that we encourage you to modify in future years because it is really easy to use. Do this inside a terminal (not VSCode) so that you have space.

3:
```
export FLASK_APP=dawn_server.py
flask run
docker restart sheep
docker attach sheep
cd outsideshep/shepherd
./shepherd_tmux.sh
```

4:
After you are done, be sure to stop the container to please Samuel.
```
python3 Shepherd.py
docker stop sheep
```

5:
```
python3 Sensors.py
```
One part of this that has not yet been tested is dev handler communication with Arduino devices. After that, Shepherd should be able to run straight out of the Docker container.

6:
```
export FLASK_APP=perks_server.py
flask run
If you are not using docker, open a terminal, cd into shepherd and run
```
./shepherd_tmux.sh
```
95 changes: 0 additions & 95 deletions makerelease

This file was deleted.

46 changes: 11 additions & 35 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,35 +1,11 @@
bidict==0.21.2
cachetools==4.2.1
certifi==2020.12.5
chardet==4.0.0
click==7.1.2
Flask==1.1.2
Flask-SocketIO==5.0.1
gevent==21.1.2
gevent-websocket==0.10.1
google-api-core==1.25.1
google-api-python-client==1.12.8
google-auth==1.25.0
google-auth-httplib2==0.0.4
googleapis-common-protos==1.52.0
greenlet==1.0.0
httplib2==0.18.1
idna==2.10
itsdangerous==1.1.0
Jinja2==2.11.3
MarkupSafe==1.1.1
oauth2client==4.1.3
protobuf==3.14.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
python-engineio==4.0.0
python-socketio==5.0.4
pytz==2021.1
requests==2.25.1
rsa==4.7
six==1.15.0
uritemplate==3.0.1
urllib3==1.26.3
Werkzeug==1.0.1
zope.event==4.5.0
zope.interface==5.2.0
##### Protobuf for Runtime stuff #####
protobuf

##### Google Sheets #####
google-api-python-client
google-auth-httplib2
google-auth-oauthlib

##### Flask server #####
flask-socketio
gevent-websocket
1 change: 0 additions & 1 deletion shepherd/.gitattributes

This file was deleted.

Loading