@@ -77,6 +77,13 @@ typedef struct _meshtastic_HamParameters {
7777 char short_name [6 ];
7878} meshtastic_HamParameters ;
7979
80+ /* Response envelope for node_remote_hardware_pins */
81+ typedef struct _meshtastic_NodeRemoteHardwarePinsResponse {
82+ /* Nodes and their respective remote hardware GPIO pins */
83+ pb_size_t node_remote_hardware_pins_count ;
84+ meshtastic_NodeRemoteHardwarePin node_remote_hardware_pins [16 ];
85+ } meshtastic_NodeRemoteHardwarePinsResponse ;
86+
8087/* This message is handled by the Admin module and is responsible for all settings/channel read/write operations.
8188 This message is used to do settings operations to both remote AND local nodes.
8289 (Prior to 1.2 these operations were done via special ToRadio operations) */
@@ -118,6 +125,10 @@ typedef struct _meshtastic_AdminMessage {
118125 meshtastic_DeviceConnectionStatus get_device_connection_status_response ;
119126 /* Setup a node for licensed amateur (ham) radio operation */
120127 meshtastic_HamParameters set_ham_mode ;
128+ /* Get the mesh's nodes with their available gpio pins for RemoteHardware module use */
129+ bool get_node_remote_hardware_pins_request ;
130+ /* Respond with the mesh's nodes with their available gpio pins for RemoteHardware module use */
131+ meshtastic_NodeRemoteHardwarePinsResponse get_node_remote_hardware_pins_response ;
121132 /* Set the owner for this node */
122133 meshtastic_User set_owner ;
123134 /* Set channels (using the new API).
@@ -175,17 +186,21 @@ extern "C" {
175186
176187
177188
189+
178190/* Initializer values for message structs */
179191#define meshtastic_AdminMessage_init_default {0, {0}}
180192#define meshtastic_HamParameters_init_default {"", 0, 0, ""}
193+ #define meshtastic_NodeRemoteHardwarePinsResponse_init_default {0, {meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default, meshtastic_NodeRemoteHardwarePin_init_default}}
181194#define meshtastic_AdminMessage_init_zero {0, {0}}
182195#define meshtastic_HamParameters_init_zero {"", 0, 0, ""}
196+ #define meshtastic_NodeRemoteHardwarePinsResponse_init_zero {0, {meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero, meshtastic_NodeRemoteHardwarePin_init_zero}}
183197
184198/* Field tags (for use in manual encoding/decoding) */
185199#define meshtastic_HamParameters_call_sign_tag 1
186200#define meshtastic_HamParameters_tx_power_tag 2
187201#define meshtastic_HamParameters_frequency_tag 3
188202#define meshtastic_HamParameters_short_name_tag 4
203+ #define meshtastic_NodeRemoteHardwarePinsResponse_node_remote_hardware_pins_tag 1
189204#define meshtastic_AdminMessage_get_channel_request_tag 1
190205#define meshtastic_AdminMessage_get_channel_response_tag 2
191206#define meshtastic_AdminMessage_get_owner_request_tag 3
@@ -203,6 +218,8 @@ extern "C" {
203218#define meshtastic_AdminMessage_get_device_connection_status_request_tag 16
204219#define meshtastic_AdminMessage_get_device_connection_status_response_tag 17
205220#define meshtastic_AdminMessage_set_ham_mode_tag 18
221+ #define meshtastic_AdminMessage_get_node_remote_hardware_pins_request_tag 19
222+ #define meshtastic_AdminMessage_get_node_remote_hardware_pins_response_tag 20
206223#define meshtastic_AdminMessage_set_owner_tag 32
207224#define meshtastic_AdminMessage_set_channel_tag 33
208225#define meshtastic_AdminMessage_set_config_tag 34
@@ -237,6 +254,8 @@ X(a, STATIC, ONEOF, STRING, (payload_variant,get_ringtone_response,get_ri
237254X(a, STATIC, ONEOF, BOOL, (payload_variant,get_device_connection_status_request,get_device_connection_status_request), 16) \
238255X(a, STATIC, ONEOF, MESSAGE, (payload_variant,get_device_connection_status_response,get_device_connection_status_response), 17) \
239256X(a, STATIC, ONEOF, MESSAGE, (payload_variant,set_ham_mode,set_ham_mode), 18) \
257+ X(a, STATIC, ONEOF, BOOL, (payload_variant,get_node_remote_hardware_pins_request,get_node_remote_hardware_pins_request), 19) \
258+ X(a, STATIC, ONEOF, MESSAGE, (payload_variant,get_node_remote_hardware_pins_response,get_node_remote_hardware_pins_response), 20) \
240259X(a, STATIC, ONEOF, MESSAGE, (payload_variant,set_owner,set_owner), 32) \
241260X(a, STATIC, ONEOF, MESSAGE, (payload_variant,set_channel,set_channel), 33) \
242261X(a, STATIC, ONEOF, MESSAGE, (payload_variant,set_config,set_config), 34) \
@@ -260,6 +279,7 @@ X(a, STATIC, ONEOF, INT32, (payload_variant,nodedb_reset,nodedb_reset),
260279#define meshtastic_AdminMessage_payload_variant_get_device_metadata_response_MSGTYPE meshtastic_DeviceMetadata
261280#define meshtastic_AdminMessage_payload_variant_get_device_connection_status_response_MSGTYPE meshtastic_DeviceConnectionStatus
262281#define meshtastic_AdminMessage_payload_variant_set_ham_mode_MSGTYPE meshtastic_HamParameters
282+ #define meshtastic_AdminMessage_payload_variant_get_node_remote_hardware_pins_response_MSGTYPE meshtastic_NodeRemoteHardwarePinsResponse
263283#define meshtastic_AdminMessage_payload_variant_set_owner_MSGTYPE meshtastic_User
264284#define meshtastic_AdminMessage_payload_variant_set_channel_MSGTYPE meshtastic_Channel
265285#define meshtastic_AdminMessage_payload_variant_set_config_MSGTYPE meshtastic_Config
@@ -273,16 +293,25 @@ X(a, STATIC, SINGULAR, STRING, short_name, 4)
273293#define meshtastic_HamParameters_CALLBACK NULL
274294#define meshtastic_HamParameters_DEFAULT NULL
275295
296+ #define meshtastic_NodeRemoteHardwarePinsResponse_FIELDLIST (X , a ) \
297+ X(a, STATIC, REPEATED, MESSAGE, node_remote_hardware_pins, 1)
298+ #define meshtastic_NodeRemoteHardwarePinsResponse_CALLBACK NULL
299+ #define meshtastic_NodeRemoteHardwarePinsResponse_DEFAULT NULL
300+ #define meshtastic_NodeRemoteHardwarePinsResponse_node_remote_hardware_pins_MSGTYPE meshtastic_NodeRemoteHardwarePin
301+
276302extern const pb_msgdesc_t meshtastic_AdminMessage_msg ;
277303extern const pb_msgdesc_t meshtastic_HamParameters_msg ;
304+ extern const pb_msgdesc_t meshtastic_NodeRemoteHardwarePinsResponse_msg ;
278305
279306/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
280307#define meshtastic_AdminMessage_fields &meshtastic_AdminMessage_msg
281308#define meshtastic_HamParameters_fields &meshtastic_HamParameters_msg
309+ #define meshtastic_NodeRemoteHardwarePinsResponse_fields &meshtastic_NodeRemoteHardwarePinsResponse_msg
282310
283311/* Maximum encoded size of messages (where known) */
284- #define meshtastic_AdminMessage_size 234
312+ #define meshtastic_AdminMessage_size 500
285313#define meshtastic_HamParameters_size 32
314+ #define meshtastic_NodeRemoteHardwarePinsResponse_size 496
286315
287316#ifdef __cplusplus
288317} /* extern "C" */
0 commit comments