diff --git a/docs/README.md b/docs/README.md index c39234be..19bbedde 100644 --- a/docs/README.md +++ b/docs/README.md @@ -66,6 +66,8 @@ The link above will return older more stable releases. We would prefer if you jo If you'd like to help with development, the source code is [on github](https://github.com/meshtastic/Meshtastic-Android). +The app is also distributed for Amazon Fire devices via the Amazon appstore: [![Amazon appstore link](https://raw.githubusercontent.com/meshtastic/Meshtastic-device/master/images/amazon-fire-button.png)](https://www.amazon.com/Geeksville-Industries-Meshtastic/dp/B08CY9394Q) + ## Supported hardware We currently support two brands of radios. The [TTGO T-Beam](https://www.aliexpress.com/item/4001178678568.html) and the [Heltec LoRa 32](https://heltec.org/project/wifi-lora-32/). Most people should buy the T-Beam and a 18650 battery (total cost less than \$35). Also, the version of the T-Beam we link to is shipped with Meshtastic **preinstalled** by TTGO, so you don't have to install it yourself. diff --git a/docs/software/build-instructions.md b/docs/software/build-instructions.md index d3a63712..476a5060 100644 --- a/docs/software/build-instructions.md +++ b/docs/software/build-instructions.md @@ -5,7 +5,13 @@ in these instructions I describe use of their command line tool. 1. Purchase a suitable radio (see above) 2. Install [PlatformIO](https://platformio.org/platformio-ide) -3. Download this git repo and cd into it +3. Download this git repo and cd into it: + +``` +git clone https://github.com/meshtastic/Meshtastic-device.git +cd Meshtastic-device +``` + 4. Run `git submodule update --init --recursive` to pull in dependencies this project needs. 5. If you are outside the USA, run "export COUNTRY=EU865" (or whatever) to set the correct frequency range for your country. Options are provided for `EU433`, `EU865`, `CN`, `JP` and `US` (default). Pull-requests eagerly accepted for other countries. 6. Plug the radio into your USB port diff --git a/docs/software/nrf52-TODO.md b/docs/software/nrf52-TODO.md index 5cc4475f..0b0cfb6d 100644 --- a/docs/software/nrf52-TODO.md +++ b/docs/software/nrf52-TODO.md @@ -1,12 +1,14 @@ # NRF52 TODO -* Possibly switch from softdevice to Apachy Newt: https://github.com/espressif/esp-nimble -https://github.com/apache/mynewt-core - use nimble BLE on both ESP32 and NRF52 +- Possibly switch from softdevice to Apachy Newt: https://github.com/espressif/esp-nimble + https://github.com/apache/mynewt-core - use nimble BLE on both ESP32 and NRF52 ## RAK815 TODO: +- shrink soft device RAM usage +- get nrf52832 working again (currently OOM) - i2c gps comms not quite right - ble: AdafruitBluefruit::begin - adafruit_ble_task was assigned an invalid stack pointer. out of memory? - measure power draw diff --git a/platformio.ini b/platformio.ini index be9fcc5c..f3a4db2a 100644 --- a/platformio.ini +++ b/platformio.ini @@ -9,7 +9,7 @@ ; https://docs.platformio.org/page/projectconf.html [platformio] -default_envs = tbeam ; Note: the github actions CI test build can't yet build NRF52 targets +default_envs = tbeam [common] ; common is not currently used diff --git a/src/mesh/PhoneAPI.cpp b/src/mesh/PhoneAPI.cpp index 5e25e932..2e8800c1 100644 --- a/src/mesh/PhoneAPI.cpp +++ b/src/mesh/PhoneAPI.cpp @@ -1,9 +1,9 @@ #include "PhoneAPI.h" +#include "GPS.h" #include "MeshService.h" #include "NodeDB.h" #include "PowerFSM.h" #include "RadioInterface.h" -#include "GPS.h" #include "timing.h" #include @@ -80,7 +80,6 @@ void PhoneAPI::handleToRadio(const uint8_t *buf, size_t bufLength) } } - /** * Get the next packet we want to send to the phone, or NULL if no such packet is available. * @@ -96,7 +95,7 @@ void PhoneAPI::handleToRadio(const uint8_t *buf, size_t bufLength) size_t PhoneAPI::getFromRadio(uint8_t *buf) { if (!available()) { - DEBUG_MSG("getFromRadio, !available\n"); + // DEBUG_MSG("getFromRadio, !available\n"); return false; } else { DEBUG_MSG("getFromRadio, state=%d\n", state); diff --git a/src/mesh/SX1262Interface.cpp b/src/mesh/SX1262Interface.cpp index d951da9b..8edb7294 100644 --- a/src/mesh/SX1262Interface.cpp +++ b/src/mesh/SX1262Interface.cpp @@ -14,10 +14,12 @@ bool SX1262Interface::init() { RadioLibInterface::init(); -#ifdef SX1262_RXEN // set not rx or tx mode +#ifdef SX1262_RXEN // set not rx or tx mode + digitalWrite(SX1262_RXEN, LOW); // Set low before becoming an output pinMode(SX1262_RXEN, OUTPUT); #endif #ifdef SX1262_TXEN + digitalWrite(SX1262_TXEN, LOW); pinMode(SX1262_TXEN, OUTPUT); #endif diff --git a/variants/ppr/variant.h b/variants/ppr/variant.h index 1c2a2a90..bbdda306 100644 --- a/variants/ppr/variant.h +++ b/variants/ppr/variant.h @@ -128,7 +128,25 @@ static const uint8_t SCK = PIN_SPI_SCK; #define PIN_WIRE_SDA (32 + 2) #define PIN_WIRE_SCL (32) -#define GPS_I2C_ADDR FIXME +// CUSTOM GPIOs the SX1262 +#define SX1262_CS (10) +#define SX1262_DIO1 (20) +#define SX1262_DIO2 (26) +#define SX1262_BUSY (31) // Supposed to be P0.18 but because of reworks, now on P0.31 (18) +#define SX1262_RESET (17) +// #define SX1262_ANT_SW (32 + 10) +#define SX1262_RXEN (22) +#define SX1262_TXEN (24) +#define SX1262_E22 // Indicates this SX1262 is inside of an ebyte E22 module and special config should be done for that + +// ERC12864-10 LCD +#define ERC12864_CS (32 + 4) +#define ERC12864_RESET (32 + 6) +#define ERC12864_CD (32 + 9) + +// L80 GPS +#define L80_PPS (28) +#define L80_RESET (29) #ifdef __cplusplus }