Skip to content
This repository has been archived by the owner on Aug 6, 2024. It is now read-only.

Bump lodash from 4.17.20 to 4.17.21 #5

Open
wants to merge 41 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
cf664c1
Fixed things (more info in des.)
nick-ls Feb 15, 2018
e93cdfc
Trying to fix things - Nick
BUNN1E5 Feb 16, 2018
d5b3f08
Fixed thing
nick-ls Feb 16, 2018
becd0eb
added start position, may or may not work
nick-ls Feb 16, 2018
8dbb11c
Swapped field and camera positions
nick-ls Feb 17, 2018
aa35f43
small tweaks to position and start values
nick-ls Feb 17, 2018
467c0e3
removed side
nick-ls Feb 17, 2018
f2bec1a
forgot to update positions
nick-ls Feb 17, 2018
8485d3f
Changed range of start from (1, 2, 3) => (-1, 0, 1)
BUNN1E5 Feb 18, 2018
4afbed6
added camera feed
nick-ls Feb 19, 2018
f11a67e
Added autonomous delay; removed robot arms
nick-ls Mar 16, 2018
93a2c3f
Add files via upload
nick-ls May 1, 2018
34cf07c
Add everything for 2019
nick-ls Feb 11, 2019
4038d55
Create README.md
nick-ls Feb 11, 2019
3b8c4ea
Merge pull request #1 from Patribots4738/2019
BUNN1E5 Feb 11, 2019
1d85732
Set up Typescript and React dev environment
nick-ls Jan 30, 2021
496d326
Fix build structure of project
nick-ls Jan 30, 2021
85939ff
Fix file references
nick-ls Jan 30, 2021
5c0f4d6
commit
nick-ls Jan 30, 2021
137f8a1
Set up unstyled but functional project components
nick-ls Feb 7, 2021
e08858d
Add network tables keys and change color scheme
nick-ls Feb 12, 2021
8597d23
Add auto connection
nick-ls Feb 12, 2021
cff2c1b
Fix nodeIntegration
nick-ls Feb 14, 2021
0171b3c
Fix reconnecting issue
nick-ls Feb 14, 2021
36c5b45
Log all NetworkTables correspondance
nick-ls Feb 14, 2021
578d654
Log inside react components
nick-ls Feb 14, 2021
7cd4bcd
Fix stupidity
nick-ls Feb 14, 2021
3cc9797
Log aligned key to see if NetworkTables is working
nick-ls Feb 14, 2021
31bfaee
Update dashboard.tsx
dead-dad Feb 14, 2021
92bfa6a
Fix listening for NetworkTables values
nick-ls Feb 21, 2021
71fde63
Activate Cameras
nick-ls Feb 21, 2021
48c5afc
Add camera refresher
nick-ls Feb 21, 2021
9cc26c8
Fix camera url
nick-ls Feb 21, 2021
c7d2437
Fix camera polling
nick-ls Feb 21, 2021
a947ee7
New grad and commented out polling
dead-dad Feb 21, 2021
f6ded11
Actually fix camera polling
nick-ls Feb 22, 2021
88823f7
Stop spamming the robot with requests
nick-ls Feb 22, 2021
289d4e9
node-fetch is unneeded
nick-ls Feb 22, 2021
660fb8a
Fix spacing of components
nick-ls Jul 3, 2021
0672d7a
Add README
nick-ls Jul 3, 2021
0958482
Bump lodash from 4.17.20 to 4.17.21
dependabot[bot] Jul 3, 2021
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
64 changes: 3 additions & 61 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,61 +1,3 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

dist/

build
dist
node_modules
20 changes: 0 additions & 20 deletions LICENSE

This file was deleted.

