Skip to content

Commit fc80f64

Browse files
committed
expand on make your own section
1 parent cb8da5c commit fc80f64

3 files changed

Lines changed: 61 additions & 21 deletions

File tree

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ RainbOS is based off of [WireOS,] (https://github.com/os-vector/wire-os) but wit
1414
- Anki had an old feature in prototype firmware where Vector would request to "Play BlackJack?" You could chose to start a game of BlackJack with Vector by saying yes, or decide to disapoint Vector with a no. Sadly, this feature was taken out before Vector's release. GamingTime added it back, and it is no fully functional once again.
1515
- Many more small changes, which you can checkout on the [RainbOS Repository.] (https://github.com/gamingtimevr/new-victor)
1616
- MORE TO COME IN THE FUTURE!
17-
-RainbOS is a work-in-progress! As GamingTime's skills and understandings grow, so will the features of RainbOS. Stay tuned for the future!
17+
- RainbOS is a work-in-progress! As GamingTime's skills and understandings grow, so will the features of RainbOS. Stay tuned for the future!
1818

19-
## Where to Find
19+
## Where to Find
2020

21-
You can find all RainbOS related things on its GitHub repository, "https://github.com/gamingtimevr/new-victor"
21+
You can find all RainbOS related things on its GitHub repository, "https://github.com/gamingtimevr/new-victor"
2222

23-
You can find all GamingTime realted stuff on his GitHub account, "https://github.com/gamingtimevr" or his Discord, @gamingtimevr.
23+
You can find all GamingTime realted stuff on his GitHub account, "https://github.com/gamingtimevr" or his Discord, @gamingtimevr.
2424

25-
YOU CAN FIND INSTALLATION INSTRUCTIONS ON THE GITHUB REPOSITROY'S README. WEBSITE SOON.
25+
YOU CAN FIND INSTALLATION INSTRUCTIONS ON THE GITHUB REPOSITROY'S README. WEBSITE SOON.

documents/6. Make Your Own CFW/2. forking.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,17 @@ Fork wire-os and its submodules.
44

55
## How
66

7-
- Fork these repos. When choosing names, just replace the `wire-os` parts with the name you desire:
7+
1. Fork these repos. When choosing names, just replace the `wire-os` parts with the name you desire:
88
- [wire-os](https://github.com/os-vector/wire-os)
99
- [wire-os-victor](https://github.com/os-vector/wire-os-victor)
1010
- [wire-os-externals](https://github.com/os-vector/wire-os-externals)
11-
12-
- Let's say, for example, we called it `diode-os`, and our GitHub username is diode123. Run in a Linux terminal:
13-
14-
```
11+
2. Let's say, for example, we called it `diode-os`, and our GitHub username is diode123. Now we have diode123/diode-os, diode123/diode-os-victor, and diode123/diode-os-externals. Run in a Linux terminal:
12+
```bash
1513
cd ~
1614
git clone https://github.com/diode123/diode-os --recursive
1715
```
18-
19-
- Replace the wire-os-victor submodule with yours:
20-
21-
```
16+
3. Replace the wire-os-victor submodule with yours:
17+
```bash
2218
cd diode-os
2319
git rm -f anki/victor
2420
rm -rf anki/victor .git/modules/anki/victor
@@ -27,5 +23,15 @@ git submodule add https://github.com/diode123/diode-os-victor anki/victor
2723
git commit -m "new submodule"
2824
git push
2925
```
30-
31-
- You have successfully created diodeOS.
26+
4. Clone diode-os-victor separately and replace the EXTERNALS submodule.
27+
```bash
28+
cd ~
29+
git clone https://github.com/diode123/diode-os-victor --recursive
30+
cd wire-os-victor
31+
git rm -f EXTERNALS
32+
rm -rf EXTERNALS
33+
git commit -m "remove externals"
34+
git submodule add https://github.com/diode123/diode-os-externals EXTERNALS
35+
git commit -m "update externals"
36+
git push
37+
```
Lines changed: 39 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,46 @@
11
# How to Develop
22

3-
The majority of your changes will probably be in the /anki folder, which is built from diode-os-victor.
3+
Here, we will perform two steps in one: learning how to make modifications to the code, and how to change the final screen in CCIS which describes what the builds are.
44

5-
## Set up your dev environment
5+
## What IDE should I use?
66

7-
You should have two folders: diode-os-victor and diode-os.
7+
Anki tended to use Visual Studio Code - just use that.
88

9-
Do NOT just make all of you changes in diode-os/anki/victor, despite it being the same repo. `diode-os-victor` can be built standalone, and deployed to a robot with `rsync`. These builds should not end up in a Yocto environment.
9+
## What OS should I use?
1010

11-
TODO
11+
An M-series Macs, or an x86_64 Linux PC - toolchains are only available for these platforms.
1212

13+
## Let's make a modification!
14+
15+
1. Open up the diode-os-victor folder in VSCode.
16+
2. Open up `animProcess/src/cozmoAnim/faceDisplay/faceInfoScreenManager.cpp`
17+
3. Modify lines 69-72 to match the details of your new CFW.
18+
4. Open a terminal and run `cd ~/diode-os-victor`
19+
5. Build the code by running this: `./build/build-v.sh`
20+
21+
## Deploy
22+
23+
When you deploy code to a robot, his /anki folder gets replaced. This can be done on a laptop (reference: Ryzen 7840U, 16GB RAM). You do not need to build a whole OTA every time you want to test a change. ./build/build.sh just builds a /anki folder.
24+
25+
1. Open a terminal and `cd ~/diode-os-victor`
26+
2. Echo your robot's IP address to robot_ip.txt: `echo "192.168.1.50" > robot_ip.txt`
27+
3. Run: `curl -o robot_sshkey https://github.com/kercre123/unlocking-vector/raw/refs/heads/main/ssh_root_key`
28+
4. Deploy: `./build/deploy-v.sh`
29+
30+
## Build an OTA with your change
31+
32+
1. Run `cd ~/diode-os`
33+
2. Update the submodule:
34+
```bash
35+
cd anki/victor
36+
git pull origin main
37+
cd ../../
38+
git add .
39+
git commit -m "vp"
40+
git push
41+
```
42+
3. Build:
43+
```bash
44+
./build/build.sh -bt dev -v 1
45+
```
46+
4. Your OTA will be at: ./_build/vicos-3.0.1.1d.ota.

0 commit comments

Comments
 (0)