Files
ProtoPirate/protocols/protocol_items.h
T
0mega 62b31bfe95 More Memory optimizations and new protocols
- Split RX registries into more plugins: AM, AM VAG, FM, FM F4, and FM Honda1
- Add per-protocol TX plugins so emulation loads only the selected encoder
- Sub Decode (enabled by default) and Timing Tuner as plugins
- Max history increased to 20 signals
- Fix Sub Decode and simplified UI
- Add Check Saved setting ported from dexter_pester PR !
- Fix Fiat V1 decoder and add HITAG2 key TX support
- Add Renault V0, Fiat V2, Honda V2, Ford V3 (& US variant) Thanks Ash

Sorry this is a lot at once x)
2026-06-30 21:28:26 +02:00

58 lines
1.8 KiB
C

#pragma once
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
typedef enum {
ProtoPirateProtocolRegistryRouteAMDefault = 0,
ProtoPirateProtocolRegistryRouteAMVag,
ProtoPirateProtocolRegistryRouteFMDefault,
ProtoPirateProtocolRegistryRouteFMF4,
ProtoPirateProtocolRegistryRouteFMHonda1,
} ProtoPirateProtocolRegistryRoute;
typedef enum {
ProtoPirateProtocolCatalogRouteAMDefault = 0,
ProtoPirateProtocolCatalogRouteAMVag,
ProtoPirateProtocolCatalogRouteFMDefault,
ProtoPirateProtocolCatalogRouteFMF4,
ProtoPirateProtocolCatalogRouteFMHonda1,
ProtoPirateProtocolCatalogRouteByModulation,
} ProtoPirateProtocolCatalogRoutePolicy;
typedef struct {
const char* canonical_name;
ProtoPirateProtocolCatalogRoutePolicy route_policy;
const char* tx_key;
} ProtoPirateProtocolCatalogEntry;
const ProtoPirateProtocolCatalogEntry*
protopirate_protocol_catalog_find(const char* protocol_name);
const char* protopirate_protocol_catalog_canonical_name(const char* protocol_name);
bool protopirate_protocol_catalog_can_tx(const char* protocol_name);
const char* protopirate_protocol_catalog_tx_key(const char* protocol_name);
const char*
protopirate_protocol_catalog_display_name(const char* protocol_name, uint32_t protocol_type);
ProtoPirateProtocolRegistryRoute protopirate_protocol_catalog_get_route(
const char* preset_name,
uint32_t frequency,
const uint8_t* preset_data,
size_t preset_data_size,
const char* protocol_name);
ProtoPirateProtocolRegistryRoute protopirate_get_protocol_registry_route(
const char* preset_name,
uint32_t frequency,
const uint8_t* preset_data,
size_t preset_data_size,
const char* protocol_name);
const char*
protopirate_get_protocol_registry_route_name(ProtoPirateProtocolRegistryRoute route);