rolling_flaws_structs.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #pragma once
  2. #include <furi.h>
  3. #include <gui/modules/submenu.h>
  4. #include <gui/modules/widget.h>
  5. #include <gui/modules/variable_item_list.h>
  6. #include <gui/view_dispatcher.h>
  7. #include <notification/notification.h>
  8. #include "rolling_flaws_subghz_receive.h"
  9. typedef struct {
  10. uint8_t protocol_index;
  11. FuriString* custom_mf;
  12. uint8_t frequency_index;
  13. uint8_t replay_index; // allow replay attack?
  14. uint8_t window_next_index; // how many codes forward are acceptable?
  15. uint8_t window_future_index; // how many codes forward are considered future?
  16. uint8_t window_future_gap_index; // how far can two sequential future codes be?
  17. uint8_t fix_index; // SN+button
  18. uint32_t custom_fix; // Fix value if custom is selected.
  19. uint8_t sn_zero_index; // allow decoded 00 to wildcard SN.
  20. uint8_t sn_bits_index; // number of bits to compare. (custom fw only?)
  21. uint8_t count_zero_index; // allow count of 0 to be considered an open.
  22. uint32_t count; // 0 to 0xFFFF
  23. uint32_t future_count; // 0 to 0xFFFF, use 0xFFFFFFFF if cleared.
  24. bool opened;
  25. FuriString* key;
  26. FuriString* status;
  27. VariableItem* variable_item_protocol;
  28. VariableItem* variable_item_fix;
  29. } RollingFlawsModel;
  30. typedef struct {
  31. RollingFlawsModel* model;
  32. } RollingFlawsRefModel;
  33. typedef struct {
  34. NotificationApp* notifications;
  35. ViewDispatcher* view_dispatcher;
  36. Submenu* submenu;
  37. VariableItemList* variable_item_list_config;
  38. View* view_receive_signals;
  39. View* view_receive_sync;
  40. Widget* widget_about;
  41. RollingFlawsModel* model;
  42. RollingFlawsSubGhz* subghz;
  43. } RollingFlaws;