From ee419f8b9bc57e387550dcf5dfac5ef21df10652 Mon Sep 17 00:00:00 2001 From: neilhao Date: Mon, 4 Apr 2022 18:16:19 +0800 Subject: [PATCH] add nano g1 (#1351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * add nano g1 * Update platformio.ini * Update configuration.h * Revert platformio.ini to previous state * Update configuration.h * Update platformio.ini Co-authored-by: Thomas Göttgens --- .gitmodules | 4 +- platformio.ini | 9 ++- proto | 2 +- src/configuration.h | 4 ++ src/mesh/generated/admin.pb.h | 60 ++++++---------- src/mesh/generated/cannedmessages.pb.c | 14 +--- src/mesh/generated/cannedmessages.pb.h | 95 ++++++-------------------- src/mesh/generated/deviceonly.pb.h | 23 ++----- src/mesh/generated/mesh.pb.h | 1 + src/mesh/generated/radioconfig.pb.h | 7 +- variants/nano-g1/platformio.ini | 8 +++ variants/nano-g1/variant.h | 30 ++++++++ 12 files changed, 100 insertions(+), 157 deletions(-) create mode 100644 variants/nano-g1/platformio.ini create mode 100644 variants/nano-g1/variant.h diff --git a/.gitmodules b/.gitmodules index 4f9bb6b77..f4e35ff4f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,7 @@ [submodule "proto"] path = proto url = https://github.com/meshtastic/Meshtastic-protobufs.git -[submodule "sdk-nrfxlib"] - path = sdk-nrfxlib - url = https://github.com/nrfconnect/sdk-nrfxlib.git + branch = 1.2-legacy [submodule "design"] path = design url = https://github.com/meshtastic/meshtastic-design.git diff --git a/platformio.ini b/platformio.ini index 45fd71d55..40ba8830e 100644 --- a/platformio.ini +++ b/platformio.ini @@ -23,8 +23,10 @@ default_envs = tbeam ;default_envs = t-echo ;default_envs = nrf52840dk-geeksville ;default_envs = native # lora-relay-v1 # nrf52840dk-geeksville # linux # or if you'd like to change the default to something like lora-relay-v1 put that here -;default_envs = rak4631 -;default_envs = rak4630 +;default_envs = rak4631_5005 +;default_envs = rak4631_5005_eink +;default_envs = rak4631_19003 +;default_envs = nano-g1 ;default_envs = meshtastic-diy-v1 ;default_envs = meshtastic-diy-v1.1 @@ -262,6 +264,3 @@ upload_protocol = jlink monitor_port = /dev/ttyUSB0 ; this board's serial chip can only run at 115200, not faster monitor_speed = 115200 - -# For experimenting with RAM sizes -# board_build.ldscript = linker/nrf52840_s140_sim832.ld diff --git a/proto b/proto index 2930129e8..c851209e0 160000 --- a/proto +++ b/proto @@ -1 +1 @@ -Subproject commit 2930129e8eac348c094bbedeb929d86efafc2b62 +Subproject commit c851209e0b504a73ea3d77366c904ad127ebdaee diff --git a/src/configuration.h b/src/configuration.h index 3831e1455..252da74dc 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -230,6 +230,10 @@ along with this program. If not, see . #define HW_VENDOR HardwareModel_T_ECHO +#elif defined(NANO_G1) + +#define HW_VENDOR HardwareModel_NANO_G1 + #elif NRF52_SERIES #define HW_VENDOR HardwareModel_NRF52_UNKNOWN diff --git a/src/mesh/generated/admin.pb.h b/src/mesh/generated/admin.pb.h index 77518b60f..92fc2bbd1 100644 --- a/src/mesh/generated/admin.pb.h +++ b/src/mesh/generated/admin.pb.h @@ -4,7 +4,6 @@ #ifndef PB_ADMIN_PB_H_INCLUDED #define PB_ADMIN_PB_H_INCLUDED #include -#include "cannedmessages.pb.h" #include "channel.pb.h" #include "mesh.pb.h" #include "radioconfig.pb.h" @@ -31,20 +30,17 @@ typedef struct _AdminMessage { bool exit_simulator; int32_t reboot_seconds; bool get_canned_message_plugin_part1_request; - CannedMessagePluginMessagePart1 get_canned_message_plugin_part1_response; + char get_canned_message_plugin_part1_response[201]; bool get_canned_message_plugin_part2_request; - CannedMessagePluginMessagePart2 get_canned_message_plugin_part2_response; + char get_canned_message_plugin_part2_response[201]; bool get_canned_message_plugin_part3_request; - CannedMessagePluginMessagePart3 get_canned_message_plugin_part3_response; + char get_canned_message_plugin_part3_response[201]; bool get_canned_message_plugin_part4_request; - CannedMessagePluginMessagePart4 get_canned_message_plugin_part4_response; - bool get_canned_message_plugin_part5_request; - CannedMessagePluginMessagePart5 get_canned_message_plugin_part5_response; - CannedMessagePluginMessagePart1 set_canned_message_plugin_part1; - CannedMessagePluginMessagePart2 set_canned_message_plugin_part2; - CannedMessagePluginMessagePart3 set_canned_message_plugin_part3; - CannedMessagePluginMessagePart4 set_canned_message_plugin_part4; - CannedMessagePluginMessagePart5 set_canned_message_plugin_part5; + char get_canned_message_plugin_part4_response[201]; + char set_canned_message_plugin_part1[201]; + char set_canned_message_plugin_part2[201]; + char set_canned_message_plugin_part3[201]; + char set_canned_message_plugin_part4[201]; int32_t shutdown_seconds; }; } AdminMessage; @@ -80,13 +76,10 @@ extern "C" { #define AdminMessage_get_canned_message_plugin_part3_response_tag 41 #define AdminMessage_get_canned_message_plugin_part4_request_tag 42 #define AdminMessage_get_canned_message_plugin_part4_response_tag 43 -#define AdminMessage_get_canned_message_plugin_part5_request_tag 44 -#define AdminMessage_get_canned_message_plugin_part5_response_tag 45 -#define AdminMessage_set_canned_message_plugin_part1_tag 46 -#define AdminMessage_set_canned_message_plugin_part2_tag 47 -#define AdminMessage_set_canned_message_plugin_part3_tag 48 -#define AdminMessage_set_canned_message_plugin_part4_tag 49 -#define AdminMessage_set_canned_message_plugin_part5_tag 50 +#define AdminMessage_set_canned_message_plugin_part1_tag 44 +#define AdminMessage_set_canned_message_plugin_part2_tag 45 +#define AdminMessage_set_canned_message_plugin_part3_tag 46 +#define AdminMessage_set_canned_message_plugin_part4_tag 47 #define AdminMessage_shutdown_seconds_tag 51 /* Struct field encoding specification for nanopb */ @@ -105,20 +98,17 @@ X(a, STATIC, ONEOF, BOOL, (variant,confirm_set_radio,confirm_set_radio) X(a, STATIC, ONEOF, BOOL, (variant,exit_simulator,exit_simulator), 34) \ X(a, STATIC, ONEOF, INT32, (variant,reboot_seconds,reboot_seconds), 35) \ X(a, STATIC, ONEOF, BOOL, (variant,get_canned_message_plugin_part1_request,get_canned_message_plugin_part1_request), 36) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,get_canned_message_plugin_part1_response,get_canned_message_plugin_part1_response), 37) \ +X(a, STATIC, ONEOF, STRING, (variant,get_canned_message_plugin_part1_response,get_canned_message_plugin_part1_response), 37) \ X(a, STATIC, ONEOF, BOOL, (variant,get_canned_message_plugin_part2_request,get_canned_message_plugin_part2_request), 38) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,get_canned_message_plugin_part2_response,get_canned_message_plugin_part2_response), 39) \ +X(a, STATIC, ONEOF, STRING, (variant,get_canned_message_plugin_part2_response,get_canned_message_plugin_part2_response), 39) \ X(a, STATIC, ONEOF, BOOL, (variant,get_canned_message_plugin_part3_request,get_canned_message_plugin_part3_request), 40) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,get_canned_message_plugin_part3_response,get_canned_message_plugin_part3_response), 41) \ +X(a, STATIC, ONEOF, STRING, (variant,get_canned_message_plugin_part3_response,get_canned_message_plugin_part3_response), 41) \ X(a, STATIC, ONEOF, BOOL, (variant,get_canned_message_plugin_part4_request,get_canned_message_plugin_part4_request), 42) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,get_canned_message_plugin_part4_response,get_canned_message_plugin_part4_response), 43) \ -X(a, STATIC, ONEOF, BOOL, (variant,get_canned_message_plugin_part5_request,get_canned_message_plugin_part5_request), 44) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,get_canned_message_plugin_part5_response,get_canned_message_plugin_part5_response), 45) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,set_canned_message_plugin_part1,set_canned_message_plugin_part1), 46) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,set_canned_message_plugin_part2,set_canned_message_plugin_part2), 47) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,set_canned_message_plugin_part3,set_canned_message_plugin_part3), 48) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,set_canned_message_plugin_part4,set_canned_message_plugin_part4), 49) \ -X(a, STATIC, ONEOF, MESSAGE, (variant,set_canned_message_plugin_part5,set_canned_message_plugin_part5), 50) \ +X(a, STATIC, ONEOF, STRING, (variant,get_canned_message_plugin_part4_response,get_canned_message_plugin_part4_response), 43) \ +X(a, STATIC, ONEOF, STRING, (variant,set_canned_message_plugin_part1,set_canned_message_plugin_part1), 44) \ +X(a, STATIC, ONEOF, STRING, (variant,set_canned_message_plugin_part2,set_canned_message_plugin_part2), 45) \ +X(a, STATIC, ONEOF, STRING, (variant,set_canned_message_plugin_part3,set_canned_message_plugin_part3), 46) \ +X(a, STATIC, ONEOF, STRING, (variant,set_canned_message_plugin_part4,set_canned_message_plugin_part4), 47) \ X(a, STATIC, ONEOF, INT32, (variant,shutdown_seconds,shutdown_seconds), 51) #define AdminMessage_CALLBACK NULL #define AdminMessage_DEFAULT NULL @@ -128,16 +118,6 @@ X(a, STATIC, ONEOF, INT32, (variant,shutdown_seconds,shutdown_seconds), #define AdminMessage_variant_get_radio_response_MSGTYPE RadioConfig #define AdminMessage_variant_get_channel_response_MSGTYPE Channel #define AdminMessage_variant_get_owner_response_MSGTYPE User -#define AdminMessage_variant_get_canned_message_plugin_part1_response_MSGTYPE CannedMessagePluginMessagePart1 -#define AdminMessage_variant_get_canned_message_plugin_part2_response_MSGTYPE CannedMessagePluginMessagePart2 -#define AdminMessage_variant_get_canned_message_plugin_part3_response_MSGTYPE CannedMessagePluginMessagePart3 -#define AdminMessage_variant_get_canned_message_plugin_part4_response_MSGTYPE CannedMessagePluginMessagePart4 -#define AdminMessage_variant_get_canned_message_plugin_part5_response_MSGTYPE CannedMessagePluginMessagePart5 -#define AdminMessage_variant_set_canned_message_plugin_part1_MSGTYPE CannedMessagePluginMessagePart1 -#define AdminMessage_variant_set_canned_message_plugin_part2_MSGTYPE CannedMessagePluginMessagePart2 -#define AdminMessage_variant_set_canned_message_plugin_part3_MSGTYPE CannedMessagePluginMessagePart3 -#define AdminMessage_variant_set_canned_message_plugin_part4_MSGTYPE CannedMessagePluginMessagePart4 -#define AdminMessage_variant_set_canned_message_plugin_part5_MSGTYPE CannedMessagePluginMessagePart5 extern const pb_msgdesc_t AdminMessage_msg; diff --git a/src/mesh/generated/cannedmessages.pb.c b/src/mesh/generated/cannedmessages.pb.c index 16563446e..e36eff981 100644 --- a/src/mesh/generated/cannedmessages.pb.c +++ b/src/mesh/generated/cannedmessages.pb.c @@ -6,19 +6,7 @@ #error Regenerate this file with the current version of nanopb generator. #endif -PB_BIND(CannedMessagePluginMessagePart1, CannedMessagePluginMessagePart1, AUTO) - - -PB_BIND(CannedMessagePluginMessagePart2, CannedMessagePluginMessagePart2, AUTO) - - -PB_BIND(CannedMessagePluginMessagePart3, CannedMessagePluginMessagePart3, AUTO) - - -PB_BIND(CannedMessagePluginMessagePart4, CannedMessagePluginMessagePart4, AUTO) - - -PB_BIND(CannedMessagePluginMessagePart5, CannedMessagePluginMessagePart5, AUTO) +PB_BIND(CannedMessagePluginConfig, CannedMessagePluginConfig, 2) diff --git a/src/mesh/generated/cannedmessages.pb.h b/src/mesh/generated/cannedmessages.pb.h index 0f1b0786e..ec8a42123 100644 --- a/src/mesh/generated/cannedmessages.pb.h +++ b/src/mesh/generated/cannedmessages.pb.h @@ -10,25 +10,12 @@ #endif /* Struct definitions */ -typedef struct _CannedMessagePluginMessagePart1 { - char text[200]; -} CannedMessagePluginMessagePart1; - -typedef struct _CannedMessagePluginMessagePart2 { - char text[200]; -} CannedMessagePluginMessagePart2; - -typedef struct _CannedMessagePluginMessagePart3 { - char text[200]; -} CannedMessagePluginMessagePart3; - -typedef struct _CannedMessagePluginMessagePart4 { - char text[200]; -} CannedMessagePluginMessagePart4; - -typedef struct _CannedMessagePluginMessagePart5 { - char text[200]; -} CannedMessagePluginMessagePart5; +typedef struct _CannedMessagePluginConfig { + char messagesPart1[201]; + char messagesPart2[201]; + char messagesPart3[201]; + char messagesPart4[201]; +} CannedMessagePluginConfig; #ifdef __cplusplus @@ -36,69 +23,31 @@ extern "C" { #endif /* Initializer values for message structs */ -#define CannedMessagePluginMessagePart1_init_default {""} -#define CannedMessagePluginMessagePart2_init_default {""} -#define CannedMessagePluginMessagePart3_init_default {""} -#define CannedMessagePluginMessagePart4_init_default {""} -#define CannedMessagePluginMessagePart5_init_default {""} -#define CannedMessagePluginMessagePart1_init_zero {""} -#define CannedMessagePluginMessagePart2_init_zero {""} -#define CannedMessagePluginMessagePart3_init_zero {""} -#define CannedMessagePluginMessagePart4_init_zero {""} -#define CannedMessagePluginMessagePart5_init_zero {""} +#define CannedMessagePluginConfig_init_default {"", "", "", ""} +#define CannedMessagePluginConfig_init_zero {"", "", "", ""} /* Field tags (for use in manual encoding/decoding) */ -#define CannedMessagePluginMessagePart1_text_tag 1 -#define CannedMessagePluginMessagePart2_text_tag 1 -#define CannedMessagePluginMessagePart3_text_tag 1 -#define CannedMessagePluginMessagePart4_text_tag 1 -#define CannedMessagePluginMessagePart5_text_tag 1 +#define CannedMessagePluginConfig_messagesPart1_tag 11 +#define CannedMessagePluginConfig_messagesPart2_tag 12 +#define CannedMessagePluginConfig_messagesPart3_tag 13 +#define CannedMessagePluginConfig_messagesPart4_tag 14 /* Struct field encoding specification for nanopb */ -#define CannedMessagePluginMessagePart1_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, text, 1) -#define CannedMessagePluginMessagePart1_CALLBACK NULL -#define CannedMessagePluginMessagePart1_DEFAULT NULL +#define CannedMessagePluginConfig_FIELDLIST(X, a) \ +X(a, STATIC, SINGULAR, STRING, messagesPart1, 11) \ +X(a, STATIC, SINGULAR, STRING, messagesPart2, 12) \ +X(a, STATIC, SINGULAR, STRING, messagesPart3, 13) \ +X(a, STATIC, SINGULAR, STRING, messagesPart4, 14) +#define CannedMessagePluginConfig_CALLBACK NULL +#define CannedMessagePluginConfig_DEFAULT NULL -#define CannedMessagePluginMessagePart2_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, text, 1) -#define CannedMessagePluginMessagePart2_CALLBACK NULL -#define CannedMessagePluginMessagePart2_DEFAULT NULL - -#define CannedMessagePluginMessagePart3_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, text, 1) -#define CannedMessagePluginMessagePart3_CALLBACK NULL -#define CannedMessagePluginMessagePart3_DEFAULT NULL - -#define CannedMessagePluginMessagePart4_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, text, 1) -#define CannedMessagePluginMessagePart4_CALLBACK NULL -#define CannedMessagePluginMessagePart4_DEFAULT NULL - -#define CannedMessagePluginMessagePart5_FIELDLIST(X, a) \ -X(a, STATIC, SINGULAR, STRING, text, 1) -#define CannedMessagePluginMessagePart5_CALLBACK NULL -#define CannedMessagePluginMessagePart5_DEFAULT NULL - -extern const pb_msgdesc_t CannedMessagePluginMessagePart1_msg; -extern const pb_msgdesc_t CannedMessagePluginMessagePart2_msg; -extern const pb_msgdesc_t CannedMessagePluginMessagePart3_msg; -extern const pb_msgdesc_t CannedMessagePluginMessagePart4_msg; -extern const pb_msgdesc_t CannedMessagePluginMessagePart5_msg; +extern const pb_msgdesc_t CannedMessagePluginConfig_msg; /* Defines for backwards compatibility with code written before nanopb-0.4.0 */ -#define CannedMessagePluginMessagePart1_fields &CannedMessagePluginMessagePart1_msg -#define CannedMessagePluginMessagePart2_fields &CannedMessagePluginMessagePart2_msg -#define CannedMessagePluginMessagePart3_fields &CannedMessagePluginMessagePart3_msg -#define CannedMessagePluginMessagePart4_fields &CannedMessagePluginMessagePart4_msg -#define CannedMessagePluginMessagePart5_fields &CannedMessagePluginMessagePart5_msg +#define CannedMessagePluginConfig_fields &CannedMessagePluginConfig_msg /* Maximum encoded size of messages (where known) */ -#define CannedMessagePluginMessagePart1_size 202 -#define CannedMessagePluginMessagePart2_size 202 -#define CannedMessagePluginMessagePart3_size 202 -#define CannedMessagePluginMessagePart4_size 202 -#define CannedMessagePluginMessagePart5_size 202 +#define CannedMessagePluginConfig_size 812 #ifdef __cplusplus } /* extern "C" */ diff --git a/src/mesh/generated/deviceonly.pb.h b/src/mesh/generated/deviceonly.pb.h index 22a7c95f3..8c28104a7 100644 --- a/src/mesh/generated/deviceonly.pb.h +++ b/src/mesh/generated/deviceonly.pb.h @@ -43,11 +43,6 @@ typedef struct _DeviceState { uint32_t version; bool no_save; bool did_gps_reset; - char canned_message_plugin_message_part1[200]; - char canned_message_plugin_message_part2[200]; - char canned_message_plugin_message_part3[200]; - char canned_message_plugin_message_part4[200]; - char canned_message_plugin_message_part5[200]; } DeviceState; @@ -58,11 +53,11 @@ extern "C" { /* Initializer values for message structs */ #define LegacyRadioConfig_init_default {false, LegacyRadioConfig_LegacyPreferences_init_default} #define LegacyRadioConfig_LegacyPreferences_init_default {_RegionCode_MIN} -#define DeviceState_init_default {false, LegacyRadioConfig_init_default, false, MyNodeInfo_init_default, false, User_init_default, 0, {NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default}, 0, {MeshPacket_init_default}, false, MeshPacket_init_default, 0, 0, 0, "", "", "", "", ""} +#define DeviceState_init_default {false, LegacyRadioConfig_init_default, false, MyNodeInfo_init_default, false, User_init_default, 0, {NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default, NodeInfo_init_default}, 0, {MeshPacket_init_default}, false, MeshPacket_init_default, 0, 0, 0} #define ChannelFile_init_default {0, {Channel_init_default, Channel_init_default, Channel_init_default, Channel_init_default, Channel_init_default, Channel_init_default, Channel_init_default, Channel_init_default}} #define LegacyRadioConfig_init_zero {false, LegacyRadioConfig_LegacyPreferences_init_zero} #define LegacyRadioConfig_LegacyPreferences_init_zero {_RegionCode_MIN} -#define DeviceState_init_zero {false, LegacyRadioConfig_init_zero, false, MyNodeInfo_init_zero, false, User_init_zero, 0, {NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero}, 0, {MeshPacket_init_zero}, false, MeshPacket_init_zero, 0, 0, 0, "", "", "", "", ""} +#define DeviceState_init_zero {false, LegacyRadioConfig_init_zero, false, MyNodeInfo_init_zero, false, User_init_zero, 0, {NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero, NodeInfo_init_zero}, 0, {MeshPacket_init_zero}, false, MeshPacket_init_zero, 0, 0, 0} #define ChannelFile_init_zero {0, {Channel_init_zero, Channel_init_zero, Channel_init_zero, Channel_init_zero, Channel_init_zero, Channel_init_zero, Channel_init_zero, Channel_init_zero}} /* Field tags (for use in manual encoding/decoding) */ @@ -78,11 +73,6 @@ extern "C" { #define DeviceState_version_tag 8 #define DeviceState_no_save_tag 9 #define DeviceState_did_gps_reset_tag 11 -#define DeviceState_canned_message_plugin_message_part1_tag 13 -#define DeviceState_canned_message_plugin_message_part2_tag 14 -#define DeviceState_canned_message_plugin_message_part3_tag 15 -#define DeviceState_canned_message_plugin_message_part4_tag 16 -#define DeviceState_canned_message_plugin_message_part5_tag 17 /* Struct field encoding specification for nanopb */ #define LegacyRadioConfig_FIELDLIST(X, a) \ @@ -105,12 +95,7 @@ X(a, STATIC, REPEATED, MESSAGE, receive_queue, 5) \ X(a, STATIC, OPTIONAL, MESSAGE, rx_text_message, 7) \ X(a, STATIC, SINGULAR, UINT32, version, 8) \ X(a, STATIC, SINGULAR, BOOL, no_save, 9) \ -X(a, STATIC, SINGULAR, BOOL, did_gps_reset, 11) \ -X(a, STATIC, SINGULAR, STRING, canned_message_plugin_message_part1, 13) \ -X(a, STATIC, SINGULAR, STRING, canned_message_plugin_message_part2, 14) \ -X(a, STATIC, SINGULAR, STRING, canned_message_plugin_message_part3, 15) \ -X(a, STATIC, SINGULAR, STRING, canned_message_plugin_message_part4, 16) \ -X(a, STATIC, SINGULAR, STRING, canned_message_plugin_message_part5, 17) +X(a, STATIC, SINGULAR, BOOL, did_gps_reset, 11) #define DeviceState_CALLBACK NULL #define DeviceState_DEFAULT NULL #define DeviceState_legacyRadio_MSGTYPE LegacyRadioConfig @@ -140,7 +125,7 @@ extern const pb_msgdesc_t ChannelFile_msg; /* Maximum encoded size of messages (where known) */ #define LegacyRadioConfig_size 4 #define LegacyRadioConfig_LegacyPreferences_size 2 -#define DeviceState_size 11014 +#define DeviceState_size 10002 #define ChannelFile_size 832 #ifdef __cplusplus diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index ffdad870f..1a4a4f153 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -33,6 +33,7 @@ typedef enum _HardwareModel { HardwareModel_ANDROID_SIM = 38, HardwareModel_DIY_V1 = 39, HardwareModel_RAK11200 = 40, + HardwareModel_NANO_G1 = 41, HardwareModel_PRIVATE_HW = 255 } HardwareModel; diff --git a/src/mesh/generated/radioconfig.pb.h b/src/mesh/generated/radioconfig.pb.h index 760d15e2b..731176cc8 100644 --- a/src/mesh/generated/radioconfig.pb.h +++ b/src/mesh/generated/radioconfig.pb.h @@ -98,7 +98,8 @@ typedef enum _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType { RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_DHT22 = 4, RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_BME280 = 5, RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_BME680 = 6, - RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MCP9808 = 7 + RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MCP9808 = 7, + RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_SHTC3 = 8 } RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType; /* Struct definitions */ @@ -225,8 +226,8 @@ typedef struct _RadioConfig { #define _InputEventChar_ARRAYSIZE ((InputEventChar)(InputEventChar_KEY_BACK+1)) #define _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MIN RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_DHT11 -#define _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MAX RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MCP9808 -#define _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_ARRAYSIZE ((RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType)(RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MCP9808+1)) +#define _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_MAX RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_SHTC3 +#define _RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_ARRAYSIZE ((RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType)(RadioConfig_UserPreferences_EnvironmentalMeasurementSensorType_SHTC3+1)) #ifdef __cplusplus diff --git a/variants/nano-g1/platformio.ini b/variants/nano-g1/platformio.ini new file mode 100644 index 000000000..a3107423e --- /dev/null +++ b/variants/nano-g1/platformio.ini @@ -0,0 +1,8 @@ +; The 1.0 release of the nano-g1 board +[env:nano-g1] +extends = esp32_base +board = ttgo-t-beam +lib_deps = + ${esp32_base.lib_deps} +build_flags = + ${esp32_base.build_flags} -D NANO_G1 -I variants/nano-g1 \ No newline at end of file diff --git a/variants/nano-g1/variant.h b/variants/nano-g1/variant.h new file mode 100644 index 000000000..0915013a0 --- /dev/null +++ b/variants/nano-g1/variant.h @@ -0,0 +1,30 @@ +// #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep + +#define I2C_SDA 21 +#define I2C_SCL 22 + +#define BUTTON_PIN 36 // The middle button GPIO on the Nano G1 +//#define BUTTON_PIN_ALT 13 // Alternate GPIO for an external button if needed. Does anyone use this? It is not documented anywhere. +#define EXT_NOTIFY_OUT 13 // Default pin to use for Ext Notify Module. + +// common pinout for their SX1262 vs RF95 modules - both can be enabled and we will probe at runtime for RF95 and if +// not found then probe for SX1262 +#define USE_RF95 +#define USE_SX1262 + +#define LORA_DIO0 26 // a No connect on the SX1262 module +#define LORA_RESET 23 +#define LORA_DIO1 33 // SX1262 IRQ +#define LORA_DIO2 32 // SX1262 BUSY +#define LORA_DIO3 // Not connected on PCB + +#ifdef USE_SX1262 +#define SX126X_CS RF95_NSS // FIXME - we really should define LORA_CS instead +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_DIO2 +#define SX126X_RESET LORA_RESET +#define SX126X_E22 // Not really an E22 +// Internally the module hooks the SX1262-DIO2 in to control the TX/RX switch (which is the default for the sx1262interface +// code) +#endif +