|
|
1 jaar geleden | |
|---|---|---|
| .. | ||
| .gitsubtree | 1 jaar geleden | |
| README.md | 2 jaren geleden | |
| application.fam | 1 jaar geleden | |
| atomicdiceroller.png | 2 jaren geleden | |
| flipper_atomicdiceroller.c | 1 jaar geleden | |
🎲☢ An atomic dice roller for the Flipper Zero ☢🎲
Geiger Counter application must work on your Flipper Zero to be able to use this application. You need the same geiger board and this board must be connected in the same way as described in the description of the Geiger Counter application.
Note: There is no test port compared to the Geiger Counter application, your absolutely need a geiger board to run this application.
This application generates random numbers by hashing timestamps from a 64 MHz 32-bit time clock (TIM2) from the MCU. Two hash methods have been implemented:
Dice rolls are produced by transforming hashes into 1 to 6 numbers. Output is balanced by ignoring out of scope values. Modulo-based methods are ugly because they are usually unbalanced.
It's possible to roll the dice without using a radioactive isotope. Air contains radon gas that is radioactive. Geiger board can detect descendants of radon gas that emit strong beta or gamma rays.
In the left corner, counts per second (cps) indicates the activity. In the right corner, availiable dice rolls are indicated. 64 rolls can be stored.
Assuming the toolchain is already installed, copy flipper_atomicdiceroller directory to applications_user
Plug your Flipper Zero and build the atomic dice roller:
./fbt launch_app APPSRC=applications_user/flipper_atomicdiceroller
The program will automatically be launched after compilation
Button assignments:
| button | function |
|---|---|
| Ok [short short] | Roll the dice |
| Left [long press] | Set CRC32 as hash method |
| Right [long press] | Set MD5 as hash method |
| Back [long press] | Exit |
If you don't want to build this application, just simply copy flipper_atomicdiceroller.fap on your Flipper Zero
Build has been made with official toolchain, API Mismatch error may appear if you are using custom firmware. You can bypass this error but the program may crash.