Commit Graph

262 Commits

Author SHA1 Message Date
WillyJL
3ef283824d FBT: Optimize icons blob -4KB DFU, scrub unused icons (#291)
* Unused icons to check later

* Exclude disabled icons from firmware

* Format

* Also report free flash in gh comment

* Fix free flash calc

* Fix?

* Fix??

* Split to next line

* Remove dead icons

* Some spring cleaning of icons cooker

* Improve unused icons script

* Disable icons that cant be used in asset packs

* These will need a workaround for external

* Revert "These will need a workaround for external"

This reverts commit fb23d97952.

* Here's the workaround: split assets lib

now there is "assets" and "fwassets"

firmware links with fwassets and includes all icons
however not all of them are exposed to api

if an app needs a firmware icon not in api, it can use fap_libs=["assets"]
this will link against this dummy assets lib
it only contains the icons that arent exposed to api

this way, an app using assets lib will still benefit from asset packs
but at same time, we can remove pointless icons from dfu blob

* Update changelog
2024-11-05 08:32:24 +01:00
Willy-JL
78f517b294 Merge remote-tracking branch 'ul/dev' into mntm-dev --nobuild 2024-11-05 07:29:58 +00:00
MX
462ab255a1 upd examples 2024-11-05 09:52:24 +03:00
MX
79caf7bf72 Add js sdk changes
With type declarations and various missing parts added by Willy-JL
2024-11-05 09:49:46 +03:00
WillyJL
2e7eedf291 CLI: More commands as plugins on SD -6KB DFU, refactor plugin wrapper, (#276)
* Unused icons to check later

* Exclude disabled icons from firmware

* Format

* CLI: Test moving more cmds to plugins

* CLI: Macro template for plugin wrapper

* Fix plugin filenames

* Retrofit older cli wrappers

* Fix unused

* Fix manifests

* Add explanation

* Revert "Unused icons to check later"

This reverts commit b7f98e344c.

* Revert "Exclude disabled icons from firmware"

This reverts commit ab62e99898.

* Add back toplevel chat command

* Add DFU size to github comment

* Fix build

* Fix BT CLI preload fail

* Add these back

* Fix CLI command gpio preload fail

* Fix input command

* These can stay

* Fix negative size rounding

* Update changelog

* Fix DFU size calc
2024-11-04 09:42:25 +01:00
WillyJL
30d7589f5c JS: Add illegalSymbols prop for gui/text_input (#290)
* JS: Add illegalSymbols prop for gui/text_input

* Update changelog

* Fix gui example
2024-11-04 09:38:59 +01:00
Willy-JL
e5acd5cd22 JS: Bump SDK with new typedocs for old extra modules 2024-11-03 01:52:50 +00:00
Willy-JL
c537092367 JS: Add typedocs for all extra modules 2024-11-03 01:44:44 +00:00
Willy-JL
6e454582a4 JS: Fix NULL ptr in spi example
not sure why this doesnt work, it worked before
2024-11-02 23:22:09 +00:00
Willy-JL
d97dffe852 JS: Never type for die() 2024-11-02 05:31:01 +00:00
Willy-JL
67d9f5b44a JS: Add extra SDK feature strings 2024-11-02 04:34:23 +00:00
Willy-JL
48aceffe9b JS: Add die() to typedocs 2024-11-02 04:16:47 +00:00
Willy-JL
87ef8772c2 Fix last __dirname and __filename usages 2024-11-02 04:15:32 +00:00
Willy-JL
3ea2ace360 Merge commit '2cf425d3462cb5297304b6c8909765e17e98bbae' into merge/js-sdk 2024-11-01 22:11:35 +00:00
Willy-JL
249ff23598 JS: NPM packages changes for CFW SDK 2024-11-01 21:23:28 +00:00
Willy-JL
6e022a60a1 JS: Transform SDK name for cross compatibility 2024-11-01 21:21:55 +00:00
Willy-JL
9736f8ee3e Fix JS CLI command missing imports 2024-11-01 19:21:11 +00:00
Anna Antonenko
2cf425d346 fix: js app template 2024-11-01 17:36:39 +03:00
Willy-JL
bbe69e77c3 Initial JS CFW SDK changes
TODO: Check documentation and other package options

TODO: Transform CFW SDK name to OFW SDK name in build step so all firmwares understand it
2024-11-01 13:57:28 +00:00
Willy-JL
090cc7a010 Update JS SDK vendor firmware 2024-11-01 13:28:20 +00:00
Willy-JL
c565ff83dd Merge remote-tracking branch 'ul/dev' into merge/js-sdk 2024-11-01 13:26:34 +00:00
WillyJL
69aa4cd254 JS: Fix merge of 3963 and 3961 (#3980)
* toString() was moved, not duplicated
* These had gotten lost
* This is now implemented
* Add missing version doctags
2024-11-01 13:52:54 +09:00
MX
91af1cdd46 restore require func 2024-11-01 06:00:46 +03:00
MX
7ce036fd9b missing parts [ci skip] 2024-11-01 05:42:49 +03:00
MX
3c6a621da2 merge fix [ci skip]
with some parts from PR by Willy-JL
https://github.com/flipperdevices/flipperzero-firmware/pull/3980/files
2024-11-01 05:30:33 +03:00
Willy-JL
d0358a42ad Use asset packs not fap_libs=["assets"] 2024-10-31 19:03:59 +00:00
Willy-JL
10127bfc9e Merge branch 'merge-fix-3963-3961' into mntm-dev 2024-10-31 18:20:41 +00:00
Willy-JL
6f5ef19172 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-10-31 18:20:25 +00:00
MX
04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
Willy-JL
b86d58c3c4 Merge commit 'c807ffc3249e07220365bef8dd34511bb1dd0794' into mntm-dev 2024-10-31 18:07:10 +00:00
Willy-JL
462d0309c0 Merge commit '85e5642b2ab537ae9e1c0bccac8add975b8a9ed1' into mntm-dev 2024-10-31 17:51:09 +00:00
Willy-JL
4312036f8d Add missing version doctags 2024-10-31 17:24:32 +00:00
Willy-JL
a9df021a70 This is now implemented 2024-10-31 17:23:52 +00:00
Willy-JL
34a2a8d989 These had gotten lost 2024-10-31 17:23:42 +00:00
Willy-JL
779283b183 toString() was moved, not duplicated 2024-10-31 17:06:06 +00:00
Willy-JL
a010a9e933 Merge commit 'e4c82708242b25a9af4d2695dd72f4eef44631eb' into mntm-dev 2024-10-31 16:40:46 +00:00
Anna Antonenko
f4887ed31c fix: npm deps (#3978) 2024-10-31 19:52:32 +04:00
WillyJL
c807ffc324 JS: Backport³ and more additions & fixes (#3961)
* JS: Fix file select for fbt launch js_app
* JS: badusb: Add numpad keys
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: Layout support
* JS: badusb: altPrint() and altPrintln()
  Co-authored-by: oldip <oldip@users.noreply.github.com>
* JS: badusb: quit()
* JS: serial: readAny()
* JS: serial: end()
* JS: serial: Auto disable expansion service
* JS: storage: Add example script
* JS: gui: text_input: Fix NULL ptr when no prop given
* JS: gui: text_input: Default text props
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: byte_input
  Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
* JS: gui: file_picker
* JS: gui: viewDispatcher.currentView
* JS: gui: view.hasProperty()
* JS: gui: Add some missing typedefs comments
* JS: globals: Fix toString() with negative numbers
* JS: globals: parseInt()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: toUpperCase() and toLowerCase()
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: Add some missing typedefs
* JS: Add example for string functions
  Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
* JS: globals: __dirpath and __filepath
  Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
* JS: globals: load() typedef missing scope param
* JS: Add interactive REPL script example
* JS: Add missing icon for file picker
* JS: Rename to __filename and __dirname
* JS: Move toUpperCase() and toLowerCase() to string class
* JS: parseInt() refactor
* JS: Typedef base param for parseInt()
* Revert "JS: gui: view.hasProperty()"
  This reverts commit 1967ec06d4f2e9cafc4e18384ad370f7a7c44468.
* JS: Move toString() to Number class
* JS: Fix duplicate plugin files
  in plugins, `requires` is used to determine which app to distribute the .fal under `apps_data/appid/plugins`
* JS: math: Missing typedefs, use camelCase
* JS: badusb: layoutPath is optional in typedef
* Fix ASS scoping
* Rename mjs term prop type value
* Change load() description
* Enlarge buffers in default prop assign
* More checks for default data/text size
* Make PVS happy
* Fix icon symbol
* Update types for JS SDK
* toString() was moved to number class

Co-authored-by: oldip <oldip@users.noreply.github.com>
Co-authored-by: xMasterX <xMasterX@users.noreply.github.com>
Co-authored-by: Spooks4576 <Spooks4576@users.noreply.github.com>
Co-authored-by: jamisonderek <jamisonderek@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:22:05 +09:00
Anna Antonenko
72272b3b34 [FL-3922] Fix JS memory corruption (#3971)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:15:52 +09:00
Anna Antonenko
85e5642b2a [FL-3918] Full-fledged JS SDK + npm packages (#3963)
* feat: js sdk
* refactor: move js back where it belongs
* docs: generate docs using typedoc
* feat: sdk versioning scheme
* ci: silence pvs warning
* docs: bring back old incomplete js docs
* style: readAnalog naming
* fix: rename script compatibility screens

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 11:42:57 +09:00
Skorpionm
6d823835df FurEventLoop: add support for FuriEventFlag, simplify API (#3958)
* Core: event_flag, removing duplicate code
* event_loop: add support furi_event_flags
* Examples: add missing free in event loop examples
* Furi: fix event flag
* Sync api symbols
* Unit_test: evet_loop_event_flags
* Fix multiple waiting list elements handling
* Unit_test: add event_loop_event_flag test
* FURI: event_loop add restrictions
* Fix multiple waiting lists items for good
* Improve FuriEventLoop unit tests
* Abolish callback return value
* Remove return value from callback signature
* Use bool level value instead of int32_t
* Add unit tests for FuriStreamBuffer
* Add unit tests for FuriSemaphore
* Speed up test execution
* Improve docs
* Add a stub for furi os-level primitives
* Add more checks for edge cases
* Allow event loop notification from ISR
* Bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-10-31 10:58:16 +09:00
Willy-JL
38471fdd75 GUI: Refactor TextInput illegal symbols API 2024-10-29 22:08:52 +00:00
Willy-JL
4b8b27954b Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-10-29 02:15:59 +00:00
MX
e87356af72 Merge remote-tracking branch 'OFW/portasynthinca3/3922-gpio-crash' into dev [ci skip] 2024-10-28 23:20:13 +03:00
MX
e630f44afd merge p2 2024-10-28 22:22:21 +03:00
MX
6b6d98da2a merge js changes
changes by Willy-JL
spi module by jamisonderek
2024-10-28 22:21:42 +03:00
Willy-JL
19a65a85ba JS: Temp enable illegal symbols in textinput until prop is available 2024-10-25 17:28:26 +01:00
Willy-JL
96e5b24a71 JS: Fourth batch of OFW PR changes 2024-10-25 17:27:41 +01:00
Anna Antonenko
d0214c7b27 fix: incorrect usage of mjs_own 2024-10-23 20:07:03 +03:00
Derek Jamison
6b9ae090f8 JavaScript: SPI implementation (#272)
* JavaScript: SPI implementation

* Fix build

* Add typedefs

* Port example script to newJS

* Push new manifest to bottom

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-10-23 00:33:34 +02:00