GithubHelp home page GithubHelp logo

venefa / flipperzero_stuff Goto Github PK

View Code? Open in Web Editor NEW

This project forked from theisolinearchip/flipperzero_stuff

0.0 0.0 0.0 37 KB

A bunch Flipper Zero apps and random tinkering

License: The Unlicense

C 100.00%

flipperzero_stuff's Introduction

A bunch Flipper Zero apps and random tinkering...

Some things Flipper Zero-related I've been working on (mostly standalone plugins and applications)

Apps

Under the /applications folder there's a (small) collection of different apps:

  • MultiConverter, a multi-unit converter written with an easy and expandable system for adding new units and conversion methods (it has it's own README file with more info)
  • Dec/Hex Converter, a decimal to hexadecimal (and vice versa) converter with "real-time" conversion and built-in keyboard (some pics here!). Updates on this one will be probably stopped since the MultiConverter covers this scenario (and lots more with more units!)
  • Conway's Game of Life, simple implementation on a full-screen 32 x 16 cell grid (video and pics here!)

Each app can be added as a plugin on a regular flipperzero firmware source:

  1. Copy the plugin folder (ex: /applications/game_of_life) to the main /applications one
  2. Modify the /applications/meta/application.fam main manifest and add the plugin entry in the proper section:
App(
    appid="basic_plugins",
    name="Basic applications for plug-in menu",
    apptype=FlipperAppType.METAPACKAGE,
    provides=[
        "music_player",
        "snake_game",
        "bt_hid",
        "game_of_life", // <<--- here's the new definition (use the appid from the app application.fam manifest)
    ],
)
  1. Compile the firmware and install

Firmware build

I usually use a standard updater_package build that creates an executable file I can push to my Flipper and run it as a new update:

$ ./fbt --with-updater COMPACT=1 DEBUG=0 VERBOSE=1 updater_package

(this requires all the proper dependencies, check the docs from the official repo for more info!)

Notes

  • The order option on the application.fam for each app sets the priority order on the menu list
  • Nope, currently it's not possible to "install apps" without reflashing the entire firmware with everything inside :(
  • My idea is to keep everything here up-to-date with the new firmware releases, so let me know if something doesn't work or anything related!
  • To work on a full flipperzero source folder while having my stuff in my own repo I like to create symlinks to the folders inside the /applications main dir:
~/flipper_zero/flipperzero-firmware/applications$ ln -s ~/flipper_zero/flipperzero_stuff/applications/dec_hex_converter/ dec_hex_converter
~/flipper_zero/flipperzero-firmware/applications$ ln -s ~/flipper_zero/flipperzero_stuff/applications/game_of_life/ game_of_life

and so on...

Links and references

  • Official firmware
  • Hello World Tutorial, I used this one as the starting point for my firsts projects. It may be a little bit outdated, but combined with any other "current" app (like the Snake minigame) it should be more than enough to start tinkering with the system.

Contact

You can reach me on twitter, instagram or by mail

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.