@@ -0,0 +1,59 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x16D0
|
||||
#define USB_PID 0x1178
|
||||
|
||||
#define LED_BUILTIN 13
|
||||
#define BUILTIN_LED LED_BUILTIN // backward compatibility
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 3;
|
||||
static const uint8_t SCL = 4;
|
||||
|
||||
static const uint8_t SS = 13;
|
||||
static const uint8_t MOSI = 40;
|
||||
static const uint8_t MISO = 41;
|
||||
static const uint8_t SCK = 39;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 8;
|
||||
static const uint8_t A3 = 9;
|
||||
static const uint8_t A4 = 5;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 14;
|
||||
static const uint8_t A7 = 7;
|
||||
static const uint8_t A8 = 15;
|
||||
static const uint8_t A9 = 33;
|
||||
static const uint8_t A10 = 27;
|
||||
static const uint8_t A11 = 12;
|
||||
static const uint8_t A12 = 13;
|
||||
static const uint8_t A13 = 14;
|
||||
static const uint8_t A14 = 15;
|
||||
static const uint8_t A15 = 16;
|
||||
static const uint8_t A16 = 17;
|
||||
static const uint8_t A17 = 18;
|
||||
static const uint8_t A18 = 19;
|
||||
static const uint8_t A19 = 20;
|
||||
|
||||
static const uint8_t T1 = 2;
|
||||
static const uint8_t T2 = 8;
|
||||
static const uint8_t T3 = 9;
|
||||
static const uint8_t T4 = 5;
|
||||
static const uint8_t T5 = 6;
|
||||
static const uint8_t T6 = 14;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 15;
|
||||
static const uint8_t T9 = 33;
|
||||
static const uint8_t T10 = 27;
|
||||
static const uint8_t T11 = 12;
|
||||
static const uint8_t T12 = 13;
|
||||
static const uint8_t T13 = 14;
|
||||
static const uint8_t T14 = 15;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
||||
@@ -0,0 +1,69 @@
|
||||
; platformio.ini for unphone meshtastic
|
||||
|
||||
[env:unphone]
|
||||
extends = esp32s3_base
|
||||
board = unphone
|
||||
board_build.partitions = partition-table-8MB.csv
|
||||
upload_speed = 921600
|
||||
monitor_speed = 115200
|
||||
monitor_filters = esp32_exception_decoder
|
||||
|
||||
build_flags =
|
||||
${esp32s3_base.build_flags}
|
||||
-D UNPHONE
|
||||
-I variants/esp32s3/unphone
|
||||
-D ARDUINO_USB_MODE=0
|
||||
-D UNPHONE_ACCEL=0
|
||||
-D UNPHONE_TOUCHS=0
|
||||
-D UNPHONE_SDCARD=0
|
||||
-D UNPHONE_UI0=0
|
||||
-D UNPHONE_LORA=0
|
||||
-D UNPHONE_FACTORY_MODE=0
|
||||
-D USE_SX127x
|
||||
-D SDCARD_CS=43
|
||||
|
||||
build_src_filter =
|
||||
${esp32s3_base.build_src_filter}
|
||||
+<../variants/esp32s3/unphone>
|
||||
|
||||
lib_deps = ${esp32s3_base.lib_deps}
|
||||
lovyan03/LovyanGFX@ 1.2.0
|
||||
https://gitlab.com/hamishcunningham/unphonelibrary#meshtastic@9.0.0
|
||||
adafruit/Adafruit NeoPixel @ ^1.12.0
|
||||
|
||||
|
||||
[env:unphone-tft]
|
||||
board_level = extra
|
||||
extends = env:unphone
|
||||
build_flags =
|
||||
${env:unphone.build_flags}
|
||||
-D CONFIG_DISABLE_HAL_LOCKS=1
|
||||
-D INPUTDRIVER_BUTTON_TYPE=21
|
||||
-D HAS_SCREEN=1
|
||||
-D HAS_TFT=1
|
||||
-D HAS_SDCARD
|
||||
-D SDCARD_CS=43
|
||||
-D DISPLAY_SET_RESOLUTION
|
||||
-D RAM_SIZE=6144
|
||||
-D LV_CACHE_DEF_SIZE=2097152
|
||||
-D LV_LVGL_H_INCLUDE_SIMPLE
|
||||
-D LV_CONF_INCLUDE_SIMPLE
|
||||
-D LV_COMP_CONF_INCLUDE_SIMPLE
|
||||
-D LV_BUILD_TEST=0
|
||||
-D LV_USE_SYSMON=0
|
||||
-D LV_USE_PROFILER=0
|
||||
-D LV_USE_PERF_MONITOR=0
|
||||
-D LV_USE_MEM_MONITOR=0
|
||||
-D LV_USE_LOG=0
|
||||
-D LGFX_SCREEN_WIDTH=320
|
||||
-D LGFX_SCREEN_HEIGHT=480
|
||||
-D DISPLAY_SIZE=320x480 ; portrait mode
|
||||
-D LGFX_DRIVER=LGFX_UNPHONE_V9
|
||||
-D GFX_DRIVER_INC=\"graphics/LGFX/LGFX_UNPHONE.h\"
|
||||
-D VIEW_320x240
|
||||
-D USE_PACKET_API
|
||||
-D MAP_FULL_REDRAW
|
||||
|
||||
lib_deps =
|
||||
${env:unphone.lib_deps}
|
||||
${device-ui_base.lib_deps}
|
||||
@@ -0,0 +1,21 @@
|
||||
// meshtastic/firmware/variants/unphone/variant.cpp
|
||||
|
||||
#include "unPhone.h"
|
||||
unPhone unphone = unPhone("meshtastic_unphone");
|
||||
|
||||
void initVariant()
|
||||
{
|
||||
unphone.begin(); // initialise hardware etc.
|
||||
unphone.store(unphone.buildTime);
|
||||
unphone.printWakeupReason(); // what woke us up? (stored, not printed :|)
|
||||
unphone.checkPowerSwitch(); // if power switch is off, shutdown
|
||||
unphone.backlight(false); // setup backlight and make sure its off
|
||||
unphone.expanderPower(true); // enable power to expander / hat / sheild
|
||||
|
||||
for (int i = 0; i < 3; i++) { // buzz a bit
|
||||
unphone.vibe(true);
|
||||
delay(150);
|
||||
unphone.vibe(false);
|
||||
delay(150);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
// meshtastic/firmware/variants/unphone/variant.h
|
||||
|
||||
#pragma once
|
||||
|
||||
#define SPI_SCK 39
|
||||
#define SPI_MOSI 40
|
||||
#define SPI_MISO 41
|
||||
|
||||
// We use the RFM95W LoRa module
|
||||
#define USE_RF95
|
||||
#define LORA_SCK SPI_SCK
|
||||
#define LORA_MOSI SPI_MOSI
|
||||
#define LORA_MISO SPI_MISO
|
||||
#define LORA_CS 44
|
||||
#define LORA_DIO0 10 // AKA LORA_IRQ
|
||||
#define LORA_RESET 42
|
||||
#define LORA_DIO1 11
|
||||
#define LORA_DIO2 RADIOLIB_NC // Not really used
|
||||
|
||||
// HX8357 TFT LCD
|
||||
#define HX8357_CS 48
|
||||
#define HX8357_RS 47 // AKA DC
|
||||
#define HX8357_RESET 46
|
||||
#define HX8357_SCK SPI_SCK
|
||||
#define HX8357_MOSI SPI_MOSI
|
||||
#define HX8357_MISO SPI_MISO
|
||||
#define HX8357_BUSY -1
|
||||
#define HX8357_SPI_HOST SPI2_HOST
|
||||
#define SPI_FREQUENCY 40000000
|
||||
#define SPI_READ_FREQUENCY 16000000
|
||||
#define TFT_HEIGHT 480
|
||||
#define TFT_WIDTH 320
|
||||
#define TFT_OFFSET_X 0
|
||||
#define TFT_OFFSET_Y 0
|
||||
#define TFT_OFFSET_ROTATION 6 // unPhone's screen wired unusually, 0 typical
|
||||
#define TFT_INVERT false
|
||||
#define SCREEN_ROTATE true
|
||||
#define SCREEN_TRANSITION_FRAMERATE 5
|
||||
|
||||
#define HAS_TOUCHSCREEN 1
|
||||
#define USE_XPT2046 1
|
||||
#define TOUCH_CS 38
|
||||
|
||||
#define USE_POWERSAVE
|
||||
#define SLEEP_TIME 180
|
||||
|
||||
#define HAS_GPS \
|
||||
0 // the unphone doesn't have a gps module by default (though
|
||||
// GPS featherwing -- https://www.adafruit.com/product/3133
|
||||
// -- can be added)
|
||||
#undef GPS_RX_PIN
|
||||
#undef GPS_TX_PIN
|
||||
|
||||
#define SD_SPI_FREQUENCY 25000000
|
||||
|
||||
#define LED_PIN 13 // the red part of the RGB LED
|
||||
#define LED_STATE_ON 0 // State when LED is lit
|
||||
|
||||
#define ALT_BUTTON_PIN 21 // Button 3 - square - top button in landscape mode
|
||||
#define BUTTON_PIN 0 // Circle button
|
||||
#define BUTTON_NEED_PULLUP // we do need a helping hand up
|
||||
#define CANCEL_BUTTON_PIN 45 // Button 1 - triangle - bottom button in landscape mode
|
||||
#define CANCEL_BUTTON_ACTIVE_LOW true
|
||||
#define CANCEL_BUTTON_ACTIVE_PULLUP true
|
||||
|
||||
#define I2C_SDA 3 // I2C pins for this board
|
||||
#define I2C_SCL 4
|
||||
|
||||
#define LSM6DS3_WAKE_THRESH 5 // higher values reduce the sensitivity of the wake threshold
|
||||
|
||||
// ratio of voltage divider = 3.20 (R1=100k, R2=220k)
|
||||
// #define ADC_MULTIPLIER 3.2
|
||||
|
||||
// #define BATTERY_PIN 13 // battery V measurement pin; vbat divider is here
|
||||
// #define ADC_CHANNEL ADC2_GPIO13_CHANNEL
|
||||
// #define BAT_MEASURE_ADC_UNIT 2
|
||||
Reference in New Issue
Block a user