### Embed Video for Module Installation HTML Source: https://docs.flipper.net/zero/video-game-module/quick-start This HTML snippet embeds a video demonstrating the installation of the Video Game Module. It uses the video element with autoplay, muted, loop, and playsinline attributes for seamless playback. No external dependencies; inputs are the video source URL; outputs an embedded video player; limited to compatible browsers supporting HTML5 video. ```html ``` -------------------------------- ### Install udev Rules for qFlipper (Linux) Source: https://docs.flipper.net/zero/basics/firmware-update This command installs udev rules for qFlipper on Linux systems, allowing it to be used as a normal user. It requires executing the AppImage with the 'rules install' argument, optionally specifying a path for the rules directory. ```bash ./qFlipper-x86_64.AppImage rules install [/optional/path/to/rules/dir] ``` -------------------------------- ### Info Callout for Module Detection HTML Source: https://docs.flipper.net/zero/video-game-module/quick-start This HTML snippet renders an informational callout box for troubleshooting Video Game Module detection on Flipper Zero. It uses div elements with classes for styling. No dependencies; inputs are the text content; outputs a styled info message; limited to basic structure without additional CSS. ```html
If your Video Game Module isn’t detected, make sure that on your Flipper Zero in Main Menu -> Settings -> Expansion Modules, the Listen UART option is set to USART. The module won’t be detected if any other option is selected.
``` -------------------------------- ### Update Commands Source: https://docs.flipper.net/zero/development/cli Commands for installing updates, creating backups, and restoring from backups on Flipper Zero. ```APIDOC ## update install ### Description Verifies and installs an update package from the specified path. ### Command update install ### Parameters #### Arguments - **path** (string) - Required - Path to the .fuf update file ### Request Example update install /ext/update.fuf ### Response #### Success Response Update installed. #### Response Example Update verification and installation complete. ## update backup ### Description Creates a backup of internal storage to the specified tar file. ### Command update backup ### Parameters #### Arguments - **path** (string) - Required - Path for the backup tar file ### Request Example update backup /ext/backup.tar ### Response #### Success Response Backup created. #### Response Example Internal storage backed up. ## update restore ### Description Restores internal storage from the specified backup tar file. ### Command update restore ### Parameters #### Arguments - **path** (string) - Required - Path to the backup tar file ### Request Example update restore /ext/backup.tar ### Response #### Success Response Restore complete. #### Response Example Restored from backup. ``` -------------------------------- ### qFlipper Download Script (JavaScript) Source: https://docs.flipper.net/zero/qflipper This JavaScript code dynamically retrieves the latest qFlipper download links for macOS, Windows, and Linux based on the user's operating system. It updates the download button with appropriate links and versions. ```JavaScript (() => { const qFlipper = { version: '', links: { macOS: '', Windows: '', Linux: '' } } let os = 'Windows' if (navigator.userAgent.includes('Macintosh')) { os = 'macOS' } else if (navigator.userAgent.includes('Linux') && !navigator.userAgent.includes('Android')) { os = 'Linux' } else { os = 'Windows' } function findLatest (versions) { let max = 0; versions.forEach(e => { if (e.timestamp > max) { max = e.timestamp } }); return versions.find(e => e.timestamp === max) } fetch('https://update.flipperzero.one/qFlipper/directory.json').then((response) => { return response.json() }).then(data => { const release = data.channels.find(e => e.id === 'release') let max = 0 release.versions.forEach(e => { if (e.timestamp > max) { max = e.timestamp } }) const latest = findLatest(release.versions) qFlipper.version = latest.version qFlipper.links.macOS = latest.files.find(e => e.target === 'macos/amd64').url qFlipper.links.Windows = latest.files.find(e => e.target === 'windows/amd64' && e.type === 'installer').url qFlipper.links.Linux = latest.files.find(e => e.target === 'linux/amd64').url document.querySelector('[href=current]').innerHTML = 'Download qFlipperfor ' + os + '' document.querySelector('[href=current]').setAttribute('href', qFlipper.links[os]) document.querySelector('[href=macOS]').setAttribute('href', qFlipper.links.macOS) document.querySelector('[href=Windows]').setAttribute('href', qFlipper.links.Windows) document.querySelector('[href=Linux]').setAttribute('href', qFlipper.links.Linux) }) fetch('https://update.flipperzero.one/firmware/directory.json').then((response) => { return response.json() }).then(data => { const dev = data.channels.find(e => e.id === 'development') const rc = data.channels.find(e => e.id === 'release-candidate') const release = data.channels.find(e => e.id === 'release') let latest = findLatest(dev.versions) document.querySelector('[href=dev]').innerHTML = 'Dev Unstable ' + latest.version + '' document.querySelector('[href=dev]').setAttribute('href', latest.files.find(e => e.target === 'f7' && e.type === 'full_dfu').url) latest = findLatest(rc.versions) document.querySelector('[href=rc]').innerHTML = 'Release Candidate ' + latest.version + '' document.querySelector('[href=rc]').setAttribute('href', latest.files.find(e => e.target === 'f7' && e.type === 'full_dfu').url) latest = findLatest(release.versions) document.querySelector('[href=release]').innerHTML = 'Latest Release ' + latest.version + '' document.querySelector('[href=release]').setAttribute('href', latest.files.find(e => e.target === 'f7' && e.type === 'full_dfu').url) }) })(); ``` -------------------------------- ### System Control Commands Source: https://docs.flipper.net/zero/development/cli Commands for managing system debug and heap tracking in Flipper Zero. ```APIDOC ## sysctl debug ### Description Enables or disables system debug mode. ### Command sysctl debug <0/1> ### Parameters #### Arguments - **enable** (0/1) - Required - 1 to enable, 0 to disable ### Request Example sysctl debug 1 ### Response #### Success Response Debug mode toggled. #### Response Example System debug enabled. ## sysctl heap_track ### Description Enables or disables heap allocation tracking mode. ### Command sysctl heap_track ### Parameters #### Arguments - **mode** (none/main) - Required - 'main' to enable, 'none' to disable ### Request Example sysctl heap_track main ### Response #### Success Response Heap tracking toggled. #### Response Example Heap tracking enabled. ``` -------------------------------- ### Detect OS and fetch qFlipper download links Source: https://docs.flipper.net/zero/basics/firmware-update JavaScript snippet that detects the user's operating system and dynamically updates download links for qFlipper based on the latest version available from the Flipper Zero update server. ```JavaScript (() => { const qFlipper = { version: '', links: { macOS: '', Windows: '', Linux: '' } } let os = 'Windows' if (navigator.userAgent.includes('Macintosh')) { os = 'macOS' } else if (navigator.userAgent.includes('Linux') && !navigator.userAgent.includes('Android')) { os = 'Linux' } else { os = 'Windows' } function findLatest (versions) { let max = 0 versions.forEach(e => { if (e.timestamp > max) { max = e.timestamp } }) return versions.find(e => e.timestamp === max) } fetch('https://update.flipperzero.one/qFlipper/directory.json').then((response) => { return response.json() }).then(data => { const release = data.channels.find(e => e.id === 'release') let max = 0 release.versions.forEach(e => { if (e.timestamp > max) { max = e.timestamp } }) const latest = findLatest(release.versions) qFlipper.version = latest.version qFlipper.links.macOS = latest.files.find(e => e.target === 'macos/amd64').url qFlipper.links.Windows = latest.files.find(e => e.target === 'windows/amd64' && e.type === 'installer').url qFlipper.links.Linux = latest.files.find(e => e.target === 'linux/amd64').url document.querySelector('[href="current"]').innerHTML = 'Download qFlipperfor ' + os + '' document.querySelector('[href="current"]').setAttribute('href', qFlipper.links[os]) document.querySelector('[href="macOS"]').setAttribute('href', qFlipper.links.macOS) document.querySelector('[href="Windows"]').setAttribute('href', qFlipper.links.Windows) document.querySelector('[href="Linux"]').setAttribute('href', qFlipper.links.Linux) }) })() ``` -------------------------------- ### Create dynamic qFlipper download button with OS detection Source: https://docs.flipper.net/zero/basics/first-start HTML, CSS, and JavaScript code that renders a styled download button and uses client-side OS detection to fetch the latest qFlipper release from the Flipper update server. The script updates the button label and link according to the detected platform. Requires internet access and a modern browser. ```HTML/JavaScript \n
\n Download qFlipperfor macOS\n
\n ```