# options for nanopb # https://jpa.kapsi.fi/nanopb/docs/reference.html#proto-file-options *macaddr max_size:6 fixed_length:true # macaddrs *id max_size:16 # node id strings *User.long_name max_size:40 *User.short_name max_size:5 *RouteDiscovery.route max_count:8 # FIXME, max out based on total Data size And do fragmentation and reassembly (for larger payloads) at the Android layer, not the esp32 layer. # note: this payload length is ONLY the bytes that are sent inside of the radiohead packet. The 16 byte header is outside of this envelope *Data.payload max_size:237 *UserPreferences.wifi_ssid max_size:33 *UserPreferences.wifi_password max_size:64 *UserPreferences.region max_size:6 *Channel.index int_size:8 # 256 bit or 128 bit psk key *ChannelSettings.psk max_size:32 *ChannelSettings.name max_size:12 *ChannelSettings.tx_power int_size:8 *ChannelSettings.bandwidth int_size:16 *ChannelSettings.coding_rate int_size:8 *ChannelSettings.channel_num int_size:8 *MyNodeInfo.firmware_version max_size:12 *MyNodeInfo.hw_model max_size:16 *MyNodeInfo.region max_size:12 # Note: the actual limit (because of header bytes) on the size of encrypted payloads is 251 bytes, but I use 256 # here because we might need to fill with zeros for padding to encryption block size (16 bytes per block) *MeshPacket.encrypted max_size:256 *MeshPacket.payloadVariant anonymous_oneof:true *MeshPacket.hop_limit int_size:8 *MeshPacket.channel int_size:8 *ToRadio.payloadVariant anonymous_oneof:true *FromRadio.payloadVariant anonymous_oneof:true *Routing.variant anonymous_oneof:true # Max of three ignored nodes for our testing *UserPreferences.ignore_incoming max_count:3 *LogRecord.message max_size:64 *LogRecord.source max_size:8 # MyMessage.name max_size:40 # or fixed_length or fixed_count, or max_count