| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #pragma once
- #include <stdbool.h>
- #include <stdint.h>
- #include <stddef.h>
- #include <lib/flipper_format/flipper_format.h>
- #include "furi.h"
- #include "furi_hal.h"
- #include <lib/subghz/types.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define WS_NO_ID 0xFFFFFFFF
- #define WS_NO_BATT 0xFF
- #define WS_NO_HUMIDITY 0xFF
- #define WS_NO_CHANNEL 0xFF
- #define WS_NO_BTN 0xFF
- #define WS_NO_TEMPERATURE -273.0f
- typedef struct WSBlockGeneric WSBlockGeneric;
- struct WSBlockGeneric {
- const char* protocol_name;
- uint64_t data;
- uint32_t id;
- uint8_t data_count_bit;
- uint8_t battery_low;
- uint8_t humidity;
- uint8_t channel;
- uint8_t btn;
- float temp;
- };
- /**
- * Get name preset.
- * @param preset_name name preset
- * @param preset_str Output name preset
- */
- void ws_block_generic_get_preset_name(const char* preset_name, FuriString* preset_str);
- /**
- * Serialize data WSBlockGeneric.
- * @param instance Pointer to a WSBlockGeneric instance
- * @param flipper_format Pointer to a FlipperFormat instance
- * @param preset The modulation on which the signal was received, SubGhzRadioPreset
- * @return true On success
- */
- bool ws_block_generic_serialize(
- WSBlockGeneric* instance,
- FlipperFormat* flipper_format,
- SubGhzRadioPreset* preset);
- /**
- * Deserialize data WSBlockGeneric.
- * @param instance Pointer to a WSBlockGeneric instance
- * @param flipper_format Pointer to a FlipperFormat instance
- * @return true On success
- */
- bool ws_block_generic_deserialize(WSBlockGeneric* instance, FlipperFormat* flipper_format);
- float ws_block_generic_fahrenheit_to_celsius(float fahrenheit);
- #ifdef __cplusplus
- }
- #endif
|