From 41ae5d8981aa7ffe776b018c7574aa6ba7723e72 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Mon, 11 Nov 2024 21:10:12 +0300 Subject: [PATCH 01/12] fix changelog link in dev builds --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 0c6ef0975..008713039 100644 --- a/.drone.yml +++ b/.drone.yml @@ -538,7 +538,7 @@ steps: - rm -f changelogcut.txt - rm -f changelogcutfin.txt - echo '' >> changelogready.txt - - echo '## [Read full changelog](https://github.com/DarkFlippers/unleashed-firmware/releases/tag/'${DRONE_TAG}')' >> changelogready.txt + - echo '## [Read full changelog](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/CHANGELOG.md)' >> changelogready.txt - sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_discord.txt - sed -i 's/(commitsha)/'${DRONE_COMMIT_SHA}'/g' .ci_files/devbuild_msg_discord.txt - sed -i 's/(buildnum)/'${DRONE_BUILD_NUMBER}'/g' .ci_files/devbuild_msg_telegram.txt From e3c3edcc7e3c8ffea3475aee62acd590fa9a92c4 Mon Sep 17 00:00:00 2001 From: Georgii Surkov Date: Sun, 17 Nov 2024 21:01:15 +0000 Subject: [PATCH 02/12] Add send break support --- applications/main/gpio/usb_uart_bridge.c | 13 ++++++++++++- applications/services/cli/cli_vcp.c | 1 + targets/f18/api_symbols.csv | 3 ++- targets/f7/api_symbols.csv | 3 ++- targets/f7/furi_hal/furi_hal_serial.c | 10 ++++++++++ targets/f7/furi_hal/furi_hal_serial.h | 6 ++++++ targets/f7/furi_hal/furi_hal_usb_cdc.c | 13 ++++++++++--- targets/f7/furi_hal/furi_hal_usb_cdc.h | 1 + 8 files changed, 44 insertions(+), 6 deletions(-) diff --git a/applications/main/gpio/usb_uart_bridge.c b/applications/main/gpio/usb_uart_bridge.c index f6e68b109..f3a9775a6 100644 --- a/applications/main/gpio/usb_uart_bridge.c +++ b/applications/main/gpio/usb_uart_bridge.c @@ -35,7 +35,7 @@ typedef enum { WorkerEvtLineCfgSet = (1 << 6), WorkerEvtCtrlLineSet = (1 << 7), - + WorkerEvtSendBreak = (1 << 8), } WorkerEvtFlags; #define WORKER_ALL_RX_EVENTS \ @@ -69,6 +69,7 @@ static void vcp_on_cdc_rx(void* context); static void vcp_state_callback(void* context, uint8_t state); static void vcp_on_cdc_control_line(void* context, uint8_t state); static void vcp_on_line_config(void* context, struct usb_cdc_line_coding* config); +static void vcp_on_cdc_break(void* context, uint16_t duration); static const CdcCallbacks cdc_cb = { vcp_on_cdc_tx_complete, @@ -76,6 +77,7 @@ static const CdcCallbacks cdc_cb = { vcp_state_callback, vcp_on_cdc_control_line, vcp_on_line_config, + vcp_on_cdc_break, }; /* USB UART worker */ @@ -287,6 +289,9 @@ static int32_t usb_uart_worker(void* context) { if(events & WorkerEvtCtrlLineSet) { usb_uart_update_ctrl_lines(usb_uart); } + if(events & WorkerEvtSendBreak) { + furi_hal_serial_send_break(usb_uart->serial_handle); + } } usb_uart_vcp_deinit(usb_uart, usb_uart->cfg.vcp_ch); usb_uart_serial_deinit(usb_uart); @@ -377,6 +382,12 @@ static void vcp_on_line_config(void* context, struct usb_cdc_line_coding* config furi_thread_flags_set(furi_thread_get_id(usb_uart->thread), WorkerEvtLineCfgSet); } +static void vcp_on_cdc_break(void* context, uint16_t duration) { + UNUSED(duration); + UsbUartBridge* usb_uart = (UsbUartBridge*)context; + furi_thread_flags_set(furi_thread_get_id(usb_uart->thread), WorkerEvtSendBreak); +} + UsbUartBridge* usb_uart_enable(UsbUartConfig* cfg) { UsbUartBridge* usb_uart = malloc(sizeof(UsbUartBridge)); diff --git a/applications/services/cli/cli_vcp.c b/applications/services/cli/cli_vcp.c index cdabaaa05..83f4f8214 100644 --- a/applications/services/cli/cli_vcp.c +++ b/applications/services/cli/cli_vcp.c @@ -57,6 +57,7 @@ static CdcCallbacks cdc_cb = { vcp_state_callback, vcp_on_cdc_control_line, NULL, + NULL, }; static CliVcp* vcp = NULL; diff --git a/targets/f18/api_symbols.csv b/targets/f18/api_symbols.csv index b5d51a0dd..79610d0bb 100644 --- a/targets/f18/api_symbols.csv +++ b/targets/f18/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,78.1,, +Version,+,78.2,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/bt/bt_service/bt_keys_storage.h,, Header,+,applications/services/cli/cli.h,, @@ -1446,6 +1446,7 @@ Function,+,furi_hal_serial_get_gpio_pin,const GpioPin*,"FuriHalSerialHandle*, Fu Function,+,furi_hal_serial_init,void,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_is_baud_rate_supported,_Bool,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_resume,void,FuriHalSerialHandle* +Function,+,furi_hal_serial_send_break,void,FuriHalSerialHandle* Function,+,furi_hal_serial_set_br,void,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_suspend,void,FuriHalSerialHandle* Function,+,furi_hal_serial_tx,void,"FuriHalSerialHandle*, const uint8_t*, size_t" diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index ee81f76a9..7da0c727f 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,78.1,, +Version,+,78.2,, Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/bt/bt_service/bt_keys_storage.h,, @@ -1635,6 +1635,7 @@ Function,+,furi_hal_serial_get_gpio_pin,const GpioPin*,"FuriHalSerialHandle*, Fu Function,+,furi_hal_serial_init,void,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_is_baud_rate_supported,_Bool,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_resume,void,FuriHalSerialHandle* +Function,+,furi_hal_serial_send_break,void,FuriHalSerialHandle* Function,+,furi_hal_serial_set_br,void,"FuriHalSerialHandle*, uint32_t" Function,+,furi_hal_serial_suspend,void,FuriHalSerialHandle* Function,+,furi_hal_serial_tx,void,"FuriHalSerialHandle*, const uint8_t*, size_t" diff --git a/targets/f7/furi_hal/furi_hal_serial.c b/targets/f7/furi_hal/furi_hal_serial.c index 5ddb0785f..3f6b575a6 100644 --- a/targets/f7/furi_hal/furi_hal_serial.c +++ b/targets/f7/furi_hal/furi_hal_serial.c @@ -950,3 +950,13 @@ const GpioPin* return furi_hal_serial_config[handle->id].gpio[direction]; } + +void furi_hal_serial_send_break(FuriHalSerialHandle* handle) { + furi_check(handle); + + if(handle->id == FuriHalSerialIdUsart) { + LL_USART_RequestBreakSending(USART1); + } else { + LL_LPUART_RequestBreakSending(LPUART1); + } +} diff --git a/targets/f7/furi_hal/furi_hal_serial.h b/targets/f7/furi_hal/furi_hal_serial.h index 00010d83c..6dad8ec31 100644 --- a/targets/f7/furi_hal/furi_hal_serial.h +++ b/targets/f7/furi_hal/furi_hal_serial.h @@ -239,6 +239,12 @@ void furi_hal_serial_dma_rx_stop(FuriHalSerialHandle* handle); */ size_t furi_hal_serial_dma_rx(FuriHalSerialHandle* handle, uint8_t* data, size_t len); +/** Send a break sequence (low level for the whole character duration) + * + * @param handle Serial handle + */ +void furi_hal_serial_send_break(FuriHalSerialHandle* handle); + #ifdef __cplusplus } #endif diff --git a/targets/f7/furi_hal/furi_hal_usb_cdc.c b/targets/f7/furi_hal/furi_hal_usb_cdc.c index cfedb5e76..3408789dd 100644 --- a/targets/f7/furi_hal/furi_hal_usb_cdc.c +++ b/targets/f7/furi_hal/furi_hal_usb_cdc.c @@ -122,7 +122,7 @@ static const struct CdcConfigDescriptorSingle cdc_cfg_desc_single = { .bFunctionLength = sizeof(struct usb_cdc_acm_desc), .bDescriptorType = USB_DTYPE_CS_INTERFACE, .bDescriptorSubType = USB_DTYPE_CDC_ACM, - .bmCapabilities = 0, + .bmCapabilities = USB_CDC_CAP_BRK, }, .cdc_union = { @@ -235,7 +235,7 @@ static const struct CdcConfigDescriptorDual .bFunctionLength = sizeof(struct usb_cdc_acm_desc), .bDescriptorType = USB_DTYPE_CS_INTERFACE, .bDescriptorSubType = USB_DTYPE_CDC_ACM, - .bmCapabilities = 0, + .bmCapabilities = USB_CDC_CAP_BRK, }, .cdc_union = { @@ -330,7 +330,7 @@ static const struct CdcConfigDescriptorDual .bFunctionLength = sizeof(struct usb_cdc_acm_desc), .bDescriptorType = USB_DTYPE_CS_INTERFACE, .bDescriptorSubType = USB_DTYPE_CDC_ACM, - .bmCapabilities = 0, + .bmCapabilities = USB_CDC_CAP_BRK, }, .cdc_union = { @@ -680,6 +680,13 @@ static usbd_respond cdc_control(usbd_device* dev, usbd_ctlreq* req, usbd_rqc_cal dev->status.data_ptr = &cdc_config[if_num]; dev->status.data_count = sizeof(cdc_config[0]); return usbd_ack; + case USB_CDC_SEND_BREAK: + if(callbacks[if_num] != NULL) { + if(callbacks[if_num]->break_callback != NULL) { + callbacks[if_num]->break_callback(cb_ctx[if_num], req->wValue); + } + } + return usbd_ack; default: return usbd_fail; } diff --git a/targets/f7/furi_hal/furi_hal_usb_cdc.h b/targets/f7/furi_hal/furi_hal_usb_cdc.h index 89b68991b..995e9009a 100644 --- a/targets/f7/furi_hal/furi_hal_usb_cdc.h +++ b/targets/f7/furi_hal/furi_hal_usb_cdc.h @@ -15,6 +15,7 @@ typedef struct { void (*state_callback)(void* context, uint8_t state); void (*ctrl_line_callback)(void* context, uint8_t state); void (*config_callback)(void* context, struct usb_cdc_line_coding* config); + void (*break_callback)(void* context, uint16_t duration); } CdcCallbacks; void furi_hal_cdc_set_callbacks(uint8_t if_num, CdcCallbacks* cb, void* context); From 07426b6df22ebd0e845d24c94f5d942266dcc158 Mon Sep 17 00:00:00 2001 From: Georgii Surkov Date: Mon, 18 Nov 2024 11:29:54 +0000 Subject: [PATCH 03/12] Add SendBreak event to waiting mask --- applications/main/gpio/usb_uart_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/main/gpio/usb_uart_bridge.c b/applications/main/gpio/usb_uart_bridge.c index f3a9775a6..0d2c63b3c 100644 --- a/applications/main/gpio/usb_uart_bridge.c +++ b/applications/main/gpio/usb_uart_bridge.c @@ -40,7 +40,7 @@ typedef enum { #define WORKER_ALL_RX_EVENTS \ (WorkerEvtStop | WorkerEvtRxDone | WorkerEvtCfgChange | WorkerEvtLineCfgSet | \ - WorkerEvtCtrlLineSet | WorkerEvtCdcTxComplete) + WorkerEvtCtrlLineSet | WorkerEvtCdcTxComplete | WorkerEvtSendBreak) #define WORKER_ALL_TX_EVENTS (WorkerEvtTxStop | WorkerEvtCdcRx) struct UsbUartBridge { From c855066439237a2c690f296da4bead8f957c8eca Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Thu, 21 Nov 2024 07:14:14 +0000 Subject: [PATCH 04/12] Update apps --- CHANGELOG.md | 12 +++++++++++- applications/external | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b3c05e7f..f37e582ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,17 @@ - Nothing ### Updated: -- Nothing +- Apps: + - FlipLibrary: Added dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek) + - FlipSocial: Improved authentication (by @jblanked) + - FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps (by @jblanked) + - FlipWeather: Stability improvements (by @jblanked) + - FlipWiFi: Improved error handling (by @jblanked) + - FlipBIP: Refactor to make adding coins easier (by @xtruan) + - uPython: Enabled extra functions for the `random` module (by @ofabel) + - Pokemon Trade Tool: Update to gblink v0.63 which includes saving/loading of pin configurations for the EXT link interface (by @kbembedded) + - Snake 2.0: Progress saving, endless mode, game timer, fruit positioning bugfixes (by @Willzvul) + - UL: NFC Magic: Added possibility to write 7b MFC to Gen1 tags (by @mishamyte) ### Fixed: - Nothing diff --git a/applications/external b/applications/external index 861fe3351..f09acb4b3 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit 861fe3351399f62a705bf3ebea3ca291b4319670 +Subproject commit f09acb4b3ae13a8a43f38a042483836776b37ebb From a7e9e3955c25a301ac63725ed1360edaacb8185b Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Thu, 21 Nov 2024 07:30:01 +0000 Subject: [PATCH 05/12] "Failed to parse source file AST" shut up linter --nobuild --- SConstruct | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SConstruct b/SConstruct index 722713a28..7f9fef8ba 100644 --- a/SConstruct +++ b/SConstruct @@ -346,6 +346,8 @@ black_commandline = [ black_base_args = [ "--include", '"(\\.scons|\\.py|SConscript|SConstruct|\\.fam)$"', + "--exclude", + '"(mp_flipper/flipperzero/random\\.py)$"', ] distenv.PhonyTarget( From 7e0f292615298b597ef7f7a97ca6ab22e759920e Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Tue, 26 Nov 2024 05:46:32 +0300 Subject: [PATCH 06/12] upd changelog --- CHANGELOG.md | 116 ++------------------------------------------------- 1 file changed, 3 insertions(+), 113 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d263bb8ba..b5058c114 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,119 +1,9 @@ ## Main changes -- Current API: 78.1 -- SubGHz: - - Frequency analyzer fixes and improvements: - - **Enforce int module** (like in OFW) usage due to lack of required hardware on external boards (PathIsolate (+rf switch for multiple paths)) and incorrect usage and/or understanding the purpose of frequency analyzer app by users, it should be used only to get frequency of the remote placed around 1-10cm around flipper's left corner - - **Fix possible GSM mobile towers signal interference** by limiting upper frequency to 920mhz max - - Fix buttons logic, **fix crash** - - Protocol improvements: - - **Keeloq: Monarch full support, with add manually option** (thanks @ashphx !) - - **Princeton support for second button encoding type** (8bit) - - GangQi fix serial check and remove broken check from UI - - Hollarm add more button codes (thanks to @mishamyte for captures) - - Misc: - - Add extra settings to disable GPIO pins control used for external modules amplifiers and/or LEDs (in radio settings menu with debug ON) -- NFC: - - Read Ultralight block by block (**fix password protected MFUL reading issue**) (by @mishamyte | PR #825 #826) - - **Update NDEF parser** (SLIX and MFC support) (by @luu176 and @jaylikesbunda and @Willy-JL) - - OFW PR 3822: **MIFARE Classic Key Recovery Improvements** (by @noproto) - - OFW PR 3930: NFC Emulation freeze fix (by @RebornedBrain) - - OFW: H World Hotel Chain Room Key Parser - - OFW: Parser for Tianjin Railway Transit - - New keys in system dict -- Infrared: - - **Add LEDs universal remote** (DB by @amec0e) - - Update universal remote assets (by @amec0e | PR #813 #816) -- JS: - - OFW: JS modules & SDK -> **Breaking API change** - - **Backporting custom features** (read about most of the changes after other changes section) (by @xMasterX and @Willy-JL) - - Add i2c & SPI module (by @jamisonderek) -* OFW: FuriHal, drivers: rework gauge initialization routine -> **Downgrade to older releases may break battery UI percent indicator, upgrade to this or newer version to restore** -* OFW: heap: increased size -> **More free RAM!!** -* OFW: New layout for BadUSB (es-LA) -* OFW: Require PIN on boot +- Current API: 78.2 +* OFW: merged gsurkov/vcp_break_support branch for usb uart bridge (WIP!!!) * Apps: **Check out more Apps updates and fixes by following** [this link](https://github.com/xMasterX/all-the-plugins/commits/dev) ## Other changes -* SubGHz: Freq analyzer - Fix duplicated frequency lists and use user config for nearest frequency selector too -* SubGHz: Code cleanup and fix for rare dupicated (Data) field cases -* OFW: NFC TRT Parser: Additional checks to prevent false positives -* OFW PR 3992: Loader: Fix BusFault in handling of OOM (by @Willy-JL) -* OFW PR 3885: NFC: Add API to enforce ISO15693 mode (by @aaronjamt) -* OFW: NFC: iso14443_4a improvements (by @RebornedBrain) -* OFW: NFC: Plantain parser improvements (by @assasinfil) & fixes (by @mxcdoam) -* OFW: NFC: Moscow social card parser (by @assasinfil) -* OFW: fix: npm deps -* OFW: 目覚め時計 (Added alarm option and clock settings) -* OFW: JS: Backport and more additions & fixes -* OFW: nfc: add Caltrain zones for Clipper -* OFW: Update unit tests docs -* OFW: Fix JS memory corruption (in gpio module) -* OFW: Full-fledged JS SDK + npm packages -* OFW: FurEventLoop: add support for FuriEventFlag, simplify API -* OFW: lib: digital_signal: digital_sequence: add furi_hal.h wrapped in ifdefs -* OFW: Add warning about stealth mode in vibro CLI -* OFW: Small fixes in the wifi devboard docs -* OFW: BadUSB - Improve ChromeOS and GNOME demo scripts -* OFW: Small JS fixes -* OFW: Canvas: extended icon draw. -* OFW: Fixes Mouse Clicker Should have a "0" value setting for "as fast as possible" -* OFW: Wi-Fi Devboard documentation rework -* OFW: Furi: A Lot of Fixes -* OFW PR 3933: furi_hal_random: Wait for ready state and no errors before sampling (by @n1kolasM) -* OFW: nfc/clipper: Update BART station codes -* OFW: FuriThread: Improve state callbacks -* OFW: Documentation: update and cleanup -* OFW: Improve bit_buffer.h docs -* OFW: Prevent idle priority threads from potentially starving the FreeRTOS idle task -* OFW: IR universal remote additions -* OFW: Fix EM4100 T5577 writing block order (was already done in UL) -* OFW: kerel typo -* OFW: Folder rename fails -* OFW: Put errno into TCB -* OFW: Fix USB-UART bridge exit screen stopping the bridge prematurely -**More details on JS changes** (js changelog written by @Willy-JL , thanks!): -- Our custom JS SDK can be found on npm now: https://www.npmjs.com/org/darkflippers -- Non-exhaustive list of changes to help you fix your scripts: - - `badusb`: - - `setup()`: `mfr_name`, `prod_name`, `layout_path` parameters renamed to `mfrName`, `prodName`, `layoutPath` - - effort required to update old scripts using badusb: very minimal - - `dialog`: - - removed, now replaced by `gui/dialog` and `gui/file_picker` (see below) - - `event_loop`: - - new module, allows timer functionality, callbacks and event-driven programming, used heavily alongside gpio and gui modules - - `gpio`: - - fully overhauled, now you `get()` pin instances and perform actions on them like `.init()` - - now supports interrupts, callbacks and more cool things - - effort required to update old scripts using gpio: moderate - - `gui`: - - new module, fully overhauled, replaces dialog, keyboard, submenu, textbox modules - - higher barrier to entry than older modules (requires usage of `event_loop` and `gui.viewDispatcher`), but much more flexible, powerful and easier to extend - - includes all previously available js gui functionality (except `widget`), and also adds `gui/loading` and `gui/empty_screen` views - - currently `gui/file_picker` works different than other new view objects, it is a simple `.pickFile()` synchronous function, but this [may change later](https://github.com/flipperdevices/flipperzero-firmware/pull/3961#discussion_r1805579153) - - effort required to update old scripts using gui: extensive - - `keyboard`: - - removed, now replaced by `gui/text_input` and `gui/byte_input` (see above) - - `math`: - - `is_equal()` renamed to `isEqual()` - - `storage`: - - fully overhauled, now you `openFile()`s and perform actions on them like `.read()` - - now supports many more operations including different open modes, directories and much more - - effort required to update old scripts using storage: moderate - - `submenu`: - - removed, now replaced by `gui/submenu` (see above) - - `textbox`: - - removed, now replace by `gui/text_box` (see above) - - `widget`: - - only gui functionality not ported to new gui module, remains unchanged for now but likely to be ported later on - - globals: - - `__filepath` and `__dirpath` renamed to `__filename` and `__dirname` like in nodejs - - `to_string()` renamed and moved to number class as `n.toString()`, now supports optional base parameter - - `to_hex_string()` removed, now use `n.toString(16)` - - `parse_int()` renamed to `parseInt()`, now supports optional base parameter - - `to_upper_case()` and `to_lower_case()` renamed and moved to string class as `s.toUpperCase()` and `s.toLowerCase()` - - effort required to update old scripts using these: minimal - - Added type definitions (typescript files for type checking in IDE, Flipper does not run typescript) - - Documentation is incomplete and deprecated, from now on you should refer to type definitions (`applications/system/js_app/types`), those will always be correct - - Type definitions for extra modules we have that OFW doesn't will come later +* No changes yet :(

