You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a simple camera tally system built to work with Blackmagic Design ATEM 2 switchers on a Raspberry Pi over 3 pins. This allows for easy wired connection over an XLR cable.
7
8
8
9
## Necessary supplies
9
10
10
-
* Raspberry Pi (any should do, as long as it has GPIO and network connectivity).
11
-
* R/G/B LEDs or at least one RGB LED w/ necessary resistors.
12
-
* Ethernet connection to your switcher.
13
-
* Diodes for the ground connection.
11
+
- Raspberry Pi (any should do, as long as it has GPIO and network connectivity).
12
+
- R/G/B LEDs or at least one RGB LED w/ necessary resistors.
13
+
- Ethernet connection to your switcher.
14
+
- Diodes for the ground connection.
14
15
15
16
Hardware instructions coming sometime in the future.
16
17
17
18
## Usage
18
19
20
+
To install the software:
21
+
19
22
1. Connect your LED(s) to the appropriate GPIO pins and edit the config file to contain the right pin numbers.
20
23
2. Configure your Raspberry Pi to be on the same network as your ATEM switcher, making sure the Raspberry Pi
21
-
is able to ping and connect to the switcher.
24
+
is able to ping and connect to the switcher.
22
25
3. Edit the config file to contain the right IP of your switcher and the right input ID to listen to (more info for this step in the future).
23
26
4. Install the dependencies with `npm install`.
24
27
5. Start the program with `npm start` or your favorite process manager.
25
28
26
-
## Testing
29
+
This will start the program, running `src/index.ts` and updating the tally lights until execution is stopped. The state of LEDs will be preserved when the process ends until it is overwritten.
30
+
31
+
## Configuration
32
+
33
+
Here you should write what are all of the configurations a user can enter when using the project.
34
+
35
+
## Development
36
+
37
+
### Prerequisites
38
+
39
+
You must install Node.js and NPM before beginning to develop or use this application. Currently, only Node LTS v12, v14, and v16 are tested. Any other version is not guaranteed to work.
40
+
41
+
It's recommended you install Node.js and NPM using [nvm](https://github.com/nvm-sh/nvm).
42
+
43
+
### Setting up Dev Environment
44
+
45
+
Run the following script in order to begin development:
46
+
47
+
```shell
48
+
git clone https://github.com/rpitv/atem-tally.git
49
+
cd atem-tally/
50
+
npm install
51
+
npm run prepare
52
+
```
53
+
54
+
You are now ready to write code. All application code is located within [/src](./src). Begin writing in your `.ts` files. It is presumed you will not be developing on a Raspberry Pi. If you do, then you may run the application using `npm start`. Otherwise, use `npm test` to run unit tests on your code.
55
+
56
+
### Testing
57
+
58
+
A unit test suite is available for the internal API. Current plans are to eventually add an external API, allowing for arbitrary usage. You may run the test suite by executing:
59
+
60
+
```shell
61
+
npm test
62
+
```
63
+
64
+
Since you presumably will not be developing on a Raspberry Pi, it's important to have a complete testing suite, particularly for components which interact with the Raspberry Pi GPIO pins.
65
+
66
+
### Style guide
67
+
68
+
This project follows the guidelines found here: https://github.com/elsewhencode/project-guidelines
69
+
70
+
The main rule from these guidelines that we do not follow is commits do not necessarily have to go into a dev branch before master. It is up to your distrection to determine whether it would be appropriate to do so.
71
+
72
+
Code style is enforced using ESLint. Continuous Integration runs the linter before unit tests, however you may also run the linter yourself using:
73
+
74
+
```shell
75
+
npm run lint
76
+
```
77
+
78
+
Automatically fix style issues with:
79
+
80
+
```shell
81
+
npm run fix
82
+
```
83
+
84
+
This command will automatically run in a pre-commit Git hook.
85
+
86
+
## Licensing
27
87
28
-
A unit testing suite is available in [./test](./test). You can run it with `npm test`.
88
+
[This project is licensed under the MIT license.](./LICENSE)
0 commit comments