Skip to content

Commit

Permalink
add docs
Browse files Browse the repository at this point in the history
  • Loading branch information
makeevrserg committed Sep 17, 2024
1 parent 9fd968f commit 61846cb
Show file tree
Hide file tree
Showing 10 changed files with 813 additions and 0 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build and deploy material mkdocs to gh-pages
on:
push:
branches:
- dev
workflow_dispatch:
jobs:
check_gradle_files_change:
name: "Check docs files changed"
runs-on: ubuntu-latest
outputs:
DOCS_FILES_CHANGED: ${{ steps.docs_changed.outputs.any_changed }}
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
submodules: 'recursive'
- name: Check that docs changed
id: docs_changed
uses: tj-actions/changed-files@40853de9f8ce2d6cfdc73c1b96f14e22ba44aec4 # v45.0.0
with:
files: |
docs/**
mkdocs.yml
deploy:
needs: [ check_gradle_files_change ]
if: ${{ needs.check_gradle_files_change.DOCS_FILES_CHANGED }} == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs-material
- run: pip install mkdocs-minify-plugin
- run: mkdocs gh-deploy --force
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,13 @@ database
├── Toys
└── TVs
```

## Run mkdocs locally

Run docker compose

```bash
docker compose up
```

Open in browser `http://0.0.0.0:80000`
7 changes: 7 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
services:
mkdocs:
image: squidfunk/mkdocs-material:latest
ports:
- 8000:8000
volumes:
- ./:/docs:ro
126 changes: 126 additions & 0 deletions docs/adding_remote.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
### Requirements

To add remote you will need two things:

- Flipper Zero
- Understanding of json format

### Creating IR file

Let's imagine, you want to add new file.

Firstly, you'll need to create `Infrared Remote` with your `Flipper` tool.

Next, you'll need to download this remote via link or export

<h1 align="center">
<img src="/media/share_remote.jpg" alt="drawing" width="200"/>
</h1>

### Creating configurations

Configuration are required to handle device key mapping.
You can see this links to see more about [avaliaable buttons](./avaliable_buttons.md)
or [button aliases](./button_names.md).

Let's create our configuration by example.

We have `Dell_p7524qt.ir` file, which contains some set of ir keys.

```
Filetype: IR signals file
Version: 1
#
name: Power
type: parsed
protocol: NEC
address: 42 00 00 00
command: 01 00 00 00
#
name: Ok
type: parsed
protocol: NEC
address: 42 00 00 00
command: 0D 00 00 00
#
name: Menu
type: parsed
protocol: NEC
address: 42 00 00 00
command: 54 00 00 00
#
name: Back
type: parsed
protocol: NEC
address: 42 00 00 00
command: 6D 00 00 00
```

The names of keys seems like understandable, but we need to map it into
our [avaliaable buttons](./avaliable_buttons.md).

So let's create `config.json` by reference on [button aliases](./button_names.md).

```json
{
"key_map": {
"PWR": {
"type": "NAME",
"key_name": "Power"
},
"OK": {
"type": "NAME",
"key_name": "Ok"
},
"MENU": {
"type": "NAME",
"key_name": "Menu"
},
"EXIT": {
"type": "NAME",
"key_name": "Back"
}
}
}
```

In this `config.json` we mapped our set of keys:

- `PWR` -> "Power"
- `OK` -> "Ok"
- `MENU` -> "Menu"
- `EXIT` -> "Back"

And now we are ready to create **Pull Request**

### Creating PullRequest

Clone the repository using git clone command

```bash
git clone https://github.com/flipperdevices/IRDB.git
```

Open `/database/categories` and lookup for your device category - TV, DVD etc.

In each category there's dozens of brands. Lookup for you brand provider - Samsung, Xiamoi etc.

Current path should be, for example, `/database/categories/TVs/Samsung` if your device is `TV` and brand is `Samsung`.

Next, you'll need to know the model of your device.
Let's imagine it `Samsung UE48JU6670`.
You see there's no yet the model like that. So you need to create a new folder *without
spaces* `/database/categories/TVs/Samsung/Samsung_UE48JU6670`.

If there's already device model like that - you can modify `.ir` file and `config.json`. Or create entire new folder(not
recommended) with custom postfix `_2`.

Now you need to move your downloaded `.ir` file and `config.json`:

- `/database/categories/TVs/Samsung/Samsung_UE48JU6670/Samsung_UE48JU6670.ir`
- `/database/categories/TVs/Samsung/Samsung_UE48JU6670/config.json`

Next, create new branch, push your changes and [create Pull Request](https://github.com/flipperdevices/IRDB/compare)
just [like here](https://github.com/flipperdevices/IRDB/pull/7)

Finally, see the green CI and wait for us to reply and merge!
70 changes: 70 additions & 0 deletions docs/avaliable_buttons.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Here you can see all buttons we currently have

See also avaliable [button aliases](button_names.md)

- `PWR` -> Power enable button
- `SHUTTER` -> Take a photo with camera
- `VOL_UP` -> Increase volume
- `VOL_DOWN` -> Decrease volume
- `CH_UP` -> Next channel
- `CH_DOWN` -> Previous channel
- `FOCUS_MORE` -> Add focus
- `FOCUS_LESS` -> Decrease focus
- `ZOOM_UP` -> Zoom up
- `ZOOM_DOWN` -> Zoom down
- `RESET` -> Reset
- `DOWN` -> Navigation button(for TV menu, for example) - down
- `UP` -> Navigation button(for TV menu, for example) - up
- `RIGHT` -> Navigation button(for TV menu, for example) - right
- `LEFT` -> Navigation button(for TV menu, for example) - left
- `NEXT` -> Next button for TV box
- `PREVIOUS` -> Previous button for TV box
- `TV` -> TV button fot TVs
- `AUX` -> Change AUX mode
- `HOME` -> Home button
- `BACK` -> Back button
- `MENU` -> Show/Open menu
- `PLAY` -> Play/Resume playback
- `MUTE` -> Mute sound
- `EJECT` -> Eject disk
- `FAN_SPEED` -> Change fan speed recursively
- `NEAR` -> Near camera clipping plane
- `FAR` -> Far camera clipping plane
- `PAUSE` -> Pause playback
- `RECORD` -> Start recording
- `WIND_SPEED` -> Change wind speed recursively
- `MODE` -> Change mode (TV Box, DVD)
- `LIGHT` -> Increase/Decrease light recursively
- `FAN_MEDIUM` -> Set fan speed to medium
- `FAN_HIGH` -> Set fan mode to high
- `FAN_LOW` -> Change fan speed to low
- `STOP` -> Stop button (mostly for TV Box)
- `EXIT` -> Exit(from menu, etc)
- `INFO` -> Show info
- `TIMER` -> Start timer, show timer menu
- `OSCILLATE` -> Start oscillating (mostly for fans)
- `TIMER_ADD` -> Increase timer value
- `TIMER_REDUCE` -> Decrease timer value
- `FAN_SPEED_UP` -> Increase fan speed
- `FAN_SPEED_DOWN` -> Decrease fan speed
- `SLEEP` -> Start sleep mode
- `SHAKE_WIND` -> Same as oscillate, start shaking
- `SWING` -> Same as oscillate, start swing
- `OFF` -> Turn off the device
- `BRIGHTNESS_UP` -> Increase brightness
- `BRIGHTNESS_DOWN` -> Decrease brightness
- `COLD_WIND` -> Set wind cold
- `COOL` -> Set/increase cool
- `WIND_TYPE` -> Change wind type
- `TEMPERATURE_UP` -> Increase temperature
- `TEMPERATURE_DOWN` -> Decrease temperature
- `HEAT_ADD` -> Add heat
- `HEAT_REDUCE` -> Reduce heat
- `ENERGY_SAVE` -> Enter energy save mode
- `OK` -> Ok button(mostly where up/left/right/down buttons located
- `REW` -> Rewind button(mostly for playback)
- `SET` -> Set button(mostly for TV box)
- `DELETE` -> Delete button(mostly for TV Box)
- `VOD` -> Enable VODs
- `LIVE_TV` -> Set TV mode
- `FAVORITE` -> Add to favorite
Loading

0 comments on commit 61846cb

Please sign in to comment.