#### Known NFC post-refactor regressions list: - Mifare Mini clones reading is broken (original mini working fine) (OFW) From 1d8b06a5c17831125e49b74ee30bedc65eecac92 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:04:43 +0000 Subject: [PATCH 07/12] Update apps --nobuild --- CHANGELOG.md | 9 ++++++--- applications/external | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02cdb132e..0ba9b75aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,16 +3,19 @@ ### Updated: - Apps: - - FlipLibrary: Added dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek) + - FlipLibrary: Added Wikipedia, dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek) - FlipSocial: Improved authentication (by @jblanked) - FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps (by @jblanked) - - FlipWeather: Stability improvements (by @jblanked) - - FlipWiFi: Improved error handling (by @jblanked) + - FlipTrader: Improved progress display, added connectivity check on startup (by @jamisonderek) + - FlipWeather: Stability improvements (by @jblanked), improved progress display, added connectivity check on startup (by @jamisonderek) + - FlipWiFi: Improved error handling, updated scan loading and parsing (by @jblanked), added connectivity check on startup (by @jamisonderek) - FlipBIP: Refactor to make adding coins easier (by @xtruan) - uPython: Enabled extra functions for the `random` module (by @ofabel) - Pokemon Trade Tool: Update to gblink v0.63 which includes saving/loading of pin configurations for the EXT link interface (by @kbembedded) - Snake 2.0: Progress saving, endless mode, game timer, fruit positioning bugfixes (by @Willzvul) + - WebCrawler: Improved progress display, added connectivity check on startup (by @jamisonderek) - UL: NFC Magic: Added possibility to write 7b MFC to Gen1 tags (by @mishamyte) + - UL: Fixed apps for firmware USB CDC callback changes (by @xMasterX) ### Fixed: - OFW: GPIO: Merged gsurkov/vcp_break_support branch for usb uart bridge (WIP!!!) diff --git a/applications/external b/applications/external index f09acb4b3..97e22396a 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit f09acb4b3ae13a8a43f38a042483836776b37ebb +Subproject commit 97e22396acf6903f7583c004fd21512d46981787 From 17fde2779dbefadac6d17275adad445a762ace4c Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 27 Nov 2024 12:43:32 +0000 Subject: [PATCH 08/12] Oops --nobuild --- targets/f18/api_symbols.csv | 2 +- targets/f7/api_symbols.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/targets/f18/api_symbols.csv b/targets/f18/api_symbols.csv index 79610d0bb..c72569c64 100644 --- a/targets/f18/api_symbols.csv +++ b/targets/f18/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,78.2,, +Version,+,78.1,, Header,+,applications/services/bt/bt_service/bt.h,, Header,+,applications/services/bt/bt_service/bt_keys_storage.h,, Header,+,applications/services/cli/cli.h,, diff --git a/targets/f7/api_symbols.csv b/targets/f7/api_symbols.csv index f62649a6b..f5e79d7ee 100644 --- a/targets/f7/api_symbols.csv +++ b/targets/f7/api_symbols.csv @@ -1,5 +1,5 @@ entry,status,name,type,params -Version,+,78.2,, +Version,+,78.1,, Header,+,applications/drivers/subghz/cc1101_ext/cc1101_ext_interconnect.h,, Header,+,applications/main/archive/helpers/archive_helpers_ext.h,, Header,+,applications/main/subghz/subghz_fap.h,, From b912e93cc223097c79a6da86445a07b1bb22e76b Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 27 Nov 2024 13:07:40 +0000 Subject: [PATCH 09/12] Apps: Add Metroflip (by luu176) & Pinball0 (by rdefeo) --- CHANGELOG.md | 4 +++- applications/external | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ba9b75aa..170e04d5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ### Added: -- Nothing +- Apps: + - Games: Pinball0 (by @rdefeo) + - NFC: Metroflip (by @luu176) ### Updated: - Apps: diff --git a/applications/external b/applications/external index 97e22396a..033faf171 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit 97e22396acf6903f7583c004fd21512d46981787 +Subproject commit 033faf171c0e53602df08ac6dff1304f7db6b584 From 832f7a263f36b475fe5b4dfbad8667a24420718c Mon Sep 17 00:00:00 2001 From: Chonk_m <143907552+Davim09@users.noreply.github.com> Date: Wed, 27 Nov 2024 10:10:51 -0300 Subject: [PATCH 10/12] Desktop: Fixed Wardriving animation design (#311) * Delete assets/dolphin/external/L1_Wardriving_128x64 directory * Add files via upload * Update changelog * Format --------- Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com> --- CHANGELOG.md | 1 + .../external/L1_Wardriving_128x64/frame_0.png | Bin 599 -> 591 bytes .../external/L1_Wardriving_128x64/frame_1.png | Bin 611 -> 605 bytes .../external/L1_Wardriving_128x64/frame_2.png | Bin 626 -> 622 bytes .../external/L1_Wardriving_128x64/frame_3.png | Bin 636 -> 634 bytes .../external/L1_Wardriving_128x64/frame_4.png | Bin 603 -> 607 bytes .../external/L1_Wardriving_128x64/frame_5.png | Bin 612 -> 626 bytes .../external/L1_Wardriving_128x64/frame_6.png | Bin 631 -> 596 bytes .../external/L1_Wardriving_128x64/frame_7.png | Bin 600 -> 0 bytes .../external/L1_Wardriving_128x64/meta.txt | 12 ++++++------ 10 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 assets/dolphin/external/L1_Wardriving_128x64/frame_7.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 170e04d5e..9ae9b3e3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - UL: Fixed apps for firmware USB CDC callback changes (by @xMasterX) ### Fixed: +- Desktop: Fixed Wardriving animation design (by @Davim09) - OFW: GPIO: Merged gsurkov/vcp_break_support branch for usb uart bridge (WIP!!!) ### Removed: diff --git a/assets/dolphin/external/L1_Wardriving_128x64/frame_0.png b/assets/dolphin/external/L1_Wardriving_128x64/frame_0.png index 888a40b0dbba734b10a589e94632ee6f08f3a113..c06aa25623316c5ae5965a1f20c0bc3bbeb7adbd 100644 GIT binary patch delta 566 zcmV-60?GZ?1kVJJB!3o3L_t(|oYj)MPg4OH#ees++Kc$8E;10>!O?+{XtdYO$*?e) zD8|LOxHuUSu9I<*4vt1U8gU@}1C|gYi3@{+1K3M2p~2YRN|Ro=kK+KhJpKc}?VOzN zb#feWyo~>o=&^d7a2YY=oM_p@JA{pv(aM4Wo?#U&YfgC$e}Aqzs&(hWT#+p;q0!my zK#|SJbj3gK4~C=|qd1iuZ(hf;5GHeCtc2l#d-SqMQaqUYQbdx{0a274`$W^QD=Etb z$(AfSsz||315SR~UU0&(XAKNC4*mF0$3miDU{TG(;K$&59)M9P?1LAM)iWP+S_yQ0 z06k8@m;ss|fPeF98!WgFX;=XtwXcCua@q1rNYd>PY^B&@6i}VC0$7P^4OPejPSpTQ z2|RWJ;)m|a9l+#y72ZK#z1~&8k~%1acDJ;68L-fW*oR*i!Thv@8n>Kz|=Dm3JBE=7FbcFyzBMz#0IP zP#B({e*^F|mXfl91R$YGCzgV;-j4%JP^J?rqnuS6c}_!cd~dJOJV+VMSlVcA>QSb~ zY#QCN02t$wp8s{_MZ5L=wVefh$$E>GAY4GPq=t4rZqK(h_4{>!qyS~Y2>#5GPNTl0 zroOF*#V>9;)%%&}WA)61=qwa+MRp@kJL*VkMuVvR15Kevv-U70H~;_u07*qoM6N<$ Ef`GCLc>n+a delta 574 zcmV-E0>S;y1lI(RB!3=BL_t(|oYj;)PZVJkg`c^u?jU}QHc}9F3rh=1qR|~YD?>wN zq8J-vV`F7V7%O8VTUZ+1(uf7&54eOFNo*)AEWjOt2^);Nv$Dw!?93bsnC0Uic)N3Q z?tSk)Ie8s%yo~>X=(2j8a2YY=oM_p@KZNzB(agdDo?#U&Yky984S%jUs&?k0T#+p; zq0!mSK#|SJbR{?+42Gl_qd4UpZ(hf;2qtr4%){`(J-S&esXv(dQpA$d0a274yF}Bl zD=Etb$(AfWsz||315Uo#UUXLSrV4*mF0!y@8vU{Te_;K$&49)M9U?1LAM)v^F{ znhA6Q06k8@n12BpK7jLT8!WsJX;g*)wXT8Txoia? zsVZP8q0df8|Dn5b2Qc}5nRn1rw|f<^qy~zh)$tZD0~Wc^58&6usOhqX`A$ZQh^XU@ z3;~Ac1QUdK#pv!^z%a)Nsgt;z`wsB6Cn=HE!!vrKWq(;%0D5q#w97a*4?JCip#bgy zRtK1b!tnh38-S;MDJdyT01_&+`%+la`*DB?O0@gRC}ov;p3?}Nz~8Gk4pK&=FKsk7 z^(a$)HjQst2#oPb&;PpeFj_!;Npi6pcNdZbkG5nb$ zokl%L4L5yTkBXgis{1p~$Lg62@mVP3itI+7cGQ;ChzC(~PJS2v00%!vu?$YOv;Y7A M07*qoM6N<$f(khb00000 diff --git a/assets/dolphin/external/L1_Wardriving_128x64/frame_1.png b/assets/dolphin/external/L1_Wardriving_128x64/frame_1.png index d467d4aef5a4a6a0e2b93ce707b19f8eef17da19..838b68a99f5c0fb2e2f6c42025ccf4792d67a03d 100644 GIT binary patch delta 580 zcmV-K0=xa=1l4|q!v3oacT99nZrg@%gBjSb|s_i-HBn?C*mzwI2( z_c|O$94+HNAYL3Jlz?;i(#(#x^jJBfNGP-nImfo_;vPW1Wq-7?V1TDtK}(v|e#OI| zYmVyO*>JFTaS@HobaREWX_+p0XT8CY6k`OZn&XXYSQf%WPK=f@TqqsBERqxtroI%B zq;x)!TNz89~xLl6bvk?yBPc!e9wI_ zs)ar9+_6UHVSi35fvyLjM=2Q7K+^?qUTuK|_aF_c;Gyqnj20qkPh{za_cRPGfIvXI@{j-a<79=TR)l*Y?M)xwa;M zzb=pzpglqu!Jk>uDb$zL)VH;;*i9#UKl6O7oH`eshC;5$uIFh-9ZAh-5Ve2y$xrfH SrH&r}0000Zh`&*KHE7t z@AGkT@;c&p8ULSnF+eB*=jdXY4L<3za!ip>Xc=+_rtIM!LVv$yw6dU&r&&Qun$YdrJKX-8vjm&g%g|caxE_r9Yev=eq1gDzgjcZsI!bDDtmN8r?9o;OF6!*Kn z6p^H~PZVXxF3}Y1O3HFUvMGy>DpIhMfRk^w7YsP|)W=}`(2oxdEF=p07S&x0e)O;B zJ{Z-)K6vg}BY*QSrz=C^_hE?!T`zjda5}RHbNxBt+Ef-si z0BVp{0V`9hqbgazi8^2@fy+)n{Ghaa8!)+Um3Ponw|fP!qyY+{-6=0z1S~8;?7^>M z*ebD#xlTr#kg!z0JOmhJ#~UZ0-0|+b1q^eX0H5T1cz@9Lk%K>_H& zg~~2t+&J)b6^1;x3z!cu0fphYxi_0Dir$X_j8kDdRz@YO`FT!5 za6EUZo$UV1^RaU3Tyz==xgxusryXreYDWF2IfLKD YKRl&S@LFUS%m4rY07*qoM6N<$f>wJE&Hw-a diff --git a/assets/dolphin/external/L1_Wardriving_128x64/frame_2.png b/assets/dolphin/external/L1_Wardriving_128x64/frame_2.png index 3dd633bc153920fdb6a2319b55843601faaae4ea..a39d6d04a3f4d4fe7558036934882808b201f0fa 100644 GIT binary patch delta 226 zcmV<803HAG1nvZoBndT1L_t(|oUM|PElPi@@Af?TtOz!^fw7q3s=c zXmqw&b$gn`iQ5RU`+ElIOSHIo?u{sG^U7y>pSM1EC84mBi& cN$1r50Ay@pj=DKKUjP6A07*qoM6N<$f-6dG{{R30 delta 230 zcmVxP>3s6)(CHGF*P7uepB zhel_cMUF79$mqO(x+5XOFpA|KLAQ1VlgBVs2*%17JScT1OC+^B?L8NXq^v^>$n+z0 zq8Zqilox_@Qzq$FWMGcd^sOSsmP_U+@j-)% z!IaWqN@Fl3`KRsk!J-kM!$@vP>La!q`qE!C%a}pdfR_WDL+Div)x_`N0vm>k^|(hY zQZ#&i=B7BaCkKts*VDG;q#&d7?&+R{7{fSLz65!{9)+13MFjlG=Yg zJ1;~iDee(NGJQ@o2Q5iSDu}ja!lQ~9%yH_jl}>ixW1yVxDV})nN0R2dHAXMV1VC>^ z3(mk@?g2k-e_AC;F4j`CEn`)EpSla6hcOrmUO?FauwL$f@$cGR9OS`8yO)8rdZ|`X zO^KwEwq@3boZL8|B5@utIRNEJe2#xD047Gz@M+)AuHOWV9N;bNtJ%B=n5byEaR9sZ z-0C^N1X=QHF8mk`s#!KMj>U}v0YS*vFkr}Gd-&v9x!Z35)A8#OjRvQ_0)`9_yIinF zrXs-j8DJmI+ASuz)?Lsh47+d#Fdo1RWJZ>k7Xco%rO1{a0YpqwYfHYZrAdE)DQs$O zCD_Tdm;Px0mg^jNaINLiqifcnixW1w0bFrInvPm<>QHAb(<1i)ZL z3r^-P4}jmcKdp)+7i%fnma*!-Ptyg^;}{GjFQDoGSg&`$`1fru4vOHS-K)S_v(l)k zp+r(e+cN7zPGKBSnYaj;0)UDnJ|}+`023o<`E(!V*KY$x4)7lK)oxz~OjNeqIDp+| zVf6xFf;`1F7k-Tf^*oyx$KqCrfFNXS7%&vDJ$wqC!rga(>FM=|MuRio0YeUmT`pN8 zQxRbN9Iy}P?GBUN=r3p!hF!P^7!P0uawE&jivUl$Qe?}I03xPobS2-`(jyyvS>e%f*q#gIeD_Z0E5OL7x#VmDM@pEkJ0n8kPR2NPb|0?H2++= z1xDpf34lkA)qgS%bDBWM1JK*v-!86R15B=4;RWof+dT(ZQUit1ida4cSXhME zgRi|(v&cH;I;cfRI2xWA28H2fPFbMETMt{R&p8%r(q#kFTk;w$GpaAT` z$#RbguJl{D4#OVY0L%xNg2Kq+;xmAIv6Pe*BmfCj+OZUr^>PAWk}~aB8Re|%=hY6u z@!UPX(Qg@zSlVc8>P{wqE{(2Q0F3im4}TQpM!nkaXWL79mvxsbLAZosNxpVoZ7;So z{q1Riq(1;F$^ON39(>5gmm>PGpz!wxhPBMl`6}FVB8q Up)Zod5C8xG07*qoM6N<$f{ut1y8r+H delta 578 zcmV-I0=@m;1lt6VB!41FL_t(|oUN35{@`{(f8h@=UD3EDZ(I?Fo#L!aB z(Oh>n%!zDy8I87swuFNUNTBRJK(-?)ZlAxz}LsEgr2`JmfKQd~@ZAtFg> zAq>czgSe)kFDc7`WK$L$BvP=GfRj7h4UTN=Ndtp*uMpnXv5+Vrm*zYSz8A0OJ{Z-~ zUh~|sdgfzJD}RBm51>aW7}G%018`n$fd%&<4Xfaz_Ej+4GMm1OB;5+ZRt8#(0IHK# z0duL%p(U@n)@lE z8B6QU4L!`%m`S6X767As)U&^3c~QT=0uhv4Fx7-7y#;7}y!v$iRHO7VNAGy{Efxo_o%F zJ}hxO4F6lmPYTHiA-W1!J;p-pSDRhcHnH zqc#Q?%Dpp)B_-XgFGMUU>k9ocRxhq8IFOVVK)NXt_YxVH(?p(CI6Dk5(Cqr+nGb&? zX}XhR=$cFj;D2_AS@*;$9|Av}psI!>4{I*nl(DvgfXD;TlMDfP z3oGEE-Rr<|)M#y}rCd@&n=&i?t~~;%PF4Yo4WJ5nz^PflWC->Gl1Js0yMU1kyn}tU z+gAXS)-5j!VK=fDF9IekQ(5-l$56OcW*y^N+^G=~!hi4pV6bs~0_@1X_ZBcm{raRs z;n^>Mp#)?em#x9^6fi*v*oOL^G7QmV8P zDR4A51~868D^ZSpLHx nfl@)_H;ZdWElJI|duo3Ha7=g9?8@bH00000NkvXXu0mjf4w@0n delta 587 zcmV-R0<`_|1mpyeB!4SOL_t(|oUN2UXj4%b#eeTJ+SICzE;^JZh@gXmV^K73bdoNe z1g*HZxj2Xv`kchYc5oEUY#mA`x4a@^!NCrW)x1)npUWmsMw9^rX-<`hQzVc zow+b4vgKtoHrp8x*^Er5z2n}%B*hrRspRL4%UBk|WG;-CFkC3^O&dvy2d+;)~fR)5Pp%xMB04?y=)FlO*+xB$-6EwJELxt4|%@KEa_@S#(0Z>X(IQeB&} zm7xozF+era3ScE7P=zeu&^%x%LBMuEe5bf_9Wc3Wg_p3SZucBuNevW2D`M#sU||tr z55DzE%_3`<>!21P;b?ef7%)mW69kkxr5i5*!yv#X8Gj9reFlsIkb0bTMkW%#f&#Du zC(Au9akbyVH5m5bCSX3mBosy#7M=s#kENunAOT3I(vGE|tXG!+CMeU6l~K;BeqQYm z9M9eL8~v8ih^6($hVEwaXVd7K1;99O^yp_%Zq%#&xwgHi_gQzT5`>E=mgH;u_0~d5 zQ{SHzNJI)yCXC?69O*RLk<`$~FX2!po$7wgU)1W66VXv9j-R002ovPDHLkV1mO<6u|%h diff --git a/assets/dolphin/external/L1_Wardriving_128x64/frame_6.png b/assets/dolphin/external/L1_Wardriving_128x64/frame_6.png index b79bd23d7a95c5309d0338188e5c7b0cb0ecbc66..4fb2ae19158d02c89699beb69910d36c90b975c3 100644 GIT binary patch delta 571 zcmV-B0>u6I1k?nOB!3%8L_t(|oYj&&PZVJkg`fAb3It_G8!5;#F&1`O8WY3XSs5ED z3$fD9#=?TYSQ#53(UQcqGtw9;yIrD2Dy6WKk0BD-V1!v&!!Gl2EMRuQf8g!T&AI13 z@0;ty@iP9;Mw6xEjXs79xqn9XDR*V9Zq&1|qbFEG?=`Kw27jufPBV?^D0gHF3ut(% z(Q#xGGMx)f2c3``ukNZi@HlGc^GB5b(E|nX|I#|M6@Kuokp+B9euLKp)D!R z4augg1-LE-b^>rY*?x#YqYL`5hQV3~l-CvbAxYK4(3kgQu-^T#J7D3F6tp}H~VpReri<>gMk;-o5BT3gIu*F{AAH+iyQXepniylB0 z(lY~CN(J|a zW!Ml4LDnu)jivQ(S-cYUR;zy+t5yR_34F|&^L`k;MX{tWY5ZnuZd+qNpA|?7;6V$1 zO_PqJJv2#cX}l8kHqx=?YT@w6IXT!$ppZM_xXaN3NK$uD_7|A!N5f^AbS+B5CYtwU84g((C2aFFe0j0tD`8NPh6Df5RqyQ;Z zT8R`mni~Tc$Dx%d$H}XHr_Uw?%X1I?W@pQ2Cerujh92kgr?dFB34l>P==txm-1wk= zRJOICPgi++u@Zy}D3RoA@BQ}tt|ouIE|HeNA&g;XhHMJ$OKR%#*RVgzCfnbNVXyU_ skIz7*ROw7hFhq(owbJLjV8(07*qoM6N<$f)C9dZ2$lO diff --git a/assets/dolphin/external/L1_Wardriving_128x64/frame_7.png b/assets/dolphin/external/L1_Wardriving_128x64/frame_7.png deleted file mode 100644 index 1cd7bfdbae3b962f8a5fece04ce9323cc7a907eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 600 zcmV-e0;m0nP)e=voq2dD!V(P zMk=MSlaD15xnP7nIm5wzJQlEbz<=O$GkNBj-@KW;P8<*8zbG_WJYMLg-;g`evQN2_ z*6Kz*3)}fPi|B)Hrk48T&4@b*`RHbVhrH?JpXYG%c9Ou z20e^2+&)UylC;})eJWa#;&!1Zb4OR!80<+(b3w8pYXPo@FC7{h;NEvq~0VuKwQ3u^yygjFS&?&o+V2Yr&PQRF!~< z(uNFgsIn9JNYaf6Y@z7;eR!xs>I3F+*#pQzx~2h3X@Pv=d)*5+0aH1IKOwtnHZK8| zR7T3YfUSl%cOI~)JM;EtV7(O8yII1@j@Nx-ArXuHJ%Hg++6n4-jq z<{MxXEO-oDbiKm~U}3?zT56md+T$wMF<_Ei=n3EsU^RdxN1=Ci_9ei>Sklmh5`cse zwqq$7%oG6(GsJc*g@akEeWww~7hU<48Q_94tc&>|+bdIzrM2%_yc`v))xV7us{w-v ze9D@0ei*$&v81nQ{C0D8OQXM@7f1@=K?{CQk&dBVNvmnR92FbsXmh1-c;uY!Yb8*~ m6>;3*XaOXtI|y?pzl(oUnn=O)FQbqE0000 Date: Wed, 27 Nov 2024 14:11:09 +0100 Subject: [PATCH 11/12] feat(hid_ptt): support Gather (#304) * feat(hid_ptt): support Gather plus a few typo and style fixes... * Update changelog --------- Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com> --- CHANGELOG.md | 1 + applications/system/hid_app/views/hid_ptt.c | 58 +++++++++++++++++++-- 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ae9b3e3a..ffd765426 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Updated: - Apps: + - BT/USB Remote: Add PTT support for Gather (by @SapphicCode) - FlipLibrary: Added Wikipedia, dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek) - FlipSocial: Improved authentication (by @jblanked) - FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps (by @jblanked) diff --git a/applications/system/hid_app/views/hid_ptt.c b/applications/system/hid_app/views/hid_ptt.c index 59643abac..58599eb51 100644 --- a/applications/system/hid_app/views/hid_ptt.c +++ b/applications/system/hid_app/views/hid_ptt.c @@ -42,6 +42,7 @@ typedef struct { enum HidPushToTalkAppIndex { HidPushToTalkAppIndexDiscord, HidPushToTalkAppIndexFaceTime, + HidPushToTalkAppIndexGather, HidPushToTalkAppIndexGoogleMeet, HidPushToTalkAppIndexGoogleHangouts, HidPushToTalkAppIndexJamulus, @@ -308,7 +309,6 @@ static void hid_ptt_trigger_mute_jamulus(HidPushToTalk* hid_ptt) { } // webex - static void hid_ptt_trigger_camera_webex(HidPushToTalk* hid_ptt) { hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V); hid_hal_keyboard_release( @@ -325,6 +325,30 @@ static void hid_ptt_trigger_hand_linux_webex(HidPushToTalk* hid_ptt) { hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_RIGHT_SHIFT | HID_KEYBOARD_R); } +// Gather +static void hid_ptt_trigger_hand_gather(HidPushToTalk* hid_ptt) { + hid_hal_keyboard_press(hid_ptt->hid, HID_KEYBOARD_H); + hid_hal_keyboard_release(hid_ptt->hid, HID_KEYBOARD_H); +} +static void hid_ptt_trigger_camera_macos_gather(HidPushToTalk* hid_ptt) { + hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V); + hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V); +} +static void hid_ptt_trigger_mute_macos_gather(HidPushToTalk* hid_ptt) { + hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_A); + hid_hal_keyboard_release(hid_ptt->hid, KEY_MOD_LEFT_GUI | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_A); +} +static void hid_ptt_trigger_camera_linux_gather(HidPushToTalk* hid_ptt) { + hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V); + hid_hal_keyboard_release( + hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_V); +} +static void hid_ptt_trigger_mute_linux_gather(HidPushToTalk* hid_ptt) { + hid_hal_keyboard_press(hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_A); + hid_hal_keyboard_release( + hid_ptt->hid, KEY_MOD_LEFT_CTRL | KEY_MOD_LEFT_SHIFT | HID_KEYBOARD_A); +} + static void hid_ptt_menu_callback( void* context, uint32_t osIndex, @@ -359,6 +383,13 @@ static void hid_ptt_menu_callback( model->callback_start_ptt = hid_ptt_trigger_cmd_shift_m; model->callback_stop_ptt = hid_ptt_trigger_cmd_shift_m; break; + case HidPushToTalkAppIndexGather: + model->callback_trigger_mute = hid_ptt_trigger_mute_macos_gather; + model->callback_trigger_camera = hid_ptt_trigger_camera_macos_gather; + model->callback_trigger_hand = hid_ptt_trigger_hand_gather; + model->callback_start_ptt = hid_ptt_trigger_mute_macos_gather; + model->callback_stop_ptt = hid_ptt_trigger_mute_macos_gather; + break; case HidPushToTalkAppIndexGoogleHangouts: model->callback_trigger_mute = hid_ptt_trigger_mute_macos_hangouts; model->callback_trigger_camera = hid_ptt_trigger_camera_macos_hangouts; @@ -434,6 +465,13 @@ static void hid_ptt_menu_callback( model->callback_start_ptt = hid_ptt_start_ptt_linux_discord; model->callback_stop_ptt = hid_ptt_stop_ptt_linux_discord; break; + case HidPushToTalkAppIndexGather: + model->callback_trigger_mute = hid_ptt_trigger_mute_linux_gather; + model->callback_trigger_camera = hid_ptt_trigger_camera_linux_gather; + model->callback_trigger_hand = hid_ptt_trigger_hand_gather; + model->callback_start_ptt = hid_ptt_trigger_mute_linux_gather; + model->callback_stop_ptt = hid_ptt_trigger_mute_linux_gather; + break; case HidPushToTalkAppIndexGoogleHangouts: model->callback_trigger_mute = hid_ptt_trigger_mute_linux_hangouts; model->callback_trigger_camera = hid_ptt_trigger_camera_linux_hangouts; @@ -873,6 +911,20 @@ HidPushToTalk* hid_ptt_alloc(Hid* hid) { HidPushToTalkAppIndexFaceTime, hid_ptt_menu_callback, hid_ptt); + ptt_menu_add_item_to_list( + hid->hid_ptt_menu, + HidPushToTalkMacOS, + "Gather", + HidPushToTalkAppIndexGather, + hid_ptt_menu_callback, + hid_ptt); + ptt_menu_add_item_to_list( + hid->hid_ptt_menu, + HidPushToTalkLinux, + "Gather", + HidPushToTalkAppIndexGather, + hid_ptt_menu_callback, + hid_ptt); ptt_menu_add_item_to_list( hid->hid_ptt_menu, HidPushToTalkMacOS, @@ -932,14 +984,14 @@ HidPushToTalk* hid_ptt_alloc(Hid* hid) { ptt_menu_add_item_to_list( hid->hid_ptt_menu, HidPushToTalkMacOS, - "Slack Hubble", + "Slack Huddle", HidPushToTalkAppIndexSlackHubble, hid_ptt_menu_callback, hid_ptt); ptt_menu_add_item_to_list( hid->hid_ptt_menu, HidPushToTalkLinux, - "Slack Hubble", + "Slack Huddle", HidPushToTalkAppIndexSlackHubble, hid_ptt_menu_callback, hid_ptt); From 49d29f8ebfa3a40f9273e10ed830ea541012aea4 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Wed, 27 Nov 2024 13:11:47 +0000 Subject: [PATCH 12/12] ESP Flasher: Add c3 and c6 to s3 option (by jaylikesbunda) --- CHANGELOG.md | 1 + applications/external | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffd765426..c896911bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### Updated: - Apps: - BT/USB Remote: Add PTT support for Gather (by @SapphicCode) + - ESP Flasher: Add c3 and c6 to s3 option (by @jaylikesbunda) - FlipLibrary: Added Wikipedia, dog facts and random quotes, bug fixes (by @jblanked), connectivity and progress improvements (by @jamisonderek) - FlipSocial: Improved authentication (by @jblanked) - FlipStore: Many bugfixes, support ESP32 firmware downloads, allow deleting apps (by @jblanked) diff --git a/applications/external b/applications/external index 033faf171..1163b5839 160000 --- a/applications/external +++ b/applications/external @@ -1 +1 @@ -Subproject commit 033faf171c0e53602df08ac6dff1304f7db6b584 +Subproject commit 1163b5839883072526c029f9f636507b7f318f14