* Menu: animation. Irukagotchi: idle image.
* Power: battery, usb activity widget
* Power: tune battery max voltage and clamp overshoot
* get initial charge state
Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
Co-authored-by: aanper <mail@s3f.ru>
* Assets: import from gdrive
* Assets: fully working build pipeline and registry
* NFC: menu icon
* Gui: layers. Irukagotchi: base app to handle input on idle screen. Makefile: reboot after flash in dfu mode.
* ValueMutex: with lambda
* Assets: proper animation frames sorting
* ValueMutex: proper furi_open usage
* Assets,GUI: split icon into icon data and icon state.
* Format source code
* Docker: add python3 and imagemagic
* Irukagotchi: cleanup
* GUI: event lock moved to gui.
* Rfid: proper gui layer
* GUI: elements. Menu: frame and scroll
* GUI, Menu: format code.
* Menu: dual font main menu
* Menu: format sources
* GUI: 0 total scrollbar
* CI: enable lfs
* Menu: pixel perfect main menu
Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
Co-authored-by: aanper <mail@s3f.ru>
* Fix ValueManager implementation
* Implement ValueComposer
* Add constructor for ValueManager
* Add value-expanders.h to flipper_v2.h set
* Move COPY_COMPOSE body into a .c file
* Add test for ValueManager
* Add destructors for ValueMutex, ValueManager and ValueComposer
* Use destructors in tests
* Move composition logic into perform_compose()
* Add docs for perform_compose()
* Add test for ValueComposer
* Replace atomic_bool with bool as g++ compiler doesn't support C11 atomics
* Add Event type
* Add semaphore support to the local target
* Add test for Event
* Update input records and relevant examples
* Rename Event to AppEvent in the cc1101-workaround example
* Rename Event to AppEvent in the irda example
* Use Event in ValueComposer to wait for update request
* Add perform_compose_internal() function
* fix Event/AppEvent
Co-authored-by: aanper <mail@s3f.ru>
* initial gpio layer
* move temlplate.c to template.c.example in preparing to applications.mk rework
* separate arduino layer
* separate flipper_hal.x
* prepare to switch applications on v2 core gpio api
* swithch applications to v2 gpio api
* gpio api for local target
* better gpio_disable handling
* remove pwm functions from local target
* inline gpio funcs
* common function to init all api's
* fix local example blink
* move delay us to hal api folder
* move pwm_set/pwm_stop to hal api folder
* update applications to use hal pwm api
* remove gpio mode case warning
* add speaker demo to build
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
* fix pylint paths
* add fake py file for test
* rm fake py file
* add fake txt file for test
* rm fake txt file
* fix paths for pull request
* fix for pull request trigger
* add fake py file for test
* rm fake py file
* add fake text file for test
* rm fake text file for test
Co-authored-by: coreglitch <mail@s3f.ru>
* DWT-based microsecond delay
* simple ir app (work only with NEC protocol and predefined address - command)
* remove space from file name, add delay_us_init_DWT header
* float-based delay us
* init tim2 by CubeMX
* fix simple pwm functions
* simple pwm timer based ir nec protocol
* ir gui test app
Co-authored-by: aanper <mail@s3f.ru>