diff --git a/.vscode/settings.json b/.vscode/settings.json index 81deca8f9..5957d463f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,5 +10,6 @@ }, "[powershell]": { "editor.defaultFormatter": "ms-vscode.powershell" - } + }, + "idf.currentSetup": "C:/Espressif/frameworks/esp-idf-v5.3.1/" } diff --git a/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h b/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h new file mode 100644 index 000000000..7304e8249 --- /dev/null +++ b/variants/esp32c3/diy/esp32c3_moonshine/pins_arduino.h @@ -0,0 +1,24 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#include + +static const uint8_t TX = 21; +static const uint8_t RX = 20; + +static const uint8_t SDA = 12; +static const uint8_t SCL = 13; + +static const uint8_t SS = 8; +static const uint8_t MOSI = 7; +static const uint8_t MISO = 6; +static const uint8_t SCK = 10; + +static const uint8_t A0 = 0; +static const uint8_t A1 = 1; +static const uint8_t A2 = 2; +static const uint8_t A3 = 3; +static const uint8_t A4 = 4; +static const uint8_t A5 = 5; + +#endif /* Pins_Arduino_h */ \ No newline at end of file diff --git a/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini b/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini new file mode 100644 index 000000000..0626c231b --- /dev/null +++ b/variants/esp32c3/diy/esp32c3_moonshine/platformio.ini @@ -0,0 +1,29 @@ +; ESP32 C3 Super Mini Development Board +; https://www.espboards.dev/esp32/esp32-c3-super-mini/ +[env:esp32c3_moonshine] + +extends = esp32c3_base +board = esp32-c3-devkitm-1 +board_level = pr +build_flags = + ${esp32c3_base.build_flags} + -D PRIVATE_HW + -I variants/esp32c3/diy/esp32c3_moonshine + -D ARDUINO_USB_MODE=1 + -D ARDUINO_USB_CDC_ON_BOOT=1 +monitor_speed = 115200 +upload_protocol = esptool +;upload_port = /dev/ttyUSB0 +upload_speed = 921600 + + +; ------------------- Flash 核心配置 ------------------- +; 1. Flash 容量(根据硬件实际值改,常见 4MB/8MB) +board_build.flash_size = 4MB +; 2. Flash 模式(ESP32-C3 推荐 dio) +board_build.flash_mode = dio +; 3. Flash 时钟频率(ESP32-C3 推荐 80MHz) +board_build.flash_freq = 80MHz + +; (可选)上传时的 Flash 配置(和上面保持一致即可) +board_upload.flash_size = 4MB diff --git a/variants/esp32c3/diy/esp32c3_moonshine/variant.h b/variants/esp32c3/diy/esp32c3_moonshine/variant.h new file mode 100644 index 000000000..b5bdfd198 --- /dev/null +++ b/variants/esp32c3/diy/esp32c3_moonshine/variant.h @@ -0,0 +1,63 @@ +#define BUTTON_PIN 9 + +#define HAS_SCREEN 0 + +#define HAS_I2C 0 +#define WIRE_INTERFACES_COUNT (0) +#define I2C_SDA 12 +#define I2C_SCL 13 + + +#define BATTERY_PIN 1 +#define ADC_CHANNEL ADC_CHANNEL_1 +#define ADC_MULTIPLIER 2.0f + +#define LED_PIN 0 // LED +#define LED_STATE_ON 1 // State when LED is lit + + +#define HAS_GPS 0 +#undef GPS_RX_PIN +#undef GPS_TX_PIN + +//#define E220_400M30S +//#define E220_400M33S +#define E22_400M33S + +#ifdef E220_400M30S +#define SETTING_MAX_POWER 30 +#define TX_GAIN_LORA 8 +#define SX126X_MAX_POWER 22 +#endif + +#ifdef E22_400M33S +#define SETTING_MAX_POWER 22 +#define NUM_PA_POINTS 1 +#define TX_GAIN_LORA 0 +#define SX126X_MAX_POWER 22 +//#define HAS_LORA_FEM 1 +#endif + +#define USE_LLCC68 +#define USE_SX1262 +#define USE_SX1268 + +#define LORA_SCK 10 +#define LORA_MISO 6 +#define LORA_MOSI 7 +#define LORA_CS 8 +#define LORA_DIO0 RADIOLIB_NC +#define LORA_RESET 5 +#define LORA_DIO1 3 +#define LORA_DIO2 RADIOLIB_NC +#define LORA_BUSY 4 + +#define SX126X_RXEN 2 +#define SX126X_CS LORA_CS +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_BUSY +#define SX126X_RESET LORA_RESET +#define SX126X_DIO2_AS_RF_SWITCH +#define SX126X_DIO3_TCXO_VOLTAGE 1.8 + +#define TCXO_OPTIONAL \ No newline at end of file