105 changes: 9 additions & 96 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,98 +1,11 @@
# FRC Dashboard
FRC Dashboard is a fully customizable dashboard for [FIRST Robotics Competition (FRC)](http://firstinspires.org/robotics/frc) which is based on web languages (JavaScript/CSS/HTML). It's completely legal for competition, and can be used to give your whole drive team significantly richer control of your robot.
# SmartDashboard

The dashboard's code is designed to be 100% accessible, tweakable, and expandable. To help in this aim, the code is rigorously commented and [a set of training exercises](https://github.com/FRCDashboard/training) have been prepared to orient new users. In addition, the base system comes with several functioning example widgets and features, and we've build [several helpful addons](https://github.com/FRCDashboard?query=addon-) to speed up the development of your team's dashboard.
This is a user interface for displaying robot information and tuning values.
![Interface preview](https://raw.githubusercontent.com/Patribots4738/SmartDashboard/main/img/preview.png)

**Contributions are VERY welcome! Please feel free to open a pull request or issue!**


![Screenshot slideshow](images/screenshots.gif)

<details>
<summary>Click to view some example implementations of FRC Dashboard</summary>

![1132's 2017 Dashboard](images/example-1132.jpg)
![6325's 2017 Dashboard](https://i.redd.it/w9jt1gmbecpy.png)
![1418's 2017 Dashboard](https://raw.githubusercontent.com/frc1418/2017-dashboard/master/images/screenshot.png)
![1418's 2016 Dashboard](https://raw.githubusercontent.com/frc1418/FRCDashboard/2016/screenshot.png)
</details>

## Setup
### Dependencies
* [`nodejs`](https://nodejs.org) & [`npm`](https://npmjs.com)
* If you don't have permission to install these, see [this gist](https://gist.github.com/isaacs/579814) for a workaround.
* Node dependencies (to install, `cd` into dashboard directory and run `npm install`)
* Python 3
* If you are installing `mjpg-streamer` or are using this aplication throught the browser

### Configuration
* In `ui.js`, there are a bunch of key handler functions which controls the updating of control elements in the dashboard. Example NetworkTables key names are used, but you'll need to change them to match those used in your team's robot code for them to affect anything on your robot.


#### Configuring Camera feed
In order to run the camera, you must start an `mjpg-streamer` server on the RoboRIO. To install `mjpg-streamer`:

1. Download [this installer script](https://raw.githubusercontent.com/robotpy/robotpy-installer/master/robotpy_installer/installer.py) from GitHub. This script is for downloading and installing packages to the RoboRIO.
2. While in the directory where you downloaded the installer script, run:

Windows:

py -3 installer.py download-opkg mjpg-streamer
py -3 installer.py install-opkg mjpg-streamer

Mac/Linux (using bash):

python3 installer.py download-opkg mjpg-streamer
python3 installer.py install-opkg mjpg-streamer

3. Update `style.css` to use the IP of your live camera feed. Usually this is something like `roborio-XXXX-frc.local:5800/?action=stream`, where `XXXX` is your team's number. The port may vary.


## Building
1. Get `npm`
2. Run `npm i` to install all of the dependencies
3. Run `npm run dist` to pack the entire application into a single file
4. The Run the setup file located in dist/ on the system where you want to install the dashboard
* **Warning** currently there is no cross compilation

## Running
1. Connect to your robot's network if you haven't already. (If you're just testing the dashboard and don't currently need to use it with your robot, you can skip this step.)
2. If you are able to use node/npm, use the section below labeled "Using dashboard as Application." If not, use the section titled "Using dashboard through web browser."

### Using dashboard as Application
The preferred method of using the dashboard is to run it using the [Electron](http://electron.atom.io) framework. Your dashboard will be its own application, and will be easy to manipulate.

While in the dashboard directory, run:

npm start

This will start a Python server and open the dashboard application. Note that you don't have to close and reopen the application every time you make a change, you can just press `Ctrl+R` (`Cmd+R` or `⌘+R` on Mac) to refresh the application.

### Using dashboard through web browser
The less desirable, but perfectly functional method of viewing your dashboard is to use it like a webpage. This method will work even if you don't have the privileges to install `node.js` and `npm`. The standard toolbars from your browser will still be shown and will take up space on the screen, and the experience will be a bit less fluid, but it will work.

1. Start the Python server independently:

Windows:

py -3 -m pynetworktables2js

Mac/Linux (using bash):

python3 -m pynetworktables2js

2. To view the dashboard, use your browser to navigate to `http://localhost:8888`.


It is recommended that while using the dashboard on your driver station, you close the top panel of the FRC DriverStation to make room for the dashboard.

## Authors
* [Erik Boesen](https://github.com/ErikBoesen) is the primary developer of FRC Dashboard.
* [Team 1418](https://github.com/frc1418) used earlier versions of this code in 2015 and 2016.
* [Leon Tan](https://github.com/lleontan) led the original 1418 UI team, coded pynetworktables2js, and developed a browser-based UI which was years later reworked to create FRC Dashboard.
* [Dustin Spicuzza](https://github.com/virtuald) leads the [RobotPy](https://github.com/robotpy) project mentored team 1418 through much of FRC Dashboard's genesis.

## Modifying
FRC Dashboard is designed to be modified for your team's purposes, so you're allowed to do whatever you think is best for you. However, it would be good if you could fork this repository or copy it to another. This will allow you to easily pull updates when they occur, and if you fork it it helps us tell who's using it.

This software is licensed under the MIT license. Basically, modify as much as you like, as long as you give credit where it's due and don't hold us accountable for anything. More information in `LICENSE`.
## How to get started
1. Download and install the latest release of Node.js
2. Clone this repository to a folder
3. Run `npm install` in the project directory
4. Run `electron .`
5. Connect to the FRC robot's wifi network and send/receive the desired NetworkTables keys for displaying/setting values on the dashboard through the robot's code.
Empty file removed components/.keep
Empty file.
Loading