flipperzero-firmware/assets
Samuel Stauffer aa2ecbe80f
infrared: add Kaseikyo IR protocol (#1965)
* infrared: add Kaseikyo IR protocol

Add Kaseikyo IR protocol support. This protocol is also called the Panasonic protocol and is used by a number of manufacturers including Denon.

The protocol includes a vendor field and a number of fields that are vendor specific. To support the format of address+command used by flipper the vendor+genre1+genre2+id fields are encoded into the address while the data is used for the command.

There are older versions of the protocol that used a reverse bit order that are not supported.

Protocol information:
- https://github.com/Arduino-IRremote/Arduino-IRremote/blob/master/src/ir_Kaseikyo.hpp
- http://www.hifi-remote.com/johnsfine/DecodeIR.html#Kaseikyo
- https://www.denon.com/-/media/files/documentmaster/denonna/avr-x3700h_avc-x3700h_ir_code_v01_04062020.doc

* Format and add unit test to Kaseikyo IR codec.

Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2022-11-07 18:38:04 +04:00
..
dolphin Dolphin: add L1_Mods_128x64 animation (#1973) 2022-11-04 14:44:28 +10:00
icons [FL-2911] IR Universal Audio Remote (#1942) 2022-10-29 01:43:54 +09:00
protobuf@e5af96e08f Storage: tree timestamps (#1971) 2022-11-04 15:26:04 +10:00
resources Update ac.ir (#1945) 2022-10-29 01:50:07 +09:00
slideshow [FL-2692, FL-2604, FL-2632] New first start sequence (#1456) 2022-07-26 21:44:03 +09:00
unit_tests infrared: add Kaseikyo IR protocol (#1965) 2022-11-07 18:38:04 +04:00
.gitignore fbt fixes pt4 (#1899) 2022-10-26 07:15:02 +09:00
ReadMe.md Amap and PVS Studio reports in CI/CD (#1526) 2022-08-23 20:29:26 +09:00
SConscript fbt fixes pt4 (#1899) 2022-10-26 07:15:02 +09:00

Requirements

  • Python3
  • Python3 packages: Pillow & heatshrink2

Compiling

./fbt icons proto dolphin_internal dolphin_blocking dolphin_ext resources

Asset naming rules

Images and Animations

NAME_VARIANT_SIZE

  • NAME - mandatory - Asset name in CamelCase. [A-Za-z0-9], special symbols not allowed
  • VARIANT - optional - icon variant: can relate to state or rendering conditions. Examples: active, inactive, inverted.
  • SIZE - mandatory - size in px. Example square 10, 20, 24, etc. Example rectangular: 10x8, 19x5, etc.

Image names will be automatically prefixed with I_, animation names with A_. Icons and Animations will be gathered into icon.h and icon.c.

Dolphin and Games assets

Rules are same as for Images and Animations plus assets are grouped by level and level prepends NAME. Good starting point: https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/AssetNaming/

Important notes

Don't include assets that you are not using, compiler is not going to strip unused assets.

Structure

  • compiled - Output folder made for compiled assets, after building project, in build directory.
  • dolphin - Dolphin game assets sources. Goes to compiled and resources folders in build directory.
  • icons - Icons sources. Goes to compiled folder in build directory.
  • protobuf - Protobuf sources. Goes to compiled folder in build directory.
  • resources - Assets that is going to be provisioned to SD card.
  • slideshow - One-time slideshows for desktop
  • unit_tests - Some pre-defined signals for testing purposes.