Added protocol info

This commit is contained in:
FalsePhilosopher 2023-01-16 18:38:43 -07:00 committed by GitHub
parent a7b058eeeb
commit 0afef80da3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -34,6 +34,96 @@ Then, use qFlipper to transfer it to your Flipper and replace the existing one (
***Again, you may have manifest file issues if you do not compile your own or use a tested firmware above!***
## Protocol info
This info was gathered from the respecctive locations in the firmwares comments. <br>
Ie. lib/infrared/encoder_decoder/`*`/infrared_protocol_`*`.h<br>
Some of the info doesn't show up well so view thew raw readme or [this commit](https://github.com/flipperdevices/flipperzero-firmware/commit/75e9de12b065bd5e572b8b9232c8b9670c8e6f91).
### Kaseikyo protocol description
https://github.com/Arduino-IRremote/Arduino-IRremote/blob/master/src/ir_Kaseikyo.hpp <br>
* Preamble Preamble Pulse Distance/Width Pause Preamble Preamble
* mark space Modulation up to period repeat repeat
* mark space
*
* 3360 1665 48 bit ...130000 3456 1728
` __________ _ _ _ _ _ _ _ _ _ _ _ _ _ ___________`<br>
` ____ __________ _ _ _ __ __ __ _ _ __ __ _ _ ________________ ___________`
### NEC protocol description
https://radioparty.ru/manuals/encyclopedia/213-ircontrol?start=1 <br>
* Preamble Preamble Pulse Distance/Width Pause Preamble Preamble Stop
* mark space Modulation up to period repeat repeat bit
* mark space
*
* 9000 4500 32 bit + stop bit ...110000 9000 2250
` __________ _ _ _ _ _ _ _ _ _ _ _ _ _ ___________ _`<br>
` ____ __________ _ _ _ __ __ __ _ _ __ __ _ _ ________________ ____________ ___`
### RC5 protocol description
https://www.mikrocontroller.net/articles/IRMP_-_english#RC5_.2B_RC5X
* Manchester/biphase
* Modulation
*
* 888/1776 - bit (x2 for toggle bit)
*
` __ ____ __ __ __ __ __ __ __ __`<br>
` __ __ ____ __ __ __ __ __ __ __ _`<br>
* | 1 | 1 | 0 | ... | ... |
* s si T address (MSB) command (MSB)
*
* Note: manchester starts from space timing, so it have to be handled properly
* s - start bit (always 1)
* si - RC5: start bit (always 1), RC5X - 7-th bit of address (in our case always 0)
* T - toggle bit, change it's value every button press
* address - 5 bit
* command - 6/7 bit
### RC6 protocol description
https://www.mikrocontroller.net/articles/IRMP_-_english#RC6_.2B_RC6A
* Preamble Manchester/biphase Silence
* mark/space Modulation
*
* 2666 889 444/888 - bit (x2 for toggle bit) 2666
*
` ________ __ __ __ __ ____ __ __ __ __ __ __ __ __`<br>
` _ _________ ____ __ __ ____ __ __ __ __ __ __ __ __ _______________`<br>
* | 1 | 0 | 0 | 0 | 0 | ... | ... | |
* s m2 m1 m0 T address (MSB) command (MSB)
*
* s - start bit (always 1)
* m0-2 - mode (000 for RC6)
* T - toggle bit, twice longer
* address - 8 bit
* command - 8 bit
### SAMSUNG32 protocol description
https://www.mikrocontroller.net/articles/IRMP_-_english#SAMSUNG <br>
* Preamble Preamble Pulse Distance/Width Pause Preamble Preamble Bit1 Stop
* mark space Modulation repeat repeat bit
* mark space
*
* 4500 4500 32 bit + stop bit 40000/100000 4500 4500
` __________ _ _ _ _ _ _ _ _ _ _ _ ___________ _ _`<br>
` _ __________ __ _ __ __ __ _ _ __ __ _ ________________ ____________ ____ ___`
### Sony SIRC protocol description
https://www.sbprojects.net/knowledge/ir/sirc.php <br>
http://picprojects.org.uk/
* Preamble Preamble Pulse Width Modulation Pause Entirely repeat
* mark space up to period message..
*
* 2400 600 12/15/20 bits (600,1200) ...45000 2400 600
` __________ _ _ _ _ _ _ _ _ _ _ _ _ _ __________ _ _`<br>
` ____ __________ _ _ _ __ __ __ _ _ __ __ _ _ ____________________ __________ _`
* | command | address |
* SIRC | 7b LSB | 5b LSB |
* SIRC15 | 7b LSB | 8b LSB |
* SIRC20 | 7b LSB | 13b LSB |
*
* No way to determine either next message is repeat or not,
* so recognize only fact message received. Sony remotes always send at least 3 messages.
* Assume 8 last extended bits for SIRC20 are address bits.
-----
## Donation Information