MatthewKuKanich / FindMyFlipper

The FindMy Flipper app turns your FlipperZero into an AirTag or other tracking device, compatible with Apple AirTags and Samsung SmartTag and Tile Trackers. It uses the BLE beacon to broadcast, allowing users to clone existing tags, generate OpenHaystack key pairs for Apple's FindMy network, and customize beacon intervals and transmit power.
1.59k stars 51 forks source link

Precompiled "faps" and building only works on dev branches of flipper firmware | Missing Imports/extra_beacon.h #3

Closed ihrapsa closed 8 months ago

ihrapsa commented 8 months ago

If you try to build the fap it will cry for extra_beacon.h. I noticed that's only available in the dev branch targets. The precompiled faps give a similar error when running on release firmware: Missing Imports

Did not find this documented and I thought it would be useful if anyone else stumbles upon these issues.

Thanks for putting this together!

MatthewKuKanich commented 8 months ago

Thanks for reminding me, I added it to the instructions for other to see. Hopefully, release will receive the extra BLE beacon api soon. I'm leaving this open for anyone who runs into this to see

YupengLai4 commented 8 months ago

Hi! I'm still getting the Missing Imports error, do you think it could be because I upgraded straight from stable to dev?

screenshot of the error

jacksonattwood commented 8 months ago

That shouldn't be an issue. Try compiling the dev branch from CLI:

git clone  https://github.com/Flipper-XFW/Xtreme-Firmware.git --branch dev
cd Xtreme-Firmware/
./fbt flash_usb_full

(Note that I had the same issue as you. XFW seem to implement changes in the repo, but not create the equivalent release for it)

MatthewKuKanich commented 8 months ago

Hi! I'm still getting the Missing Imports error, do you think it could be because I upgraded straight from stable to dev?

screenshot of the error

First you need to update your flipper to the dev firmware. Delete the current .fap and replace it with the latest Xtreme fap in the Releases folder. Let me know if it still throws the error

YupengLai4 commented 8 months ago
git clone  https://github.com/Flipper-XFW/Xtreme-Firmware.git --branch dev
cd Xtreme-Firmware/
./fbt flash_usb_full

this worked! Thanks so much for the prompt response :)

Awlexegrecki commented 8 months ago
git clone  https://github.com/Flipper-XFW/Xtreme-Firmware.git --branch dev
cd Xtreme-Firmware/
./fbt flash_usb_full

I got this error:


File "C:\Users\<user>\Downloads\Xtreme-Firmware\applications\external\air_arkanoid\engine\scripts\sprite_builder.py", line 8, in <module>
from PIL import Image, ImageOps
ModuleNotFoundError: No module named 'PIL'
scons: *** [applications\external\air_arkanoid\assets] Error 1

** FBT ERRORS ** applications\external\air_arkanoid\assets: Error 1

jacksonattwood commented 8 months ago
 File "C:\Users\<user>\Downloads\Xtreme-Firmware\applications\external\air_arkanoid\engine\scripts\sprite_builder.py", line 8, in <module>
    from PIL import Image, ImageOps
ModuleNotFoundError: No module named 'PIL'
scons: *** [applications\external\air_arkanoid\assets] Error 1

********** FBT ERRORS **********
applications\external\air_arkanoid\assets: Error 1

Interesting. @Awlexegrecki Can you try deleting the "Xtreme-Firmware" folder, and repeat the commands.

Awlexegrecki commented 8 months ago

I received the same error @jacksonattwood . Should I try to download firmware from Unleashed?

MatthewKuKanich commented 8 months ago

I received the same error @jacksonattwood . Should I try to download firmware from Unleashed?

It should work if you re-clone Xtreme, then add the findmy source to Applications_user and build. Delete the firmware folder you have now to be safe

nortakales commented 8 months ago

Sort of related based on the issue title (seems like this should build against dev branch): I am building with fbt fap_dist against the dev branch of the official firmware and getting:

applications_user/FindMyFlipper/scenes/findmy_scene_config_mac.c:20:5: error: implicit declaration of function 'furi_hal_bt_reverse_mac_addr' [-Werror=implicit-function-declaration]
   20 |     furi_hal_bt_reverse_mac_addr(app->mac_buf);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
MatthewKuKanich commented 8 months ago

Sort of related based on the issue title (seems like this should build against dev branch): I am building with fbt fap_dist against the dev branch of the official firmware and getting:

applications_user/FindMyFlipper/scenes/findmy_scene_config_mac.c:20:5: error: implicit declaration of function 'furi_hal_bt_reverse_mac_addr' [-Werror=implicit-function-declaration]
   20 |     furi_hal_bt_reverse_mac_addr(app->mac_buf);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

Which firmware are you building for? This function is not available in OFW but is available in the other custom firmware. For OFW I wrote my own reverse mac function for the OFW build, its in the OFW branch so use that if compiling for OFW

nortakales commented 8 months ago

Sort of related based on the issue title (seems like this should build against dev branch): I am building with fbt fap_dist against the dev branch of the official firmware and getting:

applications_user/FindMyFlipper/scenes/findmy_scene_config_mac.c:20:5: error: implicit declaration of function 'furi_hal_bt_reverse_mac_addr' [-Werror=implicit-function-declaration]
   20 |     furi_hal_bt_reverse_mac_addr(app->mac_buf);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

Which firmware are you building for? This function is not available in OFW but is available in the other custom firmware. For OFW I wrote my own reverse mac function for the OFW build, its in the OFW branch so use that if compiling for OFW

I was building for OFW, didn't realize you had an OFW branch. That worked!

ihrapsa commented 8 months ago

This is weird. I'm on Unleashed fw on latest dev build. However, the latest precompiled app does not work. I also tried compiling it myself but it's giving me the same Missing Imports error when launching it. If I switch to the previous precompiled app it works as usual.

2024-03-10 16:49:01,158 [ERROR] Unexpected response: Load failed, /ext/apps/Bluetooth/findmy.fap: Update Firmware to use with this Application (MissingImports)
scons: *** [build/f7-firmware-C/site_scons/phony_launch] Error 3

********** FBT ERRORS **********
build/f7-firmware-C/site_scons/phony_launch: Error 3

Any idea what's going on? Thanks!

EDIT v2.5 works now

nortakales commented 8 months ago

Confirmed working on OFW release branch as of 0.99.1