findmy_i.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include "findmy.h"
  3. #include "findmy_state.h"
  4. #include <furi_hal_bt.h>
  5. #include <extra_beacon.h>
  6. #include "findmy_icons.h"
  7. #include <toolbox/stream/file_stream.h>
  8. #include <toolbox/hex.h>
  9. #include <toolbox/path.h>
  10. #include <gui/gui.h>
  11. #include <storage/storage.h>
  12. #include <dialogs/dialogs.h>
  13. #include <gui/scene_manager.h>
  14. #include <gui/view_dispatcher.h>
  15. #include "views/findmy_main.h"
  16. #include <gui/modules/byte_input.h>
  17. #include <gui/modules/variable_item_list.h>
  18. #include <gui/modules/popup.h>
  19. #include "scenes/findmy_scene.h"
  20. #include "helpers/base64.h"
  21. struct FindMy {
  22. Gui* gui;
  23. Storage* storage;
  24. DialogsApp* dialogs;
  25. SceneManager* scene_manager;
  26. ViewDispatcher* view_dispatcher;
  27. FindMyMain* findmy_main;
  28. ByteInput* byte_input;
  29. VariableItemList* var_item_list;
  30. Popup* popup;
  31. uint8_t mac_buf[EXTRA_BEACON_MAC_ADDR_SIZE];
  32. uint8_t packet_buf[EXTRA_BEACON_MAX_DATA_SIZE];
  33. FindMyState state;
  34. };
  35. typedef enum {
  36. FindMyViewMain,
  37. FindMyViewByteInput,
  38. FindMyViewVarItemList,
  39. FindMyViewPopup,
  40. } FindMyView;
  41. enum FindMyType {
  42. FindMyTypeApple,
  43. FindMyTypeSamsung,
  44. };
  45. void findmy_change_broadcast_interval(FindMy* app, uint8_t value);
  46. void findmy_change_transmit_power(FindMy* app, uint8_t value);
  47. void findmy_toggle_beacon(FindMy* app);
  48. FindMyType findmy_data_get_type(uint8_t data[EXTRA_BEACON_MAX_DATA_SIZE]);